aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Tu <u9012063@gmail.com>2017-12-26 14:10:07 -0500
committerDavid S. Miller <davem@davemloft.net>2018-01-02 13:37:42 -0500
commitef27e2ccde77c92245eccec97be32b5996a80efc (patch)
tree467ed49558ea8eabd3e5cb1d9683315524a167cc
parentac0b715eab23b82e7f9257fc2ca0c04f8c7695f1 (diff)
selftests: rtnetlink: add erspan and ip6erspan
Add test cases for ipv4, ipv6 erspan, v1 and v2 native mode and external (collect metadata) mode. Signed-off-by: William Tu <u9012063@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rwxr-xr-xtools/testing/selftests/net/rtnetlink.sh131
1 files changed, 131 insertions, 0 deletions
diff --git a/tools/testing/selftests/net/rtnetlink.sh b/tools/testing/selftests/net/rtnetlink.sh
index dada4ab69142..a622eeecc3a6 100755
--- a/tools/testing/selftests/net/rtnetlink.sh
+++ b/tools/testing/selftests/net/rtnetlink.sh
@@ -598,6 +598,135 @@ kci_test_ip6gretap()
598 ip netns del "$testns" 598 ip netns del "$testns"
599} 599}
600 600
601kci_test_erspan()
602{
603 testns="testns"
604 DEV_NS=erspan00
605 ret=0
606
607 ip link help erspan 2>&1 | grep -q "^Usage:"
608 if [ $? -ne 0 ];then
609 echo "SKIP: erspan: iproute2 too old"
610 return 1
611 fi
612
613 ip netns add "$testns"
614 if [ $? -ne 0 ]; then
615 echo "SKIP erspan tests: cannot add net namespace $testns"
616 return 1
617 fi
618
619 # test native tunnel erspan v1
620 ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \
621 key 102 local 172.16.1.100 remote 172.16.1.200 \
622 erspan_ver 1 erspan 488
623 check_err $?
624
625 ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
626 check_err $?
627
628 ip netns exec "$testns" ip link set dev $DEV_NS up
629 check_err $?
630
631 ip netns exec "$testns" ip link del "$DEV_NS"
632 check_err $?
633
634 # test native tunnel erspan v2
635 ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan seq \
636 key 102 local 172.16.1.100 remote 172.16.1.200 \
637 erspan_ver 2 erspan_dir ingress erspan_hwid 7
638 check_err $?
639
640 ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
641 check_err $?
642
643 ip netns exec "$testns" ip link set dev $DEV_NS up
644 check_err $?
645
646 ip netns exec "$testns" ip link del "$DEV_NS"
647 check_err $?
648
649 # test external mode
650 ip netns exec "$testns" ip link add dev "$DEV_NS" type erspan external
651 check_err $?
652
653 ip netns exec "$testns" ip link del "$DEV_NS"
654 check_err $?
655
656 if [ $ret -ne 0 ]; then
657 echo "FAIL: erspan"
658 return 1
659 fi
660 echo "PASS: erspan"
661
662 ip netns del "$testns"
663}
664
665kci_test_ip6erspan()
666{
667 testns="testns"
668 DEV_NS=ip6erspan00
669 ret=0
670
671 ip link help ip6erspan 2>&1 | grep -q "^Usage:"
672 if [ $? -ne 0 ];then
673 echo "SKIP: ip6erspan: iproute2 too old"
674 return 1
675 fi
676
677 ip netns add "$testns"
678 if [ $? -ne 0 ]; then
679 echo "SKIP ip6erspan tests: cannot add net namespace $testns"
680 return 1
681 fi
682
683 # test native tunnel ip6erspan v1
684 ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \
685 key 102 local fc00:100::1 remote fc00:100::2 \
686 erspan_ver 1 erspan 488
687 check_err $?
688
689 ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
690 check_err $?
691
692 ip netns exec "$testns" ip link set dev $DEV_NS up
693 check_err $?
694
695 ip netns exec "$testns" ip link del "$DEV_NS"
696 check_err $?
697
698 # test native tunnel ip6erspan v2
699 ip netns exec "$testns" ip link add dev "$DEV_NS" type ip6erspan seq \
700 key 102 local fc00:100::1 remote fc00:100::2 \
701 erspan_ver 2 erspan_dir ingress erspan_hwid 7
702 check_err $?
703
704 ip netns exec "$testns" ip addr add dev "$DEV_NS" 10.1.1.100/24
705 check_err $?
706
707 ip netns exec "$testns" ip link set dev $DEV_NS up
708 check_err $?
709
710 ip netns exec "$testns" ip link del "$DEV_NS"
711 check_err $?
712
713 # test external mode
714 ip netns exec "$testns" ip link add dev "$DEV_NS" \
715 type ip6erspan external
716 check_err $?
717
718 ip netns exec "$testns" ip link del "$DEV_NS"
719 check_err $?
720
721 if [ $ret -ne 0 ]; then
722 echo "FAIL: ip6erspan"
723 return 1
724 fi
725 echo "PASS: ip6erspan"
726
727 ip netns del "$testns"
728}
729
601kci_test_rtnl() 730kci_test_rtnl()
602{ 731{
603 kci_add_dummy 732 kci_add_dummy
@@ -612,6 +741,8 @@ kci_test_rtnl()
612 kci_test_gre 741 kci_test_gre
613 kci_test_gretap 742 kci_test_gretap
614 kci_test_ip6gretap 743 kci_test_ip6gretap
744 kci_test_erspan
745 kci_test_ip6erspan
615 kci_test_bridge 746 kci_test_bridge
616 kci_test_addrlabel 747 kci_test_addrlabel
617 kci_test_ifalias 748 kci_test_ifalias