WIP FPC-III support
[linux/fpc-iii.git] / tools / testing / selftests / net / forwarding / router_bridge_vlan.sh
blobfa6a88c50750d1a885d0aa77f5e8afda603e0aa0
1 #!/bin/bash
2 # SPDX-License-Identifier: GPL-2.0
4 ALL_TESTS="
5 ping_ipv4
6 ping_ipv6
7 vlan
9 NUM_NETIFS=4
10 source lib.sh
12 h1_create()
14 simple_if_init $h1
15 vlan_create $h1 555 v$h1 192.0.2.1/28 2001:db8:1::1/64
16 ip -4 route add 192.0.2.128/28 vrf v$h1 nexthop via 192.0.2.2
17 ip -6 route add 2001:db8:2::/64 vrf v$h1 nexthop via 2001:db8:1::2
20 h1_destroy()
22 ip -6 route del 2001:db8:2::/64 vrf v$h1
23 ip -4 route del 192.0.2.128/28 vrf v$h1
24 vlan_destroy $h1 555
25 simple_if_fini $h1
28 h2_create()
30 simple_if_init $h2 192.0.2.130/28 2001:db8:2::2/64
31 ip -4 route add 192.0.2.0/28 vrf v$h2 nexthop via 192.0.2.129
32 ip -6 route add 2001:db8:1::/64 vrf v$h2 nexthop via 2001:db8:2::1
35 h2_destroy()
37 ip -6 route del 2001:db8:1::/64 vrf v$h2
38 ip -4 route del 192.0.2.0/28 vrf v$h2
39 simple_if_fini $h2 192.0.2.130/28 2001:db8:2::2/64
42 router_create()
44 ip link add name br1 type bridge vlan_filtering 1
45 ip link set dev br1 up
47 ip link set dev $swp1 master br1
48 ip link set dev $swp1 up
50 bridge vlan add dev br1 vid 555 self pvid untagged
51 bridge vlan add dev $swp1 vid 555
53 __addr_add_del br1 add 192.0.2.2/28 2001:db8:1::2/64
55 ip link set dev $swp2 up
56 __addr_add_del $swp2 add 192.0.2.129/28 2001:db8:2::1/64
59 router_destroy()
61 __addr_add_del $swp2 del 192.0.2.129/28 2001:db8:2::1/64
62 ip link set dev $swp2 down
64 __addr_add_del br1 del 192.0.2.2/28 2001:db8:1::2/64
65 ip link set dev $swp1 down
66 ip link set dev $swp1 nomaster
68 ip link del dev br1
71 setup_prepare()
73 h1=${NETIFS[p1]}
74 swp1=${NETIFS[p2]}
76 swp2=${NETIFS[p3]}
77 h2=${NETIFS[p4]}
79 vrf_prepare
81 h1_create
82 h2_create
84 router_create
86 forwarding_enable
89 cleanup()
91 pre_cleanup
93 forwarding_restore
95 router_destroy
97 h2_destroy
98 h1_destroy
100 vrf_cleanup
103 vlan()
105 RET=0
107 bridge vlan add dev br1 vid 333 self
108 check_err $? "Can't add a non-PVID VLAN"
109 bridge vlan del dev br1 vid 333 self
110 check_err $? "Can't remove a non-PVID VLAN"
112 log_test "vlan"
115 ping_ipv4()
117 ping_test $h1 192.0.2.130
120 ping_ipv6()
122 ping6_test $h1 2001:db8:2::2
125 trap cleanup EXIT
127 setup_prepare
128 setup_wait
130 tests_run
132 exit $EXIT_STATUS