Skip to content

Commit 9c7c8a8

Browse files
pmachatadavem330
authored andcommitted
selftests: forwarding: mirror_gre_vlan_bridge_1q: Add more tests
Offloading of mirror-to-gretap in mlxsw is tricky especially in cases when the gretap underlay involves bridges. Add more tests that exercise the bridge handling code: - forbidden_egress tests that check vlan removal on bridge port in the underlay packet path - untagged_egress tests that similarly check "egress untagged" - fdb_roaming tests that check whether learning FDB on a different port is reflected - stp tests for handling port STP status of bridge egress port Signed-off-by: Petr Machata <petrm@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 6836801 commit 9c7c8a8

File tree

1 file changed

+129
-0
lines changed

1 file changed

+129
-0
lines changed

tools/testing/selftests/net/forwarding/mirror_gre_vlan_bridge_1q.sh

Lines changed: 129 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ ALL_TESTS="
1212
test_ip6gretap
1313
test_gretap_forbidden_cpu
1414
test_ip6gretap_forbidden_cpu
15+
test_gretap_forbidden_egress
16+
test_ip6gretap_forbidden_egress
17+
test_gretap_untagged_egress
18+
test_ip6gretap_untagged_egress
19+
test_gretap_fdb_roaming
20+
test_ip6gretap_fdb_roaming
21+
test_gretap_stp
22+
test_ip6gretap_stp
1523
"
1624

1725
NUM_NETIFS=6
@@ -43,12 +51,14 @@ setup_prepare()
4351

4452
ip link set dev $swp3 master br1
4553
bridge vlan add dev $swp3 vid 555
54+
bridge vlan add dev $swp2 vid 555
4655
}
4756

4857
cleanup()
4958
{
5059
pre_cleanup
5160

61+
ip link set dev $swp2 nomaster
5262
ip link set dev $swp3 nomaster
5363
vlan_destroy $h3 555
5464
vlan_destroy br1 555
@@ -112,6 +122,125 @@ test_ip6gretap_forbidden_cpu()
112122
test_span_gre_forbidden_cpu gt6 "mirror to ip6gretap"
113123
}
114124

125+
test_span_gre_forbidden_egress()
126+
{
127+
local tundev=$1; shift
128+
local what=$1; shift
129+
130+
RET=0
131+
132+
mirror_install $swp1 ingress $tundev "matchall $tcflags"
133+
quick_test_span_gre_dir $tundev ingress
134+
135+
bridge vlan del dev $swp3 vid 555
136+
sleep 1
137+
fail_test_span_gre_dir $tundev ingress
138+
139+
bridge vlan add dev $swp3 vid 555
140+
# Re-prime FDB
141+
arping -I br1.555 192.0.2.130 -fqc 1
142+
sleep 1
143+
quick_test_span_gre_dir $tundev ingress
144+
145+
mirror_uninstall $swp1 ingress
146+
147+
log_test "$what: vlan forbidden at a bridge egress ($tcflags)"
148+
}
149+
150+
test_gretap_forbidden_egress()
151+
{
152+
test_span_gre_forbidden_egress gt4 "mirror to gretap"
153+
}
154+
155+
test_ip6gretap_forbidden_egress()
156+
{
157+
test_span_gre_forbidden_egress gt6 "mirror to ip6gretap"
158+
}
159+
160+
test_span_gre_untagged_egress()
161+
{
162+
local tundev=$1; shift
163+
local what=$1; shift
164+
165+
RET=0
166+
167+
mirror_install $swp1 ingress $tundev "matchall $tcflags"
168+
169+
quick_test_span_gre_dir $tundev ingress
170+
quick_test_span_vlan_dir $h3 555 ingress
171+
172+
bridge vlan add dev $swp3 vid 555 pvid untagged
173+
sleep 1
174+
quick_test_span_gre_dir $tundev ingress
175+
fail_test_span_vlan_dir $h3 555 ingress
176+
177+
bridge vlan add dev $swp3 vid 555
178+
sleep 1
179+
quick_test_span_gre_dir $tundev ingress
180+
quick_test_span_vlan_dir $h3 555 ingress
181+
182+
mirror_uninstall $swp1 ingress
183+
184+
log_test "$what: vlan untagged at a bridge egress ($tcflags)"
185+
}
186+
187+
test_gretap_untagged_egress()
188+
{
189+
test_span_gre_untagged_egress gt4 "mirror to gretap"
190+
}
191+
192+
test_ip6gretap_untagged_egress()
193+
{
194+
test_span_gre_untagged_egress gt6 "mirror to ip6gretap"
195+
}
196+
197+
test_span_gre_fdb_roaming()
198+
{
199+
local tundev=$1; shift
200+
local what=$1; shift
201+
local h3mac=$(mac_get $h3)
202+
203+
RET=0
204+
205+
mirror_install $swp1 ingress $tundev "matchall $tcflags"
206+
quick_test_span_gre_dir $tundev ingress
207+
208+
bridge fdb del dev $swp3 $h3mac vlan 555 master
209+
bridge fdb add dev $swp2 $h3mac vlan 555 master
210+
sleep 1
211+
fail_test_span_gre_dir $tundev ingress
212+
213+
bridge fdb del dev $swp2 $h3mac vlan 555 master
214+
# Re-prime FDB
215+
arping -I br1.555 192.0.2.130 -fqc 1
216+
sleep 1
217+
quick_test_span_gre_dir $tundev ingress
218+
219+
mirror_uninstall $swp1 ingress
220+
221+
log_test "$what: MAC roaming ($tcflags)"
222+
}
223+
224+
test_gretap_fdb_roaming()
225+
{
226+
test_span_gre_fdb_roaming gt4 "mirror to gretap"
227+
}
228+
229+
test_ip6gretap_fdb_roaming()
230+
{
231+
test_span_gre_fdb_roaming gt6 "mirror to ip6gretap"
232+
}
233+
234+
test_gretap_stp()
235+
{
236+
full_test_span_gre_stp gt4 $swp3 "mirror to gretap"
237+
}
238+
239+
test_ip6gretap_stp()
240+
{
241+
full_test_span_gre_stp gt6 $swp3 "mirror to ip6gretap"
242+
}
243+
115244
test_all()
116245
{
117246
slow_path_trap_install $swp1 ingress

0 commit comments

Comments
 (0)