.. | .. |
---|
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 | + $probed && rmmod netdevsim |
---|
739 | 839 | |
---|
740 | 840 | if [ $ret -ne 0 ]; then |
---|
741 | 841 | echo "FAIL: ipsec_offload" |
---|
.. | .. |
---|
748 | 848 | { |
---|
749 | 849 | testns="testns" |
---|
750 | 850 | DEV_NS=gretap00 |
---|
751 | | - ret=0 |
---|
| 851 | + local ret=0 |
---|
752 | 852 | |
---|
753 | 853 | ip netns add "$testns" |
---|
754 | 854 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
764 | 864 | fi |
---|
765 | 865 | |
---|
766 | 866 | # test native tunnel |
---|
767 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type gretap seq \ |
---|
| 867 | + ip -netns "$testns" link add dev "$DEV_NS" type gretap seq \ |
---|
768 | 868 | key 102 local 172.16.1.100 remote 172.16.1.200 |
---|
769 | 869 | check_err $? |
---|
770 | 870 | |
---|
771 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 871 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
772 | 872 | check_err $? |
---|
773 | 873 | |
---|
774 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 874 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
775 | 875 | check_err $? |
---|
776 | 876 | |
---|
777 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 877 | + ip -netns "$testns" link del "$DEV_NS" |
---|
778 | 878 | check_err $? |
---|
779 | 879 | |
---|
780 | 880 | # test external mode |
---|
781 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type gretap external |
---|
| 881 | + ip -netns "$testns" link add dev "$DEV_NS" type gretap external |
---|
782 | 882 | check_err $? |
---|
783 | 883 | |
---|
784 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 884 | + ip -netns "$testns" link del "$DEV_NS" |
---|
785 | 885 | check_err $? |
---|
786 | 886 | |
---|
787 | 887 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
798 | 898 | { |
---|
799 | 899 | testns="testns" |
---|
800 | 900 | DEV_NS=ip6gretap00 |
---|
801 | | - ret=0 |
---|
| 901 | + local ret=0 |
---|
802 | 902 | |
---|
803 | 903 | ip netns add "$testns" |
---|
804 | 904 | if [ $? -ne 0 ]; then |
---|
.. | .. |
---|
814 | 914 | fi |
---|
815 | 915 | |
---|
816 | 916 | # test native tunnel |
---|
817 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6gretap seq \ |
---|
| 917 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6gretap seq \ |
---|
818 | 918 | key 102 local fc00:100::1 remote fc00:100::2 |
---|
819 | 919 | check_err $? |
---|
820 | 920 | |
---|
821 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" fc00:200::1/96 |
---|
| 921 | + ip -netns "$testns" addr add dev "$DEV_NS" fc00:200::1/96 |
---|
822 | 922 | check_err $? |
---|
823 | 923 | |
---|
824 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 924 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
825 | 925 | check_err $? |
---|
826 | 926 | |
---|
827 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 927 | + ip -netns "$testns" link del "$DEV_NS" |
---|
828 | 928 | check_err $? |
---|
829 | 929 | |
---|
830 | 930 | # test external mode |
---|
831 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6gretap external |
---|
| 931 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6gretap external |
---|
832 | 932 | check_err $? |
---|
833 | 933 | |
---|
834 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 934 | + ip -netns "$testns" link del "$DEV_NS" |
---|
835 | 935 | check_err $? |
---|
836 | 936 | |
---|
837 | 937 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
848 | 948 | { |
---|
849 | 949 | testns="testns" |
---|
850 | 950 | DEV_NS=erspan00 |
---|
851 | | - ret=0 |
---|
| 951 | + local ret=0 |
---|
852 | 952 | |
---|
853 | 953 | ip link help erspan 2>&1 | grep -q "^Usage:" |
---|
854 | 954 | if [ $? -ne 0 ];then |
---|
.. | .. |
---|
863 | 963 | fi |
---|
864 | 964 | |
---|
865 | 965 | # test native tunnel erspan v1 |
---|
866 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \ |
---|
| 966 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \ |
---|
867 | 967 | key 102 local 172.16.1.100 remote 172.16.1.200 \ |
---|
868 | 968 | erspan_ver 1 erspan 488 |
---|
869 | 969 | check_err $? |
---|
870 | 970 | |
---|
871 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 971 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
872 | 972 | check_err $? |
---|
873 | 973 | |
---|
874 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 974 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
875 | 975 | check_err $? |
---|
876 | 976 | |
---|
877 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 977 | + ip -netns "$testns" link del "$DEV_NS" |
---|
878 | 978 | check_err $? |
---|
879 | 979 | |
---|
880 | 980 | # test native tunnel erspan v2 |
---|
881 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \ |
---|
| 981 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan seq \ |
---|
882 | 982 | key 102 local 172.16.1.100 remote 172.16.1.200 \ |
---|
883 | 983 | erspan_ver 2 erspan_dir ingress erspan_hwid 7 |
---|
884 | 984 | check_err $? |
---|
885 | 985 | |
---|
886 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 986 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
887 | 987 | check_err $? |
---|
888 | 988 | |
---|
889 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 989 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
890 | 990 | check_err $? |
---|
891 | 991 | |
---|
892 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 992 | + ip -netns "$testns" link del "$DEV_NS" |
---|
893 | 993 | check_err $? |
---|
894 | 994 | |
---|
895 | 995 | # test external mode |
---|
896 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan external |
---|
| 996 | + ip -netns "$testns" link add dev "$DEV_NS" type erspan external |
---|
897 | 997 | check_err $? |
---|
898 | 998 | |
---|
899 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 999 | + ip -netns "$testns" link del "$DEV_NS" |
---|
900 | 1000 | check_err $? |
---|
901 | 1001 | |
---|
902 | 1002 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
913 | 1013 | { |
---|
914 | 1014 | testns="testns" |
---|
915 | 1015 | DEV_NS=ip6erspan00 |
---|
916 | | - ret=0 |
---|
| 1016 | + local ret=0 |
---|
917 | 1017 | |
---|
918 | 1018 | ip link help ip6erspan 2>&1 | grep -q "^Usage:" |
---|
919 | 1019 | if [ $? -ne 0 ];then |
---|
.. | .. |
---|
928 | 1028 | fi |
---|
929 | 1029 | |
---|
930 | 1030 | # test native tunnel ip6erspan v1 |
---|
931 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \ |
---|
| 1031 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6erspan seq \ |
---|
932 | 1032 | key 102 local fc00:100::1 remote fc00:100::2 \ |
---|
933 | 1033 | erspan_ver 1 erspan 488 |
---|
934 | 1034 | check_err $? |
---|
935 | 1035 | |
---|
936 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 1036 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
937 | 1037 | check_err $? |
---|
938 | 1038 | |
---|
939 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 1039 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
940 | 1040 | check_err $? |
---|
941 | 1041 | |
---|
942 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1042 | + ip -netns "$testns" link del "$DEV_NS" |
---|
943 | 1043 | check_err $? |
---|
944 | 1044 | |
---|
945 | 1045 | # test native tunnel ip6erspan v2 |
---|
946 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \ |
---|
| 1046 | + ip -netns "$testns" link add dev "$DEV_NS" type ip6erspan seq \ |
---|
947 | 1047 | key 102 local fc00:100::1 remote fc00:100::2 \ |
---|
948 | 1048 | erspan_ver 2 erspan_dir ingress erspan_hwid 7 |
---|
949 | 1049 | check_err $? |
---|
950 | 1050 | |
---|
951 | | - ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
| 1051 | + ip -netns "$testns" addr add dev "$DEV_NS" 10.1.1.100/24 |
---|
952 | 1052 | check_err $? |
---|
953 | 1053 | |
---|
954 | | - ip netns exec "$testns" ip link set dev $DEV_NS up |
---|
| 1054 | + ip -netns "$testns" link set dev $DEV_NS up |
---|
955 | 1055 | check_err $? |
---|
956 | 1056 | |
---|
957 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1057 | + ip -netns "$testns" link del "$DEV_NS" |
---|
958 | 1058 | check_err $? |
---|
959 | 1059 | |
---|
960 | 1060 | # test external mode |
---|
961 | | - ip netns exec "$testns" ip link add dev "$DEV_NS" \ |
---|
| 1061 | + ip -netns "$testns" link add dev "$DEV_NS" \ |
---|
962 | 1062 | type ip6erspan external |
---|
963 | 1063 | check_err $? |
---|
964 | 1064 | |
---|
965 | | - ip netns exec "$testns" ip link del "$DEV_NS" |
---|
| 1065 | + ip -netns "$testns" link del "$DEV_NS" |
---|
966 | 1066 | check_err $? |
---|
967 | 1067 | |
---|
968 | 1068 | if [ $ret -ne 0 ]; then |
---|
.. | .. |
---|
975 | 1075 | ip netns del "$testns" |
---|
976 | 1076 | } |
---|
977 | 1077 | |
---|
| 1078 | +kci_test_fdb_get() |
---|
| 1079 | +{ |
---|
| 1080 | + IP="ip -netns testns" |
---|
| 1081 | + BRIDGE="bridge -netns testns" |
---|
| 1082 | + brdev="test-br0" |
---|
| 1083 | + vxlandev="vxlan10" |
---|
| 1084 | + test_mac=de:ad:be:ef:13:37 |
---|
| 1085 | + localip="10.0.2.2" |
---|
| 1086 | + dstip="10.0.2.3" |
---|
| 1087 | + local ret=0 |
---|
| 1088 | + |
---|
| 1089 | + bridge fdb help 2>&1 |grep -q 'bridge fdb get' |
---|
| 1090 | + if [ $? -ne 0 ];then |
---|
| 1091 | + echo "SKIP: fdb get tests: iproute2 too old" |
---|
| 1092 | + return $ksft_skip |
---|
| 1093 | + fi |
---|
| 1094 | + |
---|
| 1095 | + ip netns add testns |
---|
| 1096 | + if [ $? -ne 0 ]; then |
---|
| 1097 | + echo "SKIP fdb get tests: cannot add net namespace $testns" |
---|
| 1098 | + return $ksft_skip |
---|
| 1099 | + fi |
---|
| 1100 | + |
---|
| 1101 | + $IP link add "$vxlandev" type vxlan id 10 local $localip \ |
---|
| 1102 | + dstport 4789 2>/dev/null |
---|
| 1103 | + check_err $? |
---|
| 1104 | + $IP link add name "$brdev" type bridge &>/dev/null |
---|
| 1105 | + check_err $? |
---|
| 1106 | + $IP link set dev "$vxlandev" master "$brdev" &>/dev/null |
---|
| 1107 | + check_err $? |
---|
| 1108 | + $BRIDGE fdb add $test_mac dev "$vxlandev" master &>/dev/null |
---|
| 1109 | + check_err $? |
---|
| 1110 | + $BRIDGE fdb add $test_mac dev "$vxlandev" dst $dstip self &>/dev/null |
---|
| 1111 | + check_err $? |
---|
| 1112 | + |
---|
| 1113 | + $BRIDGE fdb get $test_mac brport "$vxlandev" 2>/dev/null | grep -q "dev $vxlandev master $brdev" |
---|
| 1114 | + check_err $? |
---|
| 1115 | + $BRIDGE fdb get $test_mac br "$brdev" 2>/dev/null | grep -q "dev $vxlandev master $brdev" |
---|
| 1116 | + check_err $? |
---|
| 1117 | + $BRIDGE fdb get $test_mac dev "$vxlandev" self 2>/dev/null | grep -q "dev $vxlandev dst $dstip" |
---|
| 1118 | + check_err $? |
---|
| 1119 | + |
---|
| 1120 | + ip netns del testns &>/dev/null |
---|
| 1121 | + |
---|
| 1122 | + if [ $ret -ne 0 ]; then |
---|
| 1123 | + echo "FAIL: bridge fdb get" |
---|
| 1124 | + return 1 |
---|
| 1125 | + fi |
---|
| 1126 | + |
---|
| 1127 | + echo "PASS: bridge fdb get" |
---|
| 1128 | +} |
---|
| 1129 | + |
---|
| 1130 | +kci_test_neigh_get() |
---|
| 1131 | +{ |
---|
| 1132 | + dstmac=de:ad:be:ef:13:37 |
---|
| 1133 | + dstip=10.0.2.4 |
---|
| 1134 | + dstip6=dead::2 |
---|
| 1135 | + local ret=0 |
---|
| 1136 | + |
---|
| 1137 | + ip neigh help 2>&1 |grep -q 'ip neigh get' |
---|
| 1138 | + if [ $? -ne 0 ];then |
---|
| 1139 | + echo "SKIP: fdb get tests: iproute2 too old" |
---|
| 1140 | + return $ksft_skip |
---|
| 1141 | + fi |
---|
| 1142 | + |
---|
| 1143 | + # ipv4 |
---|
| 1144 | + ip neigh add $dstip lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1145 | + check_err $? |
---|
| 1146 | + ip neigh get $dstip dev "$devdummy" 2> /dev/null | grep -q "$dstmac" |
---|
| 1147 | + check_err $? |
---|
| 1148 | + ip neigh del $dstip lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1149 | + check_err $? |
---|
| 1150 | + |
---|
| 1151 | + # ipv4 proxy |
---|
| 1152 | + ip neigh add proxy $dstip dev "$devdummy" > /dev/null |
---|
| 1153 | + check_err $? |
---|
| 1154 | + ip neigh get proxy $dstip dev "$devdummy" 2>/dev/null | grep -q "$dstip" |
---|
| 1155 | + check_err $? |
---|
| 1156 | + ip neigh del proxy $dstip dev "$devdummy" > /dev/null |
---|
| 1157 | + check_err $? |
---|
| 1158 | + |
---|
| 1159 | + # ipv6 |
---|
| 1160 | + ip neigh add $dstip6 lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1161 | + check_err $? |
---|
| 1162 | + ip neigh get $dstip6 dev "$devdummy" 2> /dev/null | grep -q "$dstmac" |
---|
| 1163 | + check_err $? |
---|
| 1164 | + ip neigh del $dstip6 lladdr $dstmac dev "$devdummy" > /dev/null |
---|
| 1165 | + check_err $? |
---|
| 1166 | + |
---|
| 1167 | + # ipv6 proxy |
---|
| 1168 | + ip neigh add proxy $dstip6 dev "$devdummy" > /dev/null |
---|
| 1169 | + check_err $? |
---|
| 1170 | + ip neigh get proxy $dstip6 dev "$devdummy" 2>/dev/null | grep -q "$dstip6" |
---|
| 1171 | + check_err $? |
---|
| 1172 | + ip neigh del proxy $dstip6 dev "$devdummy" > /dev/null |
---|
| 1173 | + check_err $? |
---|
| 1174 | + |
---|
| 1175 | + if [ $ret -ne 0 ];then |
---|
| 1176 | + echo "FAIL: neigh get" |
---|
| 1177 | + return 1 |
---|
| 1178 | + fi |
---|
| 1179 | + |
---|
| 1180 | + echo "PASS: neigh get" |
---|
| 1181 | +} |
---|
| 1182 | + |
---|
| 1183 | +kci_test_bridge_parent_id() |
---|
| 1184 | +{ |
---|
| 1185 | + local ret=0 |
---|
| 1186 | + sysfsnet=/sys/bus/netdevsim/devices/netdevsim |
---|
| 1187 | + probed=false |
---|
| 1188 | + |
---|
| 1189 | + if [ ! -w /sys/bus/netdevsim/new_device ] ; then |
---|
| 1190 | + modprobe -q netdevsim |
---|
| 1191 | + check_err $? |
---|
| 1192 | + if [ $ret -ne 0 ]; then |
---|
| 1193 | + echo "SKIP: bridge_parent_id can't load netdevsim" |
---|
| 1194 | + return $ksft_skip |
---|
| 1195 | + fi |
---|
| 1196 | + probed=true |
---|
| 1197 | + fi |
---|
| 1198 | + |
---|
| 1199 | + echo "10 1" > /sys/bus/netdevsim/new_device |
---|
| 1200 | + while [ ! -d ${sysfsnet}10 ] ; do :; done |
---|
| 1201 | + echo "20 1" > /sys/bus/netdevsim/new_device |
---|
| 1202 | + while [ ! -d ${sysfsnet}20 ] ; do :; done |
---|
| 1203 | + udevadm settle |
---|
| 1204 | + dev10=`ls ${sysfsnet}10/net/` |
---|
| 1205 | + dev20=`ls ${sysfsnet}20/net/` |
---|
| 1206 | + |
---|
| 1207 | + ip link add name test-bond0 type bond mode 802.3ad |
---|
| 1208 | + ip link set dev $dev10 master test-bond0 |
---|
| 1209 | + ip link set dev $dev20 master test-bond0 |
---|
| 1210 | + ip link add name test-br0 type bridge |
---|
| 1211 | + ip link set dev test-bond0 master test-br0 |
---|
| 1212 | + check_err $? |
---|
| 1213 | + |
---|
| 1214 | + # clean up any leftovers |
---|
| 1215 | + ip link del dev test-br0 |
---|
| 1216 | + ip link del dev test-bond0 |
---|
| 1217 | + echo 20 > /sys/bus/netdevsim/del_device |
---|
| 1218 | + echo 10 > /sys/bus/netdevsim/del_device |
---|
| 1219 | + $probed && rmmod netdevsim |
---|
| 1220 | + |
---|
| 1221 | + if [ $ret -ne 0 ]; then |
---|
| 1222 | + echo "FAIL: bridge_parent_id" |
---|
| 1223 | + return 1 |
---|
| 1224 | + fi |
---|
| 1225 | + echo "PASS: bridge_parent_id" |
---|
| 1226 | +} |
---|
| 1227 | + |
---|
978 | 1228 | kci_test_rtnl() |
---|
979 | 1229 | { |
---|
| 1230 | + local ret=0 |
---|
980 | 1231 | kci_add_dummy |
---|
981 | 1232 | if [ $ret -ne 0 ];then |
---|
982 | 1233 | echo "FAIL: cannot add dummy interface" |
---|
.. | .. |
---|
984 | 1235 | fi |
---|
985 | 1236 | |
---|
986 | 1237 | kci_test_polrouting |
---|
| 1238 | + check_err $? |
---|
987 | 1239 | kci_test_route_get |
---|
| 1240 | + check_err $? |
---|
988 | 1241 | kci_test_addrlft |
---|
| 1242 | + check_err $? |
---|
| 1243 | + kci_test_promote_secondaries |
---|
| 1244 | + check_err $? |
---|
989 | 1245 | kci_test_tc |
---|
| 1246 | + check_err $? |
---|
990 | 1247 | kci_test_gre |
---|
| 1248 | + check_err $? |
---|
991 | 1249 | kci_test_gretap |
---|
| 1250 | + check_err $? |
---|
992 | 1251 | kci_test_ip6gretap |
---|
| 1252 | + check_err $? |
---|
993 | 1253 | kci_test_erspan |
---|
| 1254 | + check_err $? |
---|
994 | 1255 | kci_test_ip6erspan |
---|
| 1256 | + check_err $? |
---|
995 | 1257 | kci_test_bridge |
---|
| 1258 | + check_err $? |
---|
996 | 1259 | kci_test_addrlabel |
---|
| 1260 | + check_err $? |
---|
997 | 1261 | kci_test_ifalias |
---|
| 1262 | + check_err $? |
---|
998 | 1263 | kci_test_vrf |
---|
| 1264 | + check_err $? |
---|
999 | 1265 | kci_test_encap |
---|
| 1266 | + check_err $? |
---|
1000 | 1267 | kci_test_macsec |
---|
| 1268 | + check_err $? |
---|
1001 | 1269 | kci_test_ipsec |
---|
| 1270 | + check_err $? |
---|
1002 | 1271 | kci_test_ipsec_offload |
---|
| 1272 | + check_err $? |
---|
| 1273 | + kci_test_fdb_get |
---|
| 1274 | + check_err $? |
---|
| 1275 | + kci_test_neigh_get |
---|
| 1276 | + check_err $? |
---|
| 1277 | + kci_test_bridge_parent_id |
---|
| 1278 | + check_err $? |
---|
1003 | 1279 | |
---|
1004 | 1280 | kci_del_dummy |
---|
| 1281 | + return $ret |
---|
1005 | 1282 | } |
---|
1006 | 1283 | |
---|
1007 | 1284 | #check for needed privileges |
---|
.. | .. |
---|
1020 | 1297 | |
---|
1021 | 1298 | kci_test_rtnl |
---|
1022 | 1299 | |
---|
1023 | | -exit $ret |
---|
| 1300 | +exit $? |
---|