Skip to content

Commit dc5f94b

Browse files
liuhangbinkuba-moo
authored andcommitted
selftests: bonding: add vlan over bond testing
Add a vlan over bond testing to make sure arp/ns target works. Also change all the configs to mudules. Signed-off-by: Hangbin Liu <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent a8ba87f commit dc5f94b

File tree

2 files changed

+59
-0
lines changed

2 files changed

+59
-0
lines changed

tools/testing/selftests/drivers/net/bonding/bond_options.sh

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ ALL_TESTS="
88
arp_validate
99
num_grat_arp
1010
fail_over_mac
11+
vlan_over_bond
1112
"
1213

1314
lib_dir=$(dirname "$0")
@@ -508,7 +509,64 @@ fail_over_mac()
508509
log_test "fail_over_mac 2" "failover: backup slave mac inherit"
509510
check_first_slave_random_mac
510511
log_test "fail_over_mac 2" "first slave mac random"
512+
}
513+
514+
vlan_over_bond_arp()
515+
{
516+
local mode="$1"
517+
RET=0
518+
519+
bond_reset "mode $mode arp_interval 100 arp_ip_target 192.0.3.10"
520+
ip -n "${s_ns}" link add bond0.3 link bond0 type vlan id 3
521+
ip -n "${s_ns}" link set bond0.3 up
522+
ip -n "${s_ns}" addr add 192.0.3.1/24 dev bond0.3
523+
ip -n "${s_ns}" addr add 2001:db8::3:1/64 dev bond0.3
524+
525+
slowwait_for_counter 5 5 tc_rule_handle_stats_get \
526+
"dev eth0.3 ingress" 101 ".packets" "-n ${c_ns}" &> /dev/null || RET=1
527+
log_test "vlan over bond arp" "$mode"
528+
}
529+
530+
vlan_over_bond_ns()
531+
{
532+
local mode="$1"
533+
RET=0
534+
535+
if skip_ns; then
536+
log_test_skip "vlan_over_bond ns" "$mode"
537+
return 0
538+
fi
511539

540+
bond_reset "mode $mode arp_interval 100 ns_ip6_target 2001:db8::3:10"
541+
ip -n "${s_ns}" link add bond0.3 link bond0 type vlan id 3
542+
ip -n "${s_ns}" link set bond0.3 up
543+
ip -n "${s_ns}" addr add 192.0.3.1/24 dev bond0.3
544+
ip -n "${s_ns}" addr add 2001:db8::3:1/64 dev bond0.3
545+
546+
slowwait_for_counter 5 5 tc_rule_handle_stats_get \
547+
"dev eth0.3 ingress" 102 ".packets" "-n ${c_ns}" &> /dev/null || RET=1
548+
log_test "vlan over bond ns" "$mode"
549+
}
550+
551+
vlan_over_bond()
552+
{
553+
# add vlan 3 for client
554+
ip -n "${c_ns}" link add eth0.3 link eth0 type vlan id 3
555+
ip -n "${c_ns}" link set eth0.3 up
556+
ip -n "${c_ns}" addr add 192.0.3.10/24 dev eth0.3
557+
ip -n "${c_ns}" addr add 2001:db8::3:10/64 dev eth0.3
558+
559+
# Add tc rule to check the vlan pkts
560+
tc -n "${c_ns}" qdisc add dev eth0.3 clsact
561+
tc -n "${c_ns}" filter add dev eth0.3 ingress protocol arp \
562+
handle 101 flower skip_hw arp_op request \
563+
arp_sip 192.0.3.1 arp_tip 192.0.3.10 action pass
564+
tc -n "${c_ns}" filter add dev eth0.3 ingress protocol ipv6 \
565+
handle 102 flower skip_hw ip_proto icmpv6 \
566+
type 135 src_ip 2001:db8::3:1 action pass
567+
568+
vlan_over_bond_arp "active-backup"
569+
vlan_over_bond_ns "active-backup"
512570
}
513571

514572
trap cleanup EXIT

tools/testing/selftests/drivers/net/bonding/config

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@ CONFIG_NET_CLS_MATCHALL=m
1010
CONFIG_NET_SCH_INGRESS=y
1111
CONFIG_NLMON=y
1212
CONFIG_VETH=y
13+
CONFIG_VLAN_8021Q=m

0 commit comments

Comments
 (0)