2 # SPDX-License-Identifier: GPL-2.0
4 # +------------------------------------------------+ +----------------------+
5 # | H1 (vrf) | | H2 (vrf) |
6 # | + $h1.555 + $h1.777 | | + $h2 |
7 # | | 192.0.2.1/28 | 192.0.2.17/28 | | | 192.0.2.130/28 |
8 # | | 2001:db8:1::1/64 | 2001:db8:3::1/64 | | | 192.0.2.146/28 |
9 # | | .-----------------' | | | 2001:db8:2::2/64 |
10 # | |/ | | | 2001:db8:4::2/64 |
12 # +----|-------------------------------------------+ +--|-------------------+
14 # +----|--------------------------------------------------|-------------------+
16 # | +--|-------------------------------+ + $swp2 |
17 # | | + $swp1 | 192.0.2.129/28 |
18 # | | vid 555 777 | 192.0.2.145/28 |
19 # | | | 2001:db8:2::1/64 |
20 # | | + BR1 (802.1q) | 2001:db8:4::1/64 |
21 # | | vid 555 pvid untagged | |
22 # | | 192.0.2.2/28 | |
23 # | | 192.0.2.18/28 | |
24 # | | 2001:db8:1::2/64 | |
25 # | | 2001:db8:3::2/64 | |
26 # | +----------------------------------+ |
27 # +---------------------------------------------------------------------------+
49 vlan_create
$h1 555 v
$h1 192.0.2.1/28 2001:db8
:1::1/64
50 ip
-4 route add
192.0.2.128/28 vrf v
$h1 nexthop via
192.0.2.2
51 ip
-6 route add
2001:db8
:2::/64 vrf v
$h1 nexthop via
2001:db8
:1::2
53 vlan_create
$h1 777 v
$h1 192.0.2.17/28 2001:db8
:3::1/64
54 ip
-4 route add
192.0.2.144/28 vrf v
$h1 nexthop via
192.0.2.18
55 ip
-6 route add
2001:db8
:4::/64 vrf v
$h1 nexthop via
2001:db8
:3::2
60 ip
-6 route del
2001:db8
:4::/64 vrf v
$h1
61 ip
-4 route del
192.0.2.144/28 vrf v
$h1
64 ip
-6 route del
2001:db8
:2::/64 vrf v
$h1
65 ip
-4 route del
192.0.2.128/28 vrf v
$h1
73 simple_if_init
$h2 192.0.2.130/28 2001:db8
:2::2/64 \
74 192.0.2.146/28 2001:db8
:4::2/64
75 ip
-4 route add
192.0.2.0/28 vrf v
$h2 nexthop via
192.0.2.129
76 ip
-4 route add
192.0.2.16/28 vrf v
$h2 nexthop via
192.0.2.145
77 ip
-6 route add
2001:db8
:1::/64 vrf v
$h2 nexthop via
2001:db8
:2::1
78 ip
-6 route add
2001:db8
:3::/64 vrf v
$h2 nexthop via
2001:db8
:4::1
83 ip
-6 route del
2001:db8
:3::/64 vrf v
$h2
84 ip
-6 route del
2001:db8
:1::/64 vrf v
$h2
85 ip
-4 route del
192.0.2.16/28 vrf v
$h2
86 ip
-4 route del
192.0.2.0/28 vrf v
$h2
87 simple_if_fini
$h2 192.0.2.146/28 2001:db8
:4::2/64 \
88 192.0.2.130/28 2001:db8
:2::2/64
93 ip link add name br1
type bridge vlan_filtering
1 vlan_default_pvid
0
94 ip link
set dev br1 up
96 ip link
set dev
$swp1 master br1
97 ip link
set dev
$swp1 up
99 bridge vlan add dev br1 vid
555 self pvid untagged
100 bridge vlan add dev
$swp1 vid
555
101 bridge vlan add dev
$swp1 vid
777
103 __addr_add_del br1 add
192.0.2.2/28 2001:db8
:1::2/64
104 __addr_add_del br1 add
192.0.2.18/28 2001:db8
:3::2/64
106 ip link
set dev
$swp2 up
107 __addr_add_del
$swp2 add
192.0.2.129/28 2001:db8
:2::1/64
108 __addr_add_del
$swp2 add
192.0.2.145/28 2001:db8
:4::1/64
113 __addr_add_del
$swp2 del
192.0.2.145/28 2001:db8
:4::1/64
114 __addr_add_del
$swp2 del
192.0.2.129/28 2001:db8
:2::1/64
115 ip link
set dev
$swp2 down
117 __addr_add_del br1 del
192.0.2.18/28 2001:db8
:3::2/64
118 __addr_add_del br1 del
192.0.2.2/28 2001:db8
:1::2/64
119 ip link
set dev
$swp1 down
120 ip link
set dev
$swp1 nomaster
145 log_info
"Configure VLAN 555 as PVID"
147 bridge vlan add dev br1 vid
555 self pvid untagged
148 bridge vlan del dev br1 vid
777 self
154 log_info
"Configure VLAN 777 as PVID"
156 bridge vlan add dev br1 vid
777 self pvid untagged
157 bridge vlan del dev br1 vid
555 self
179 bridge vlan add dev br1 vid
333 self
180 check_err $?
"Can't add a non-PVID VLAN"
181 bridge vlan del dev br1 vid
333 self
182 check_err $?
"Can't remove a non-PVID VLAN"
189 ping_test
$h1.555
192.0.2.130
194 ping6_test
$h1.555
2001:db8
:2::2
199 ping_test_fails
$h1.555
192.0.2.130 ": via 555"
204 ping6_test_fails
$h1.555
2001:db8
:2::2 ": via 555"
209 ping_test
$h1.777
192.0.2.146 ": via 777"
214 ping6_test
$h1.777
2001:db8
:4::2 ": via 777"