Path: blob/master/tools/testing/selftests/drivers/net/team/propagation.sh
26296 views
#!/bin/bash1# SPDX-License-Identifier: GPL-2.023set -e45NSIM_LRO_ID=$((256 + RANDOM % 256))6NSIM_LRO_SYS=/sys/bus/netdevsim/devices/netdevsim$NSIM_LRO_ID78NSIM_DEV_SYS_NEW=/sys/bus/netdevsim/new_device9NSIM_DEV_SYS_DEL=/sys/bus/netdevsim/del_device1011cleanup()12{13set +e14ip link del dummyteam &>/dev/null15ip link del team0 &>/dev/null16echo $NSIM_LRO_ID > $NSIM_DEV_SYS_DEL17modprobe -r netdevsim18}1920# Trigger LRO propagation to the lower.21# https://lore.kernel.org/netdev/aBvOpkIoxcr9PfDg@mini-arch/22team_lro()23{24# using netdevsim because it supports NETIF_F_LRO25NSIM_LRO_NAME=$(find $NSIM_LRO_SYS/net -maxdepth 1 -type d ! \26-path $NSIM_LRO_SYS/net -exec basename {} \;)2728ip link add name team0 type team29ip link set $NSIM_LRO_NAME down30ip link set dev $NSIM_LRO_NAME master team031ip link set team0 up32ethtool -K team0 large-receive-offload off3334ip link del team035}3637# Trigger promisc propagation to the lower during IFLA_MASTER.38# https://lore.kernel.org/netdev/[email protected]/39team_promisc()40{41ip link add name dummyteam type dummy42ip link add name team0 type team43ip link set dummyteam down44ip link set team0 promisc on45ip link set dev dummyteam master team046ip link set team0 up4748ip link del team049ip link del dummyteam50}5152# Trigger promisc propagation to the lower via netif_change_flags (aka53# ndo_change_rx_flags).54# https://lore.kernel.org/netdev/[email protected]/55team_change_flags()56{57ip link add name dummyteam type dummy58ip link add name team0 type team59ip link set dummyteam down60ip link set dev dummyteam master team061ip link set team0 up62ip link set team0 promisc on6364# Make sure we can add more L2 addresses without any issues.65ip link add link team0 address 00:00:00:00:00:01 team0.1 type macvlan66ip link set team0.1 up6768ip link del team0.169ip link del team070ip link del dummyteam71}7273trap cleanup EXIT74modprobe netdevsim || :75echo $NSIM_LRO_ID > $NSIM_DEV_SYS_NEW76udevadm settle77team_lro78team_promisc79team_change_flags808182