···88[ $cpus -gt 2 ] || exit $ksft_skip991010readonly INITIAL_RPS_DEFAULT_MASK=$(cat /proc/sys/net/core/rps_default_mask)1111-readonly NETNS="ns-$(mktemp -u XXXXXX)"1111+readonly TAG="$(mktemp -u XXXXXX)"1212+readonly VETH="veth${TAG}"1313+readonly NETNS="ns-${TAG}"12141315setup() {1416 ip netns add "${NETNS}"···2321}24222523chk_rps() {2626- local rps_mask expected_rps_mask=$32727- local dev_name=$22424+ local rps_mask expected_rps_mask=$42525+ local dev_name=$32626+ local netns=$22727+ local cmd="cat"2828 local msg=$129293030- rps_mask=$(ip netns exec $NETNS cat /sys/class/net/$dev_name/queues/rx-0/rps_cpus)3030+ [ -n "$netns" ] && cmd="ip netns exec $netns $cmd"3131+3232+ rps_mask=$($cmd /sys/class/net/$dev_name/queues/rx-0/rps_cpus)3133 printf "%-60s" "$msg"3234 if [ $rps_mask -eq $expected_rps_mask ]; then3335 echo "[ ok ]"···45394640echo 0 > /proc/sys/net/core/rps_default_mask4741setup4848-chk_rps "empty rps_default_mask" lo 04242+chk_rps "empty rps_default_mask" $NETNS lo 04943cleanup50445145echo 1 > /proc/sys/net/core/rps_default_mask5246setup5353-chk_rps "non zero rps_default_mask" lo 14747+chk_rps "changing rps_default_mask dont affect existing devices" "" lo $INITIAL_RPS_DEFAULT_MASK54485549echo 3 > /proc/sys/net/core/rps_default_mask5656-chk_rps "changing rps_default_mask dont affect existing netns" lo 15050+chk_rps "changing rps_default_mask dont affect existing netns" $NETNS lo 057515858-ip -n $NETNS link add type veth5959-ip -n $NETNS link set dev veth0 up6060-ip -n $NETNS link set dev veth1 up6161-chk_rps "changing rps_default_mask affect newly created devices" veth0 36262-chk_rps "changing rps_default_mask affect newly created devices[II]" veth1 35252+ip link add name $VETH type veth peer netns $NETNS name $VETH5353+ip link set dev $VETH up5454+ip -n $NETNS link set dev $VETH up5555+chk_rps "changing rps_default_mask affect newly created devices" "" $VETH 35656+chk_rps "changing rps_default_mask don't affect newly child netns[II]" $NETNS $VETH 05757+ip netns del $NETNS5858+5959+setup6060+chk_rps "rps_default_mask is 0 by default in child netns" "$NETNS" lo 06161+6262+ip netns exec $NETNS sysctl -qw net.core.rps_default_mask=16363+ip link add name $VETH type veth peer netns $NETNS name $VETH6464+chk_rps "changing rps_default_mask in child ns don't affect the main one" "" lo $INITIAL_RPS_DEFAULT_MASK6565+chk_rps "changing rps_default_mask in child ns affects new childns devices" $NETNS $VETH 16666+chk_rps "changing rps_default_mask in child ns don't affect existing devices" $NETNS lo 06767+6368exit $ret