2 # SPDX-License-Identifier: GPL-2.0
4 # +----------------------------+ +--------------------------+
5 # | H1 (vrf) | | H2 (vrf) |
7 # | + LAG1 (team) | | + LAG4 (team) |
8 # | | 192.0.2.1/28 | | | 192.0.2.130/28 |
9 # | | 2001:db8:1::1/64 | | | 2001:db8:2::2/64 |
10 # | __^___ | | __^_____ |
12 # | + $h1 + $h4 | | + $h2 + $h3 |
14 # +----|--------|--------------+ +-|----------|-------------+
16 # +----|--------|------------------------------------|----------|-------------+
18 # | + $swp1 + $swp4 + $swp2 + $swp3 |
19 # | \__ ___/ \__ _____/ |
21 # | +------|-------------------------------+ | |
22 # | | + LAG2 BR1 (802.1q) | + LAG3 (team) |
23 # | | (team) 192.0.2.2/28 | 192.0.2.129/28 |
24 # | | 2001:db8:1::2/64 | 2001:db8:2::1/64 |
26 # | +--------------------------------------+ |
27 # +---------------------------------------------------------------------------+
33 $(: exercise remastering of LAG2 slaves )
50 $(: exercise remastering of LAG2 itself )
56 $(: exercise remastering of LAG3 slaves )
73 $(: move LAG3 to a bridge and then out )
81 source $lib_dir/lib.sh
87 ip link
set dev lag1 address $
(mac_get
$h1)
88 ip link
set dev
$h1 master lag1
89 ip link
set dev
$h4 master lag1
90 simple_if_init lag1
192.0.2.1/28 2001:db8
:1::1/64
91 ip link
set dev
$h1 up
92 ip link
set dev
$h4 up
93 ip
-4 route add
192.0.2.128/28 vrf vlag1 nexthop via
192.0.2.2
94 ip
-6 route add
2001:db8
:2::/64 vrf vlag1 nexthop via
2001:db8
:1::2
99 ip
-6 route del
2001:db8
:2::/64 vrf vlag1
100 ip
-4 route del
192.0.2.128/28 vrf vlag1
101 ip link
set dev
$h4 down
102 ip link
set dev
$h1 down
103 simple_if_fini lag1
192.0.2.1/28 2001:db8
:1::1/64
104 ip link
set dev
$h4 nomaster
105 ip link
set dev
$h1 nomaster
111 team_create lag4 lacp
112 ip link
set dev lag4 address $
(mac_get
$h2)
113 ip link
set dev
$h2 master lag4
114 ip link
set dev
$h3 master lag4
115 simple_if_init lag4
192.0.2.130/28 2001:db8
:2::2/64
116 ip link
set dev
$h2 up
117 ip link
set dev
$h3 up
118 ip
-4 route add
192.0.2.0/28 vrf vlag4 nexthop via
192.0.2.129
119 ip
-6 route add
2001:db8
:1::/64 vrf vlag4 nexthop via
2001:db8
:2::1
124 ip
-6 route del
2001:db8
:1::/64 vrf vlag4
125 ip
-4 route del
192.0.2.0/28 vrf vlag4
126 ip link
set dev
$h3 down
127 ip link
set dev
$h2 down
128 simple_if_fini lag4
192.0.2.130/28 2001:db8
:2::2/64
129 ip link
set dev
$h3 nomaster
130 ip link
set dev
$h2 nomaster
136 team_create lag2 lacp
137 ip link
set dev lag2 address $
(mac_get
$swp1)
138 ip link
set dev
$swp1 master lag2
139 ip link
set dev
$swp4 master lag2
141 ip link add name br1 address $
(mac_get lag2
) \
142 type bridge vlan_filtering
1
143 ip link
set dev lag2 master br1
145 ip link
set dev
$swp1 up
146 ip link
set dev
$swp4 up
147 ip link
set dev br1 up
149 __addr_add_del br1 add
192.0.2.2/28 2001:db8
:1::2/64
151 team_create lag3 lacp
152 ip link
set dev lag3 address $
(mac_get
$swp2)
153 ip link
set dev
$swp2 master lag3
154 ip link
set dev
$swp3 master lag3
155 ip link
set dev
$swp2 up
156 ip link
set dev
$swp3 up
157 __addr_add_del lag3 add
192.0.2.129/28 2001:db8
:2::1/64
162 __addr_add_del lag3 del
192.0.2.129/28 2001:db8
:2::1/64
163 ip link
set dev
$swp3 down
164 ip link
set dev
$swp2 down
165 ip link
set dev
$swp3 nomaster
166 ip link
set dev
$swp2 nomaster
169 __addr_add_del br1 del
192.0.2.2/28 2001:db8
:1::2/64
171 ip link
set dev
$swp4 down
172 ip link
set dev
$swp1 down
173 ip link
set dev br1 down
175 ip link
set dev lag2 nomaster
178 ip link
set dev
$swp4 nomaster
179 ip link
set dev
$swp1 nomaster
183 config_remaster_lag2
()
185 log_info
"Remaster bridge slave"
187 ip link
set dev lag2 nomaster
189 ip link
set dev lag2 master br1
192 config_remaster_lag3
()
194 log_info
"Move lag3 to the bridge, then out again"
196 ip link
set dev lag3 master br1
198 ip link
set dev lag3 nomaster
203 local netdev
=$1; shift
205 log_info
"Deslave $netdev"
206 ip link
set dev
$netdev down
207 ip link
set dev
$netdev nomaster
208 ip link
set dev
$netdev up
211 config_deslave_swp1
()
216 config_deslave_swp2
()
221 config_deslave_swp3
()
226 config_deslave_swp4
()
233 local netdev
=$1; shift
234 local master
=$1; shift
236 log_info
"Enslave $netdev to $master"
237 ip link
set dev
$netdev down
238 ip link
set dev
$netdev master
$master
239 ip link
set dev
$netdev up
242 config_enslave_swp1
()
244 config_enslave
$swp1 lag2
247 config_enslave_swp2
()
249 config_enslave
$swp2 lag3
252 config_enslave_swp3
()
254 config_enslave
$swp3 lag3
257 config_enslave_swp4
()
259 config_enslave
$swp4 lag2
308 ping_test lag1
192.0.2.130
313 ping6_test lag1
2001:db8
:2::2