.. | .. |
---|
24 | 24 | # Root namespace with metadata-mode tunnel + BPF |
---|
25 | 25 | # Device names and addresses: |
---|
26 | 26 | # veth1 IP: 172.16.1.200, IPv6: 00::22 (underlay) |
---|
27 | | -# tunnel dev <type>11, ex: gre11, IPv4: 10.1.1.200 (overlay) |
---|
| 27 | +# tunnel dev <type>11, ex: gre11, IPv4: 10.1.1.200, IPv6: 1::22 (overlay) |
---|
28 | 28 | # |
---|
29 | 29 | # Namespace at_ns0 with native tunnel |
---|
30 | 30 | # Device names and addresses: |
---|
31 | 31 | # veth0 IPv4: 172.16.1.100, IPv6: 00::11 (underlay) |
---|
32 | | -# tunnel dev <type>00, ex: gre00, IPv4: 10.1.1.100 (overlay) |
---|
| 32 | +# tunnel dev <type>00, ex: gre00, IPv4: 10.1.1.100, IPv6: 1::11 (overlay) |
---|
33 | 33 | # |
---|
34 | 34 | # |
---|
35 | 35 | # End-to-end ping packet flow |
---|
.. | .. |
---|
250 | 250 | ip addr add dev $DEV 10.1.1.200/24 |
---|
251 | 251 | } |
---|
252 | 252 | |
---|
253 | | -add_ipip6tnl_tunnel() |
---|
| 253 | +add_ip6tnl_tunnel() |
---|
254 | 254 | { |
---|
255 | 255 | ip netns exec at_ns0 ip addr add ::11/96 dev veth0 |
---|
256 | 256 | ip netns exec at_ns0 ip link set dev veth0 up |
---|
.. | .. |
---|
262 | 262 | ip link add dev $DEV_NS type $TYPE \ |
---|
263 | 263 | local ::11 remote ::22 |
---|
264 | 264 | ip netns exec at_ns0 ip addr add dev $DEV_NS 10.1.1.100/24 |
---|
| 265 | + ip netns exec at_ns0 ip addr add dev $DEV_NS 1::11/96 |
---|
265 | 266 | ip netns exec at_ns0 ip link set dev $DEV_NS up |
---|
266 | 267 | |
---|
267 | 268 | # root namespace |
---|
268 | 269 | ip link add dev $DEV type $TYPE external |
---|
269 | 270 | ip addr add dev $DEV 10.1.1.200/24 |
---|
| 271 | + ip addr add dev $DEV 1::22/96 |
---|
270 | 272 | ip link set dev $DEV up |
---|
271 | 273 | } |
---|
272 | 274 | |
---|
.. | .. |
---|
534 | 536 | |
---|
535 | 537 | check $TYPE |
---|
536 | 538 | config_device |
---|
537 | | - add_ipip6tnl_tunnel |
---|
| 539 | + add_ip6tnl_tunnel |
---|
538 | 540 | ip link set dev veth1 mtu 1500 |
---|
539 | 541 | attach_bpf $DEV ipip6_set_tunnel ipip6_get_tunnel |
---|
540 | 542 | # underlay |
---|
.. | .. |
---|
551 | 553 | return 1 |
---|
552 | 554 | fi |
---|
553 | 555 | echo -e ${GREEN}"PASS: $TYPE"${NC} |
---|
| 556 | +} |
---|
| 557 | + |
---|
| 558 | +test_ip6ip6() |
---|
| 559 | +{ |
---|
| 560 | + TYPE=ip6tnl |
---|
| 561 | + DEV_NS=ip6ip6tnl00 |
---|
| 562 | + DEV=ip6ip6tnl11 |
---|
| 563 | + ret=0 |
---|
| 564 | + |
---|
| 565 | + check $TYPE |
---|
| 566 | + config_device |
---|
| 567 | + add_ip6tnl_tunnel |
---|
| 568 | + ip link set dev veth1 mtu 1500 |
---|
| 569 | + attach_bpf $DEV ip6ip6_set_tunnel ip6ip6_get_tunnel |
---|
| 570 | + # underlay |
---|
| 571 | + ping6 $PING_ARG ::11 |
---|
| 572 | + # ip6 over ip6 |
---|
| 573 | + ping6 $PING_ARG 1::11 |
---|
| 574 | + check_err $? |
---|
| 575 | + ip netns exec at_ns0 ping6 $PING_ARG 1::22 |
---|
| 576 | + check_err $? |
---|
| 577 | + cleanup |
---|
| 578 | + |
---|
| 579 | + if [ $ret -ne 0 ]; then |
---|
| 580 | + echo -e ${RED}"FAIL: ip6$TYPE"${NC} |
---|
| 581 | + return 1 |
---|
| 582 | + fi |
---|
| 583 | + echo -e ${GREEN}"PASS: ip6$TYPE"${NC} |
---|
554 | 584 | } |
---|
555 | 585 | |
---|
556 | 586 | setup_xfrm_tunnel() |
---|
.. | .. |
---|
646 | 676 | ip link del veth1 2> /dev/null |
---|
647 | 677 | ip link del ipip11 2> /dev/null |
---|
648 | 678 | ip link del ipip6tnl11 2> /dev/null |
---|
| 679 | + ip link del ip6ip6tnl11 2> /dev/null |
---|
649 | 680 | ip link del gretap11 2> /dev/null |
---|
650 | 681 | ip link del ip6gre11 2> /dev/null |
---|
651 | 682 | ip link del ip6gretap11 2> /dev/null |
---|
.. | .. |
---|
696 | 727 | |
---|
697 | 728 | bpf_tunnel_test() |
---|
698 | 729 | { |
---|
| 730 | + local errors=0 |
---|
| 731 | + |
---|
699 | 732 | echo "Testing GRE tunnel..." |
---|
700 | 733 | test_gre |
---|
| 734 | + errors=$(( $errors + $? )) |
---|
| 735 | + |
---|
701 | 736 | echo "Testing IP6GRE tunnel..." |
---|
702 | 737 | test_ip6gre |
---|
| 738 | + errors=$(( $errors + $? )) |
---|
| 739 | + |
---|
703 | 740 | echo "Testing IP6GRETAP tunnel..." |
---|
704 | 741 | test_ip6gretap |
---|
| 742 | + errors=$(( $errors + $? )) |
---|
| 743 | + |
---|
705 | 744 | echo "Testing ERSPAN tunnel..." |
---|
706 | 745 | test_erspan v2 |
---|
| 746 | + errors=$(( $errors + $? )) |
---|
| 747 | + |
---|
707 | 748 | echo "Testing IP6ERSPAN tunnel..." |
---|
708 | 749 | test_ip6erspan v2 |
---|
| 750 | + errors=$(( $errors + $? )) |
---|
| 751 | + |
---|
709 | 752 | echo "Testing VXLAN tunnel..." |
---|
710 | 753 | test_vxlan |
---|
| 754 | + errors=$(( $errors + $? )) |
---|
| 755 | + |
---|
711 | 756 | echo "Testing IP6VXLAN tunnel..." |
---|
712 | 757 | test_ip6vxlan |
---|
| 758 | + errors=$(( $errors + $? )) |
---|
| 759 | + |
---|
713 | 760 | echo "Testing GENEVE tunnel..." |
---|
714 | 761 | test_geneve |
---|
| 762 | + errors=$(( $errors + $? )) |
---|
| 763 | + |
---|
715 | 764 | echo "Testing IP6GENEVE tunnel..." |
---|
716 | 765 | test_ip6geneve |
---|
| 766 | + errors=$(( $errors + $? )) |
---|
| 767 | + |
---|
717 | 768 | echo "Testing IPIP tunnel..." |
---|
718 | 769 | test_ipip |
---|
| 770 | + errors=$(( $errors + $? )) |
---|
| 771 | + |
---|
719 | 772 | echo "Testing IPIP6 tunnel..." |
---|
720 | 773 | test_ipip6 |
---|
| 774 | + errors=$(( $errors + $? )) |
---|
| 775 | + |
---|
| 776 | + echo "Testing IP6IP6 tunnel..." |
---|
| 777 | + test_ip6ip6 |
---|
| 778 | + errors=$(( $errors + $? )) |
---|
| 779 | + |
---|
721 | 780 | echo "Testing IPSec tunnel..." |
---|
722 | 781 | test_xfrm_tunnel |
---|
| 782 | + errors=$(( $errors + $? )) |
---|
| 783 | + |
---|
| 784 | + return $errors |
---|
723 | 785 | } |
---|
724 | 786 | |
---|
725 | 787 | trap cleanup 0 3 6 |
---|
.. | .. |
---|
728 | 790 | cleanup |
---|
729 | 791 | bpf_tunnel_test |
---|
730 | 792 | |
---|
| 793 | +if [ $? -ne 0 ]; then |
---|
| 794 | + echo -e "$(basename $0): ${RED}FAIL${NC}" |
---|
| 795 | + exit 1 |
---|
| 796 | +fi |
---|
| 797 | +echo -e "$(basename $0): ${GREEN}PASS${NC}" |
---|
731 | 798 | exit 0 |
---|