/
usr
/
src
/
linux-headers-5.15.0-190
/
tools
/
testing
/
selftests
/
drivers
/
net
/
mlxsw
/
/usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw
mkdir
upload
Name
Size
Mode
Actions
spectrum/
-
0755
rm
spectrum-2/
-
0755
rm
blackhole_routes.sh
5075
0755
edit
dl
rm
devlink_trap.sh
1928
0755
edit
dl
rm
devlink_trap_acl_drops.sh
2458
0755
edit
dl
rm
devlink_trap_control.sh
18399
0755
edit
dl
rm
devlink_trap_l2_drops.sh
9966
0755
edit
dl
rm
devlink_trap_l3_drops.sh
16812
0755
edit
dl
rm
devlink_trap_l3_exceptions.sh
14098
0755
edit
dl
rm
devlink_trap_policer.sh
9441
0755
edit
dl
rm
devlink_trap_tunnel_ipip.sh
6035
0755
edit
dl
rm
devlink_trap_tunnel_vxlan.sh
8989
0755
edit
dl
rm
ethtool_lanes.sh
4026
0755
edit
dl
rm
extack.sh
3471
0755
edit
dl
rm
fib.sh
5562
0755
edit
dl
rm
fib_offload.sh
10164
0755
edit
dl
rm
mirror_gre.sh
4447
0755
edit
dl
rm
mirror_gre_scale.sh
5782
0644
edit
dl
rm
mlxsw_lib.sh
362
0644
edit
dl
rm
one_armed_router.sh
6950
0755
edit
dl
rm
port_scale.sh
1391
0644
edit
dl
rm
qos_defprio.sh
2738
0755
edit
dl
rm
qos_dscp_bridge.sh
4325
0755
edit
dl
rm
qos_dscp_router.sh
6764
0755
edit
dl
rm
qos_ets_strict.sh
8810
0755
edit
dl
rm
qos_headroom.sh
8367
0755
edit
dl
rm
qos_lib.sh
1918
0644
edit
dl
rm
qos_mc_aware.sh
9412
0755
edit
dl
rm
qos_pfc.sh
11700
0755
edit
dl
rm
q_in_q_veto.sh
7948
0755
edit
dl
rm
router_scale.sh
2138
0644
edit
dl
rm
rtnetlink.sh
30604
0755
edit
dl
rm
sch_ets.sh
2332
0755
edit
dl
rm
sch_red_core.sh
18014
0644
edit
dl
rm
sch_red_ets.sh
2476
0755
edit
dl
rm
sch_red_prio.sh
81
0755
edit
dl
rm
sch_red_root.sh
1081
0755
edit
dl
rm
sch_tbf_ets.sh
175
0755
edit
dl
rm
sch_tbf_prio.sh
176
0755
edit
dl
rm
sch_tbf_root.sh
176
0755
edit
dl
rm
sharedbuffer.sh
3912
0755
edit
dl
rm
tc_action_hw_stats.sh
2293
0755
edit
dl
rm
tc_flower_scale.sh
2460
0644
edit
dl
rm
tc_police_occ.sh
2120
0755
edit
dl
rm
tc_police_scale.sh
1660
0644
edit
dl
rm
tc_restrictions.sh
11847
0755
edit
dl
rm
tc_sample.sh
17891
0755
edit
dl
rm
vxlan.sh
29996
0755
edit
dl
rm
vxlan_fdb_veto.sh
2955
0755
edit
dl
rm
vxlan_flooding.sh
8849
0755
edit
dl
rm
Edit:
/usr/src/linux-headers-5.15.0-190/tools/testing/selftests/drivers/net/mlxsw/mirror_gre_scale.sh
(5782B)
# SPDX-License-Identifier: GPL-2.0 # Test offloading a number of mirrors-to-gretap. The test creates a number of # tunnels. Then it adds one flower mirror for each of the tunnels, matching a # given host IP. Then it generates traffic at each of the host IPs and checks # that the traffic has been mirrored at the appropriate tunnel. # # +--------------------------+ +--------------------------+ # | H1 | | H2 | # | + $h1 | | $h2 + | # | | 2001:db8:1:X::1/64 | | 2001:db8:1:X::2/64 | | # +-----|--------------------+ +--------------------|-----+ # | | # +-----|-------------------------------------------------------------|-----+ # | SW o--> mirrors | | # | +---|-------------------------------------------------------------|---+ | # | | + $swp1 BR $swp2 + | | # | +---------------------------------------------------------------------+ | # | | # | + $swp3 + gt6-<X> (ip6gretap) | # | | 2001:db8:2:X::1/64 : loc=2001:db8:2:X::1 | # | | : rem=2001:db8:2:X::2 | # | | : ttl=100 | # | | : tos=inherit | # | | : | # +-----|--------------------------------:----------------------------------+ # | : # +-----|--------------------------------:----------------------------------+ # | H3 + $h3 + h3-gt6-<X> (ip6gretap) | # | 2001:db8:2:X::2/64 loc=2001:db8:2:X::2 | # | rem=2001:db8:2:X::1 | # | ttl=100 | # | tos=inherit | # | | # +-------------------------------------------------------------------------+ source ../../../../net/forwarding/mirror_lib.sh MIRROR_NUM_NETIFS=6 mirror_gre_ipv6_addr() { local net=$1; shift local num=$1; shift printf "2001:db8:%x:%x" $net $num } mirror_gre_tunnels_create() { local count=$1; shift local should_fail=$1; shift MIRROR_GRE_BATCH_FILE="$(mktemp)" for ((i=0; i < count; ++i)); do local match_dip=$(mirror_gre_ipv6_addr 1 $i)::2 local htun=h3-gt6-$i local tun=gt6-$i ((mirror_gre_tunnels++)) ip address add dev $h1 $(mirror_gre_ipv6_addr 1 $i)::1/64 ip address add dev $h2 $(mirror_gre_ipv6_addr 1 $i)::2/64 ip address add dev $swp3 $(mirror_gre_ipv6_addr 2 $i)::1/64 ip address add dev $h3 $(mirror_gre_ipv6_addr 2 $i)::2/64 tunnel_create $tun ip6gretap \ $(mirror_gre_ipv6_addr 2 $i)::1 \ $(mirror_gre_ipv6_addr 2 $i)::2 \ ttl 100 tos inherit allow-localremote tunnel_create $htun ip6gretap \ $(mirror_gre_ipv6_addr 2 $i)::2 \ $(mirror_gre_ipv6_addr 2 $i)::1 ip link set $htun vrf v$h3 matchall_sink_create $htun cat >> $MIRROR_GRE_BATCH_FILE <<-EOF filter add dev $swp1 ingress pref 1000 \ protocol ipv6 \ flower $tcflags dst_ip $match_dip \ action mirred egress mirror dev $tun EOF done tc -b $MIRROR_GRE_BATCH_FILE check_err_fail $should_fail $? "Mirror rule insertion" } mirror_gre_tunnels_destroy() { local count=$1; shift for ((i=0; i < count; ++i)); do local htun=h3-gt6-$i local tun=gt6-$i ip address del dev $h3 $(mirror_gre_ipv6_addr 2 $i)::2/64 ip address del dev $swp3 $(mirror_gre_ipv6_addr 2 $i)::1/64 ip address del dev $h2 $(mirror_gre_ipv6_addr 1 $i)::2/64 ip address del dev $h1 $(mirror_gre_ipv6_addr 1 $i)::1/64 tunnel_destroy $htun tunnel_destroy $tun done } __mirror_gre_test() { local count=$1; shift local should_fail=$1; shift mirror_gre_tunnels_create $count $should_fail if ((should_fail)); then return fi sleep 5 for ((i = 0; i < count; ++i)); do local sip=$(mirror_gre_ipv6_addr 1 $i)::1 local dip=$(mirror_gre_ipv6_addr 1 $i)::2 local htun=h3-gt6-$i local message icmp6_capture_install $htun mirror_test v$h1 $sip $dip $htun 100 10 icmp6_capture_uninstall $htun done } mirror_gre_test() { local count=$1; shift local should_fail=$1; shift if ! tc_offload_check $TC_FLOWER_NUM_NETIFS; then check_err 1 "Could not test offloaded functionality" return fi tcflags="skip_sw" __mirror_gre_test $count $should_fail } mirror_gre_setup_prepare() { h1=${NETIFS[p1]} swp1=${NETIFS[p2]} swp2=${NETIFS[p3]} h2=${NETIFS[p4]} swp3=${NETIFS[p5]} h3=${NETIFS[p6]} mirror_gre_tunnels=0 vrf_prepare simple_if_init $h1 simple_if_init $h2 simple_if_init $h3 ip link add name br1 type bridge vlan_filtering 1 ip link set dev br1 up ip link set dev $swp1 master br1 ip link set dev $swp1 up tc qdisc add dev $swp1 clsact ip link set dev $swp2 master br1 ip link set dev $swp2 up ip link set dev $swp3 up } mirror_gre_cleanup() { mirror_gre_tunnels_destroy $mirror_gre_tunnels ip link set dev $swp3 down ip link set dev $swp2 down tc qdisc del dev $swp1 clsact ip link set dev $swp1 down ip link del dev br1 simple_if_fini $h3 simple_if_fini $h2 simple_if_fini $h1 vrf_cleanup }
Save
cmd:
run