.. | .. |
---|
5 | 5 | # set -e |
---|
6 | 6 | |
---|
7 | 7 | devdummy="test-dummy0" |
---|
8 | | -ret=0 |
---|
9 | 8 | |
---|
10 | 9 | # Kselftest framework requirement - SKIP code is 4. |
---|
11 | 10 | ksft_skip=4 |
---|
.. | .. |
---|
66 | 65 | devbr="test-br0" |
---|
67 | 66 | vlandev="testbr-vlan1" |
---|
68 | 67 | |
---|
69 | | - ret=0 |
---|
| 68 | + local ret=0 |
---|
70 | 69 | ip link add name "$devbr" type bridge |
---|
71 | 70 | check_err $? |
---|
72 | 71 | |
---|
.. | .. |
---|
113 | 112 | rem=10.42.42.1 |
---|
114 | 113 | loc=10.0.0.1 |
---|
115 | 114 | |
---|
116 | | - ret=0 |
---|
| 115 | + local ret=0 |
---|
117 | 116 | ip tunnel add $gredev mode gre remote $rem local $loc ttl 1 |
---|
118 | 117 | check_err $? |
---|
119 | 118 | ip link set $gredev up |
---|
.. | .. |
---|
149 | 148 | kci_test_tc() |
---|
150 | 149 | { |
---|
151 | 150 | dev=lo |
---|
152 | | - ret=0 |
---|
| 151 | + local ret=0 |
---|
153 | 152 | |
---|
154 | 153 | tc qdisc add dev "$dev" root handle 1: htb |
---|
155 | 154 | check_err $? |
---|
.. | .. |
---|
184 | 183 | |
---|
185 | 184 | kci_test_polrouting() |
---|
186 | 185 | { |
---|
187 | | - ret=0 |
---|
| 186 | + local ret=0 |
---|
188 | 187 | ip rule add fwmark 1 lookup 100 |
---|
189 | 188 | check_err $? |
---|
190 | 189 | ip route add local 0.0.0.0/0 dev lo table 100 |
---|
.. | .. |
---|
205 | 204 | |
---|
206 | 205 | kci_test_route_get() |
---|
207 | 206 | { |
---|
208 | | - ret=0 |
---|
| 207 | + local hash_policy=$(sysctl -n net.ipv4.fib_multipath_hash_policy) |
---|
| 208 | + |
---|
| 209 | + local ret=0 |
---|
209 | 210 | |
---|
210 | 211 | ip route get 127.0.0.1 > /dev/null |
---|
211 | 212 | check_err $? |
---|
.. | .. |
---|
222 | 223 | ip addr add dev "$devdummy" 10.23.7.11/24 |
---|
223 | 224 | check_err $? |
---|
224 | 225 | ip route get 10.23.7.11 from 10.23.7.12 iif "$devdummy" > /dev/null |
---|
| 226 | + check_err $? |
---|
| 227 | + ip route add 10.23.8.0/24 \ |
---|
| 228 | + nexthop via 10.23.7.13 dev "$devdummy" \ |
---|
| 229 | + nexthop via 10.23.7.14 dev "$devdummy" |
---|
| 230 | + check_err $? |
---|
| 231 | + sysctl -wq net.ipv4.fib_multipath_hash_policy=0 |
---|
| 232 | + ip route get 10.23.8.11 > /dev/null |
---|
| 233 | + check_err $? |
---|
| 234 | + sysctl -wq net.ipv4.fib_multipath_hash_policy=1 |
---|
| 235 | + ip route get 10.23.8.11 > /dev/null |
---|
| 236 | + check_err $? |
---|
| 237 | + sysctl -wq net.ipv4.fib_multipath_hash_policy="$hash_policy" |
---|
| 238 | + ip route del 10.23.8.0/24 |
---|
225 | 239 | check_err $? |
---|
226 | 240 | ip addr del dev "$devdummy" 10.23.7.11/24 |
---|
227 | 241 | check_err $? |
---|
.. | .. |
---|
254 | 268 | echo "PASS: preferred_lft addresses have expired" |
---|
255 | 269 | } |
---|
256 | 270 | |
---|
| 271 | +kci_test_promote_secondaries() |
---|
| 272 | +{ |
---|
| 273 | + promote=$(sysctl -n net.ipv4.conf.$devdummy.promote_secondaries) |
---|
| 274 | + |
---|
| 275 | + sysctl -q net.ipv4.conf.$devdummy.promote_secondaries=1 |
---|
| 276 | + |
---|
| 277 | + for i in $(seq 2 254);do |
---|
| 278 | + IP="10.23.11.$i" |
---|
| 279 | + ip -f inet addr add $IP/16 brd + dev "$devdummy" |
---|
| 280 | + ifconfig "$devdummy" $IP netmask 255.255.0.0 |
---|
| 281 | + done |
---|
| 282 | + |
---|
| 283 | + ip addr flush dev "$devdummy" |
---|
| 284 | + |
---|
| 285 | + [ $promote -eq 0 ] && sysctl -q net.ipv4.conf.$devdummy.promote_secondaries=0 |
---|
| 286 | + |
---|
| 287 | + echo "PASS: promote_secondaries complete" |
---|
| 288 | +} |
---|
| 289 | + |
---|
257 | 290 | kci_test_addrlabel() |
---|
258 | 291 | { |
---|
259 | | - ret=0 |
---|
| 292 | + local ret=0 |
---|
260 | 293 | |
---|
261 | 294 | ip addrlabel add prefix dead::/64 dev lo label 1 |
---|
262 | 295 | check_err $? |
---|
.. | .. |
---|
296 | 329 | |
---|
297 | 330 | kci_test_ifalias() |
---|
298 | 331 | { |
---|
299 | | - ret=0 |
---|
| 332 | + local ret=0 |
---|
300 | 333 | namewant=$(uuidgen) |
---|
301 | 334 | syspathname="/sys/class/net/$devdummy/ifalias" |
---|
302 | 335 | |
---|
.. | .. |
---|
351 | 384 | kci_test_vrf() |
---|
352 | 385 | { |
---|
353 | 386 | vrfname="test-vrf" |
---|
354 | | - ret=0 |
---|
| 387 | + local ret=0 |
---|
355 | 388 | |
---|
356 | 389 | ip link show type vrf 2>/dev/null |
---|
357 | 390 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
391 | 424 | |
---|
392 | 425 | kci_test_encap_vxlan() |
---|
393 | 426 | { |
---|
394 | | - ret=0 |
---|
| 427 | + local ret=0 |
---|
395 | 428 | vxlan="test-vxlan0" |
---|
396 | 429 | vlan="test-vlan0" |
---|
397 | 430 | testns="$1" |
---|
398 | 431 | |
---|
399 | | - ip netns exec "$testns" ip link add "$vxlan" type vxlan id 42 group 239.1.1.1 \ |
---|
| 432 | + ip -netns "$testns" link add "$vxlan" type vxlan id 42 group 239.1.1.1 \ |
---|
400 | 433 | dev "$devdummy" dstport 4789 2>/dev/null |
---|
401 | 434 | if [ $? -ne 0 ]; then |
---|
402 | 435 | echo "FAIL: can't add vxlan interface, skipping test" |
---|
.. | .. |
---|
404 | 437 | fi |
---|
405 | 438 | check_err $? |
---|
406 | 439 | |
---|
407 | | - ip netns exec "$testns" ip addr add 10.2.11.49/24 dev "$vxlan" |
---|
| 440 | + ip -netns "$testns" addr add 10.2.11.49/24 dev "$vxlan" |
---|
408 | 441 | check_err $? |
---|
409 | 442 | |
---|
410 | | - ip netns exec "$testns" ip link set up dev "$vxlan" |
---|
| 443 | + ip -netns "$testns" link set up dev "$vxlan" |
---|
411 | 444 | check_err $? |
---|
412 | 445 | |
---|
413 | | - ip netns exec "$testns" ip link add link "$vxlan" name "$vlan" type vlan id 1 |
---|
| 446 | + ip -netns "$testns" link add link "$vxlan" name "$vlan" type vlan id 1 |
---|
414 | 447 | check_err $? |
---|
415 | 448 | |
---|
416 | | - ip netns exec "$testns" ip link del "$vxlan" |
---|
| 449 | + # changelink testcases |
---|
| 450 | + ip -netns "$testns" link set dev "$vxlan" type vxlan vni 43 2>/dev/null |
---|
| 451 | + check_fail $? |
---|
| 452 | + |
---|
| 453 | + ip -netns "$testns" link set dev "$vxlan" type vxlan group ffe5::5 dev "$devdummy" 2>/dev/null |
---|
| 454 | + check_fail $? |
---|
| 455 | + |
---|
| 456 | + ip -netns "$testns" link set dev "$vxlan" type vxlan ttl inherit 2>/dev/null |
---|
| 457 | + check_fail $? |
---|
| 458 | + |
---|
| 459 | + ip -netns "$testns" link set dev "$vxlan" type vxlan ttl 64 |
---|
| 460 | + check_err $? |
---|
| 461 | + |
---|
| 462 | + ip -netns "$testns" link set dev "$vxlan" type vxlan nolearning |
---|
| 463 | + check_err $? |
---|
| 464 | + |
---|
| 465 | + ip -netns "$testns" link set dev "$vxlan" type vxlan proxy 2>/dev/null |
---|
| 466 | + check_fail $? |
---|
| 467 | + |
---|
| 468 | + ip -netns "$testns" link set dev "$vxlan" type vxlan norsc 2>/dev/null |
---|
| 469 | + check_fail $? |
---|
| 470 | + |
---|
| 471 | + ip -netns "$testns" link set dev "$vxlan" type vxlan l2miss 2>/dev/null |
---|
| 472 | + check_fail $? |
---|
| 473 | + |
---|
| 474 | + ip -netns "$testns" link set dev "$vxlan" type vxlan l3miss 2>/dev/null |
---|
| 475 | + check_fail $? |
---|
| 476 | + |
---|
| 477 | + ip -netns "$testns" link set dev "$vxlan" type vxlan external 2>/dev/null |
---|
| 478 | + check_fail $? |
---|
| 479 | + |
---|
| 480 | + ip -netns "$testns" link set dev "$vxlan" type vxlan udpcsum 2>/dev/null |
---|
| 481 | + check_fail $? |
---|
| 482 | + |
---|
| 483 | + ip -netns "$testns" link set dev "$vxlan" type vxlan udp6zerocsumtx 2>/dev/null |
---|
| 484 | + check_fail $? |
---|
| 485 | + |
---|
| 486 | + ip -netns "$testns" link set dev "$vxlan" type vxlan udp6zerocsumrx 2>/dev/null |
---|
| 487 | + check_fail $? |
---|
| 488 | + |
---|
| 489 | + ip -netns "$testns" link set dev "$vxlan" type vxlan remcsumtx 2>/dev/null |
---|
| 490 | + check_fail $? |
---|
| 491 | + |
---|
| 492 | + ip -netns "$testns" link set dev "$vxlan" type vxlan remcsumrx 2>/dev/null |
---|
| 493 | + check_fail $? |
---|
| 494 | + |
---|
| 495 | + ip -netns "$testns" link set dev "$vxlan" type vxlan gbp 2>/dev/null |
---|
| 496 | + check_fail $? |
---|
| 497 | + |
---|
| 498 | + ip -netns "$testns" link set dev "$vxlan" type vxlan gpe 2>/dev/null |
---|
| 499 | + check_fail $? |
---|
| 500 | + |
---|
| 501 | + ip -netns "$testns" link del "$vxlan" |
---|
417 | 502 | check_err $? |
---|
418 | 503 | |
---|
419 | 504 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
425 | 510 | |
---|
426 | 511 | kci_test_encap_fou() |
---|
427 | 512 | { |
---|
428 | | - ret=0 |
---|
| 513 | + local ret=0 |
---|
429 | 514 | name="test-fou" |
---|
430 | 515 | testns="$1" |
---|
431 | 516 | |
---|
.. | .. |
---|
435 | 520 | return $ksft_skip |
---|
436 | 521 | fi |
---|
437 | 522 | |
---|
438 | | - ip netns exec "$testns" ip fou add port 7777 ipproto 47 2>/dev/null |
---|
| 523 | + if ! /sbin/modprobe -q -n fou; then |
---|
| 524 | + echo "SKIP: module fou is not found" |
---|
| 525 | + return $ksft_skip |
---|
| 526 | + fi |
---|
| 527 | + /sbin/modprobe -q fou |
---|
| 528 | + ip -netns "$testns" fou add port 7777 ipproto 47 2>/dev/null |
---|
439 | 529 | if [ $? -ne 0 ];then |
---|
440 | 530 | echo "FAIL: can't add fou port 7777, skipping test" |
---|
441 | 531 | return 1 |
---|
442 | 532 | fi |
---|
443 | 533 | |
---|
444 | | - ip netns exec "$testns" ip fou add port 8888 ipproto 4 |
---|
| 534 | + ip -netns "$testns" fou add port 8888 ipproto 4 |
---|
445 | 535 | check_err $? |
---|
446 | 536 | |
---|
447 | | - ip netns exec "$testns" ip fou del port 9999 2>/dev/null |
---|
| 537 | + ip -netns "$testns" fou del port 9999 2>/dev/null |
---|
448 | 538 | check_fail $? |
---|
449 | 539 | |
---|
450 | | - ip netns exec "$testns" ip fou del port 7777 |
---|
| 540 | + ip -netns "$testns" fou del port 7777 |
---|
451 | 541 | check_err $? |
---|
452 | 542 | |
---|
453 | 543 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
462 | 552 | kci_test_encap() |
---|
463 | 553 | { |
---|
464 | 554 | testns="testns" |
---|
465 | | - ret=0 |
---|
| 555 | + local ret=0 |
---|
466 | 556 | |
---|
467 | 557 | ip netns add "$testns" |
---|
468 | 558 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
470 | 560 | return $ksft_skip |
---|
471 | 561 | fi |
---|
472 | 562 | |
---|
473 | | - ip netns exec "$testns" ip link set lo up |
---|
| 563 | + ip -netns "$testns" link set lo up |
---|
474 | 564 | check_err $? |
---|
475 | 565 | |
---|
476 | | - ip netns exec "$testns" ip link add name "$devdummy" type dummy |
---|
| 566 | + ip -netns "$testns" link add name "$devdummy" type dummy |
---|
477 | 567 | check_err $? |
---|
478 | | - ip netns exec "$testns" ip link set "$devdummy" up |
---|
| 568 | + ip -netns "$testns" link set "$devdummy" up |
---|
479 | 569 | check_err $? |
---|
480 | 570 | |
---|
481 | 571 | kci_test_encap_vxlan "$testns" |
---|
| 572 | + check_err $? |
---|
482 | 573 | kci_test_encap_fou "$testns" |
---|
| 574 | + check_err $? |
---|
483 | 575 | |
---|
484 | 576 | ip netns del "$testns" |
---|
| 577 | + return $ret |
---|
485 | 578 | } |
---|
486 | 579 | |
---|
487 | 580 | kci_test_macsec() |
---|
488 | 581 | { |
---|
489 | 582 | msname="test_macsec0" |
---|
490 | | - ret=0 |
---|
| 583 | + local ret=0 |
---|
491 | 584 | |
---|
492 | 585 | ip macsec help 2>&1 | grep -q "^Usage: ip macsec" |
---|
493 | 586 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
545 | 638 | #------------------------------------------------------------------- |
---|
546 | 639 | kci_test_ipsec() |
---|
547 | 640 | { |
---|
548 | | - ret=0 |
---|
| 641 | + local ret=0 |
---|
549 | 642 | algo="aead rfc4106(gcm(aes)) 0x3132333435363738393031323334353664636261 128" |
---|
550 | 643 | srcip=192.168.123.1 |
---|
551 | 644 | dstip=192.168.123.2 |
---|
.. | .. |
---|
645 | 738 | #------------------------------------------------------------------- |
---|
646 | 739 | kci_test_ipsec_offload() |
---|
647 | 740 | { |
---|
648 | | - ret=0 |
---|
| 741 | + local ret=0 |
---|
649 | 742 | algo="aead rfc4106(gcm(aes)) 0x3132333435363738393031323334353664636261 128" |
---|
650 | 743 | srcip=192.168.123.3 |
---|
651 | 744 | dstip=192.168.123.4 |
---|
652 | | - dev=simx1 |
---|
653 | | - sysfsd=/sys/kernel/debug/netdevsim/$dev |
---|
| 745 | + sysfsd=/sys/kernel/debug/netdevsim/netdevsim0/ports/0/ |
---|
654 | 746 | sysfsf=$sysfsd/ipsec |
---|
| 747 | + sysfsnet=/sys/bus/netdevsim/devices/netdevsim0/net/ |
---|
| 748 | + probed=false |
---|
655 | 749 | |
---|
656 | 750 | # setup netdevsim since dummydev doesn't have offload support |
---|
657 | | - modprobe netdevsim |
---|
658 | | - check_err $? |
---|
659 | | - if [ $ret -ne 0 ]; then |
---|
660 | | - echo "FAIL: ipsec_offload can't load netdevsim" |
---|
661 | | - return 1 |
---|
| 751 | + if [ ! -w /sys/bus/netdevsim/new_device ] ; then |
---|
| 752 | + modprobe -q netdevsim |
---|
| 753 | + check_err $? |
---|
| 754 | + if [ $ret -ne 0 ]; then |
---|
| 755 | + echo "SKIP: ipsec_offload can't load netdevsim" |
---|
| 756 | + return $ksft_skip |
---|
| 757 | + fi |
---|
| 758 | + probed=true |
---|
662 | 759 | fi |
---|
663 | 760 | |
---|
664 | | - ip link add $dev type netdevsim |
---|
| 761 | + echo "0" > /sys/bus/netdevsim/new_device |
---|
| 762 | + while [ ! -d $sysfsnet ] ; do :; done |
---|
| 763 | + udevadm settle |
---|
| 764 | + dev=`ls $sysfsnet` |
---|
| 765 | + |
---|
665 | 766 | ip addr add $srcip dev $dev |
---|
666 | 767 | ip link set $dev up |
---|
667 | 768 | if [ ! -d $sysfsd ] ; then |
---|
.. | .. |
---|
681 | 782 | tmpl proto esp src $srcip dst $dstip spi 9 \ |
---|
682 | 783 | mode transport reqid 42 |
---|
683 | 784 | check_err $? |
---|
684 | | - ip x p add dir out src $dstip/24 dst $srcip/24 \ |
---|
| 785 | + ip x p add dir in src $dstip/24 dst $srcip/24 \ |
---|
685 | 786 | tmpl proto esp src $dstip dst $srcip spi 9 \ |
---|
686 | 787 | mode transport reqid 42 |
---|
687 | 788 | check_err $? |
---|
.. | .. |
---|
734 | 835 | fi |
---|
735 | 836 | |
---|
736 | 837 | # clean up any leftovers |
---|
737 | | - ip link del $dev |
---|
738 | | - rmmod netdevsim |
---|
| 838 | + echo 0 > /sys/bus/netdevsim/del_device |
---|
| 839 | + $probed && rmmod netdevsim |
---|
739 | 840 | |
---|
740 | 841 | if [ $ret -ne 0 ]; then |
---|
741 | 842 | echo "FAIL: ipsec_offload" |
---|
.. | .. |
---|
748 | 849 | { |
---|
749 | 850 | testns="testns" |
---|
750 | 851 | DEV_NS=gretap00 |
---|
751 | | - ret=0 |
---|
| 852 | + local ret=0 |
---|
752 | 853 | |
---|
753 | 854 | ip netns add "$testns" |
---|
754 | 855 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
764 | 865 | fi |
---|
765 | 866 | |
---|
766 | 867 | # test native tunnel |
---|
767 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type gretap seq \ |
---|
| 868 | + ip -netns "$testns" link add dev "$DEV_NS" type gretap seq \ |
---|
768 | 869 | key 102 local 172.16.1.100 remote 172.16.1.200 |
---|
769 | 870 | check_err $? |
---|
770 | 871 | |
---|
771 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 872 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
772 | 873 | check_err $? |
---|
773 | 874 | |
---|
774 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 875 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
775 | 876 | check_err $? |
---|
776 | 877 | |
---|
777 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 878 | + ip -netns "$testns" link del "$DEV_NS" |
---|
778 | 879 | check_err $? |
---|
779 | 880 | |
---|
780 | 881 | # test external mode |
---|
781 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type gretap external |
---|
| 882 | + ip -netns "$testns" link add dev "$DEV_NS" type gretap external |
---|
782 | 883 | check_err $? |
---|
783 | 884 | |
---|
784 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 885 | + ip -netns "$testns" link del "$DEV_NS" |
---|
785 | 886 | check_err $? |
---|
786 | 887 | |
---|
787 | 888 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
798 | 899 | { |
---|
799 | 900 | testns="testns" |
---|
800 | 901 | DEV_NS=ip6gretap00 |
---|
801 | | - ret=0 |
---|
| 902 | + local ret=0 |
---|
802 | 903 | |
---|
803 | 904 | ip netns add "$testns" |
---|
804 | 905 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
814 | 915 | fi |
---|
815 | 916 | |
---|
816 | 917 | # test native tunnel |
---|
817 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6gretap seq \ |
---|
| 918 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6gretap seq \ |
---|
818 | 919 | key 102 local fc00:100::1 remote fc00:100::2 |
---|
819 | 920 | check_err $? |
---|
820 | 921 | |
---|
821 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" fc00:200::1/96 |
---|
| 922 | + ip -netns "$testns" addr add dev "$DEV_NS" fc00:200::1/96 |
---|
822 | 923 | check_err $? |
---|
823 | 924 | |
---|
824 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 925 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
825 | 926 | check_err $? |
---|
826 | 927 | |
---|
827 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 928 | + ip -netns "$testns" link del "$DEV_NS" |
---|
828 | 929 | check_err $? |
---|
829 | 930 | |
---|
830 | 931 | # test external mode |
---|
831 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6gretap external |
---|
| 932 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6gretap external |
---|
832 | 933 | check_err $? |
---|
833 | 934 | |
---|
834 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 935 | + ip -netns "$testns" link del "$DEV_NS" |
---|
835 | 936 | check_err $? |
---|
836 | 937 | |
---|
837 | 938 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
848 | 949 | { |
---|
849 | 950 | testns="testns" |
---|
850 | 951 | DEV_NS=erspan00 |
---|
851 | | - ret=0 |
---|
| 952 | + local ret=0 |
---|
852 | 953 | |
---|
853 | 954 | ip link help erspan 2>&1 | grep -q "^Usage:" |
---|
854 | 955 | if [ $? -ne 0 ];then |
---|
.. | .. |
---|
863 | 964 | fi |
---|
864 | 965 | |
---|
865 | 966 | # test native tunnel erspan v1 |
---|
866 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \ |
---|
| 967 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \ |
---|
867 | 968 | key 102 local 172.16.1.100 remote 172.16.1.200 \ |
---|
868 | 969 | erspan_ver 1 erspan 488 |
---|
869 | 970 | check_err $? |
---|
870 | 971 | |
---|
871 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 972 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
872 | 973 | check_err $? |
---|
873 | 974 | |
---|
874 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 975 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
875 | 976 | check_err $? |
---|
876 | 977 | |
---|
877 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 978 | + ip -netns "$testns" link del "$DEV_NS" |
---|
878 | 979 | check_err $? |
---|
879 | 980 | |
---|
880 | 981 | # test native tunnel erspan v2 |
---|
881 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \ |
---|
| 982 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \ |
---|
882 | 983 | key 102 local 172.16.1.100 remote 172.16.1.200 \ |
---|
883 | 984 | erspan_ver 2 erspan_dir ingress erspan_hwid 7 |
---|
884 | 985 | check_err $? |
---|
885 | 986 | |
---|
886 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 987 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
887 | 988 | check_err $? |
---|
888 | 989 | |
---|
889 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 990 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
890 | 991 | check_err $? |
---|
891 | 992 | |
---|
892 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 993 | + ip -netns "$testns" link del "$DEV_NS" |
---|
893 | 994 | check_err $? |
---|
894 | 995 | |
---|
895 | 996 | # test external mode |
---|
896 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan external |
---|
| 997 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan external |
---|
897 | 998 | check_err $? |
---|
898 | 999 | |
---|
899 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1000 | + ip -netns "$testns" link del "$DEV_NS" |
---|
900 | 1001 | check_err $? |
---|
901 | 1002 | |
---|
902 | 1003 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
913 | 1014 | { |
---|
914 | 1015 | testns="testns" |
---|
915 | 1016 | DEV_NS=ip6erspan00 |
---|
916 | | - ret=0 |
---|
| 1017 | + local ret=0 |
---|
917 | 1018 | |
---|
918 | 1019 | ip link help ip6erspan 2>&1 | grep -q "^Usage:" |
---|
919 | 1020 | if [ $? -ne 0 ];then |
---|
.. | .. |
---|
928 | 1029 | fi |
---|
929 | 1030 | |
---|
930 | 1031 | # test native tunnel ip6erspan v1 |
---|
931 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \ |
---|
| 1032 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6erspan seq \ |
---|
932 | 1033 | key 102 local fc00:100::1 remote fc00:100::2 \ |
---|
933 | 1034 | erspan_ver 1 erspan 488 |
---|
934 | 1035 | check_err $? |
---|
935 | 1036 | |
---|
936 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 1037 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
937 | 1038 | check_err $? |
---|
938 | 1039 | |
---|
939 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 1040 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
940 | 1041 | check_err $? |
---|
941 | 1042 | |
---|
942 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1043 | + ip -netns "$testns" link del "$DEV_NS" |
---|
943 | 1044 | check_err $? |
---|
944 | 1045 | |
---|
945 | 1046 | # test native tunnel ip6erspan v2 |
---|
946 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \ |
---|
| 1047 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6erspan seq \ |
---|
947 | 1048 | key 102 local fc00:100::1 remote fc00:100::2 \ |
---|
948 | 1049 | erspan_ver 2 erspan_dir ingress erspan_hwid 7 |
---|
949 | 1050 | check_err $? |
---|
950 | 1051 | |
---|
951 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 1052 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
952 | 1053 | check_err $? |
---|
953 | 1054 | |
---|
954 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 1055 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
955 | 1056 | check_err $? |
---|
956 | 1057 | |
---|
957 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1058 | + ip -netns "$testns" link del "$DEV_NS" |
---|
958 | 1059 | check_err $? |
---|
959 | 1060 | |
---|
960 | 1061 | # test external mode |
---|
961 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" \ |
---|
| 1062 | + ip -netns "$testns" link add dev "$DEV_NS" \ |
---|
962 | 1063 | type ip6erspan external |
---|
963 | 1064 | check_err $? |
---|
964 | 1065 | |
---|
965 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1066 | + ip -netns "$testns" link del "$DEV_NS" |
---|
966 | 1067 | check_err $? |
---|
967 | 1068 | |
---|
968 | 1069 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
975 | 1076 | ip netns del "$testns" |
---|
976 | 1077 | } |
---|
977 | 1078 | |
---|
| 1079 | +kci_test_fdb_get() |
---|
| 1080 | +{ |
---|
| 1081 | + IP="ip -netns testns" |
---|
| 1082 | + BRIDGE="bridge -netns testns" |
---|
| 1083 | + brdev="test-br0" |
---|
| 1084 | + vxlandev="vxlan10" |
---|
| 1085 | + test_mac=de:ad:be:ef:13:37 |
---|
| 1086 | + localip="10.0.2.2" |
---|
| 1087 | + dstip="10.0.2.3" |
---|
| 1088 | + local ret=0 |
---|
| 1089 | + |
---|
| 1090 | + bridge fdb help 2>&1 |grep -q 'bridge fdb get' |
---|
| 1091 | + if [ $? -ne 0 ];then |
---|
| 1092 | + echo "SKIP: fdb get tests: iproute2 too old" |
---|
| 1093 | + return $ksft_skip |
---|
| 1094 | + fi |
---|
| 1095 | + |
---|
| 1096 | + ip netns add testns |
---|
| 1097 | + if [ $? -ne 0 ]; then |
---|
| 1098 | + echo "SKIP fdb get tests: cannot add net namespace $testns" |
---|
| 1099 | + return $ksft_skip |
---|
| 1100 | + fi |
---|
| 1101 | + |
---|
| 1102 | + $IP link add "$vxlandev" type vxlan id 10 local $localip \ |
---|
| 1103 | + dstport 4789 2>/dev/null |
---|
| 1104 | + check_err $? |
---|
| 1105 | + $IP link add name "$brdev" type bridge &>/dev/null |
---|
| 1106 | + check_err $? |
---|
| 1107 | + $IP link set dev "$vxlandev" master "$brdev" &>/dev/null |
---|
| 1108 | + check_err $? |
---|
| 1109 | + $BRIDGE fdb add $test_mac dev "$vxlandev" master &>/dev/null |
---|
| 1110 | + check_err $? |
---|
| 1111 | + $BRIDGE fdb add $test_mac dev "$vxlandev" dst $dstip self &>/dev/null |
---|
| 1112 | + check_err $? |
---|
| 1113 | + |
---|
| 1114 | + $BRIDGE fdb get $test_mac brport "$vxlandev" 2>/dev/null | grep -q "dev $vxlandev master $brdev" |
---|
| 1115 | + check_err $? |
---|
| 1116 | + $BRIDGE fdb get $test_mac br "$brdev" 2>/dev/null | grep -q "dev $vxlandev master $brdev" |
---|
| 1117 | + check_err $? |
---|
| 1118 | + $BRIDGE fdb get $test_mac dev "$vxlandev" self 2>/dev/null | grep -q "dev $vxlandev dst $dstip" |
---|
| 1119 | + check_err $? |
---|
| 1120 | + |
---|
| 1121 | + ip netns del testns &>/dev/null |
---|
| 1122 | + |
---|
| 1123 | + if [ $ret -ne 0 ]; then |
---|
| 1124 | + echo "FAIL: bridge fdb get" |
---|
| 1125 | + return 1 |
---|
| 1126 | + fi |
---|
| 1127 | + |
---|
| 1128 | + echo "PASS: bridge fdb get" |
---|
| 1129 | +} |
---|
| 1130 | + |
---|
| 1131 | +kci_test_neigh_get() |
---|
| 1132 | +{ |
---|
| 1133 | + dstmac=de:ad:be:ef:13:37 |
---|
| 1134 | + dstip=10.0.2.4 |
---|
| 1135 | + dstip6=dead::2 |
---|
| 1136 | + local ret=0 |
---|
| 1137 | + |
---|
| 1138 | + ip neigh help 2>&1 |grep -q 'ip neigh get' |
---|
| 1139 | + if [ $? -ne 0 ];then |
---|
| 1140 | + echo "SKIP: fdb get tests: iproute2 too old" |
---|
| 1141 | + return $ksft_skip |
---|
| 1142 | + fi |
---|
| 1143 | + |
---|
| 1144 | + # ipv4 |
---|
| 1145 | + ip neigh add $dstip lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1146 | + check_err $? |
---|
| 1147 | + ip neigh get $dstip dev "$devdummy" 2> /dev/null | grep -q "$dstmac" |
---|
| 1148 | + check_err $? |
---|
| 1149 | + ip neigh del $dstip lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1150 | + check_err $? |
---|
| 1151 | + |
---|
| 1152 | + # ipv4 proxy |
---|
| 1153 | + ip neigh add proxy $dstip dev "$devdummy" > /dev/null |
---|
| 1154 | + check_err $? |
---|
| 1155 | + ip neigh get proxy $dstip dev "$devdummy" 2>/dev/null | grep -q "$dstip" |
---|
| 1156 | + check_err $? |
---|
| 1157 | + ip neigh del proxy $dstip dev "$devdummy" > /dev/null |
---|
| 1158 | + check_err $? |
---|
| 1159 | + |
---|
| 1160 | + # ipv6 |
---|
| 1161 | + ip neigh add $dstip6 lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1162 | + check_err $? |
---|
| 1163 | + ip neigh get $dstip6 dev "$devdummy" 2> /dev/null | grep -q "$dstmac" |
---|
| 1164 | + check_err $? |
---|
| 1165 | + ip neigh del $dstip6 lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1166 | + check_err $? |
---|
| 1167 | + |
---|
| 1168 | + # ipv6 proxy |
---|
| 1169 | + ip neigh add proxy $dstip6 dev "$devdummy" > /dev/null |
---|
| 1170 | + check_err $? |
---|
| 1171 | + ip neigh get proxy $dstip6 dev "$devdummy" 2>/dev/null | grep -q "$dstip6" |
---|
| 1172 | + check_err $? |
---|
| 1173 | + ip neigh del proxy $dstip6 dev "$devdummy" > /dev/null |
---|
| 1174 | + check_err $? |
---|
| 1175 | + |
---|
| 1176 | + if [ $ret -ne 0 ];then |
---|
| 1177 | + echo "FAIL: neigh get" |
---|
| 1178 | + return 1 |
---|
| 1179 | + fi |
---|
| 1180 | + |
---|
| 1181 | + echo "PASS: neigh get" |
---|
| 1182 | +} |
---|
| 1183 | + |
---|
| 1184 | +kci_test_bridge_parent_id() |
---|
| 1185 | +{ |
---|
| 1186 | + local ret=0 |
---|
| 1187 | + sysfsnet=/sys/bus/netdevsim/devices/netdevsim |
---|
| 1188 | + probed=false |
---|
| 1189 | + |
---|
| 1190 | + if [ ! -w /sys/bus/netdevsim/new_device ] ; then |
---|
| 1191 | + modprobe -q netdevsim |
---|
| 1192 | + check_err $? |
---|
| 1193 | + if [ $ret -ne 0 ]; then |
---|
| 1194 | + echo "SKIP: bridge_parent_id can't load netdevsim" |
---|
| 1195 | + return $ksft_skip |
---|
| 1196 | + fi |
---|
| 1197 | + probed=true |
---|
| 1198 | + fi |
---|
| 1199 | + |
---|
| 1200 | + echo "10 1" > /sys/bus/netdevsim/new_device |
---|
| 1201 | + while [ ! -d ${sysfsnet}10 ] ; do :; done |
---|
| 1202 | + echo "20 1" > /sys/bus/netdevsim/new_device |
---|
| 1203 | + while [ ! -d ${sysfsnet}20 ] ; do :; done |
---|
| 1204 | + udevadm settle |
---|
| 1205 | + dev10=`ls ${sysfsnet}10/net/` |
---|
| 1206 | + dev20=`ls ${sysfsnet}20/net/` |
---|
| 1207 | + |
---|
| 1208 | + ip link add name test-bond0 type bond mode 802.3ad |
---|
| 1209 | + ip link set dev $dev10 master test-bond0 |
---|
| 1210 | + ip link set dev $dev20 master test-bond0 |
---|
| 1211 | + ip link add name test-br0 type bridge |
---|
| 1212 | + ip link set dev test-bond0 master test-br0 |
---|
| 1213 | + check_err $? |
---|
| 1214 | + |
---|
| 1215 | + # clean up any leftovers |
---|
| 1216 | + ip link del dev test-br0 |
---|
| 1217 | + ip link del dev test-bond0 |
---|
| 1218 | + echo 20 > /sys/bus/netdevsim/del_device |
---|
| 1219 | + echo 10 > /sys/bus/netdevsim/del_device |
---|
| 1220 | + $probed && rmmod netdevsim |
---|
| 1221 | + |
---|
| 1222 | + if [ $ret -ne 0 ]; then |
---|
| 1223 | + echo "FAIL: bridge_parent_id" |
---|
| 1224 | + return 1 |
---|
| 1225 | + fi |
---|
| 1226 | + echo "PASS: bridge_parent_id" |
---|
| 1227 | +} |
---|
| 1228 | + |
---|
978 | 1229 | kci_test_rtnl() |
---|
979 | 1230 | { |
---|
| 1231 | + local ret=0 |
---|
980 | 1232 | kci_add_dummy |
---|
981 | 1233 | if [ $ret -ne 0 ];then |
---|
982 | 1234 | echo "FAIL: cannot add dummy interface" |
---|
.. | .. |
---|
984 | 1236 | fi |
---|
985 | 1237 | |
---|
986 | 1238 | kci_test_polrouting |
---|
| 1239 | + check_err $? |
---|
987 | 1240 | kci_test_route_get |
---|
| 1241 | + check_err $? |
---|
988 | 1242 | kci_test_addrlft |
---|
| 1243 | + check_err $? |
---|
| 1244 | + kci_test_promote_secondaries |
---|
| 1245 | + check_err $? |
---|
989 | 1246 | kci_test_tc |
---|
| 1247 | + check_err $? |
---|
990 | 1248 | kci_test_gre |
---|
| 1249 | + check_err $? |
---|
991 | 1250 | kci_test_gretap |
---|
| 1251 | + check_err $? |
---|
992 | 1252 | kci_test_ip6gretap |
---|
| 1253 | + check_err $? |
---|
993 | 1254 | kci_test_erspan |
---|
| 1255 | + check_err $? |
---|
994 | 1256 | kci_test_ip6erspan |
---|
| 1257 | + check_err $? |
---|
995 | 1258 | kci_test_bridge |
---|
| 1259 | + check_err $? |
---|
996 | 1260 | kci_test_addrlabel |
---|
| 1261 | + check_err $? |
---|
997 | 1262 | kci_test_ifalias |
---|
| 1263 | + check_err $? |
---|
998 | 1264 | kci_test_vrf |
---|
| 1265 | + check_err $? |
---|
999 | 1266 | kci_test_encap |
---|
| 1267 | + check_err $? |
---|
1000 | 1268 | kci_test_macsec |
---|
| 1269 | + check_err $? |
---|
1001 | 1270 | kci_test_ipsec |
---|
| 1271 | + check_err $? |
---|
1002 | 1272 | kci_test_ipsec_offload |
---|
| 1273 | + check_err $? |
---|
| 1274 | + kci_test_fdb_get |
---|
| 1275 | + check_err $? |
---|
| 1276 | + kci_test_neigh_get |
---|
| 1277 | + check_err $? |
---|
| 1278 | + kci_test_bridge_parent_id |
---|
| 1279 | + check_err $? |
---|
1003 | 1280 | |
---|
1004 | 1281 | kci_del_dummy |
---|
| 1282 | + return $ret |
---|
1005 | 1283 | } |
---|
1006 | 1284 | |
---|
1007 | 1285 | #check for needed privileges |
---|
.. | .. |
---|
1020 | 1298 | |
---|
1021 | 1299 | kci_test_rtnl |
---|
1022 | 1300 | |
---|
1023 | | -exit $ret |
---|
| 1301 | +exit $? |
---|