Skip to content

Commit 4fb20ae

Browse files
idoschdavem330
authored andcommitted
selftests: forwarding: Test IPv6 weighted nexthops
Have one host generate 16K IPv6 echo requests with a random flow label and check that they are distributed between both multipath links according to the provided weights. Signed-off-by: Ido Schimmel <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 3d578d8 commit 4fb20ae

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

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

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -226,12 +226,48 @@ multipath4_test()
226226
sysctl -q -w net.ipv4.fib_multipath_hash_policy=$hash_policy
227227
}
228228

229+
multipath6_test()
230+
{
231+
local weight_rp12=$1
232+
local weight_rp13=$2
233+
local t0_rp12 t0_rp13 t1_rp12 t1_rp13
234+
local packets_rp12 packets_rp13
235+
236+
ip route replace 2001:db8:2::/64 vrf vrf-r1 \
237+
nexthop via fe80:2::22 dev $rp12 weight $weight_rp12 \
238+
nexthop via fe80:3::23 dev $rp13 weight $weight_rp13
239+
240+
t0_rp12=$(link_stats_tx_packets_get $rp12)
241+
t0_rp13=$(link_stats_tx_packets_get $rp13)
242+
243+
# Generate 16384 echo requests, each with a random flow label.
244+
for _ in $(seq 1 16384); do
245+
ip vrf exec vrf-h1 ping 2001:db8:2::2 -F 0 -c 1 -q &> /dev/null
246+
done
247+
248+
t1_rp12=$(link_stats_tx_packets_get $rp12)
249+
t1_rp13=$(link_stats_tx_packets_get $rp13)
250+
251+
let "packets_rp12 = $t1_rp12 - $t0_rp12"
252+
let "packets_rp13 = $t1_rp13 - $t0_rp13"
253+
multipath_eval $weight_rp12 $weight_rp13 $packets_rp12 $packets_rp13
254+
255+
ip route replace 2001:db8:2::/64 vrf vrf-r1 \
256+
nexthop via fe80:2::22 dev $rp12 \
257+
nexthop via fe80:3::23 dev $rp13
258+
}
259+
229260
multipath_test()
230261
{
231262
log_info "Running IPv4 multipath tests"
232263
multipath4_test 1 1
233264
multipath4_test 2 1
234265
multipath4_test 11 45
266+
267+
log_info "Running IPv6 multipath tests"
268+
multipath6_test 1 1
269+
multipath6_test 2 1
270+
multipath6_test 11 45
235271
}
236272

237273
setup_prepare()

0 commit comments

Comments
 (0)