xref: /linux/tools/testing/selftests/net/skf_net_off.sh (revision 9d3da7827536b8e41e4188185622816a105b46f7)
1*fcd7132cSWillem de Bruijn#!/bin/bash
2*fcd7132cSWillem de Bruijn# SPDX-License-Identifier: GPL-2.0
3*fcd7132cSWillem de Bruijn
4*fcd7132cSWillem de Bruijnreadonly NS="ns-$(mktemp -u XXXXXX)"
5*fcd7132cSWillem de Bruijn
6*fcd7132cSWillem de Bruijncleanup() {
7*fcd7132cSWillem de Bruijn	ip netns del $NS
8*fcd7132cSWillem de Bruijn}
9*fcd7132cSWillem de Bruijn
10*fcd7132cSWillem de Bruijnip netns add $NS
11*fcd7132cSWillem de Bruijntrap cleanup EXIT
12*fcd7132cSWillem de Bruijn
13*fcd7132cSWillem de Bruijnip -netns $NS link set lo up
14*fcd7132cSWillem de Bruijnip -netns $NS tuntap add name tap1 mode tap
15*fcd7132cSWillem de Bruijnip -netns $NS link set tap1 up
16*fcd7132cSWillem de Bruijnip -netns $NS link set dev tap1 addr 02:00:00:00:00:01
17*fcd7132cSWillem de Bruijnip -netns $NS -6 addr add fdab::1 peer fdab::2 dev tap1 nodad
18*fcd7132cSWillem de Bruijnip netns exec $NS ethtool -K tap1 gro off
19*fcd7132cSWillem de Bruijn
20*fcd7132cSWillem de Bruijn# disable early demux, else udp_v6_early_demux pulls udp header into linear
21*fcd7132cSWillem de Bruijnip netns exec $NS sysctl -w net.ipv4.ip_early_demux=0
22*fcd7132cSWillem de Bruijn
23*fcd7132cSWillem de Bruijnecho "no filter"
24*fcd7132cSWillem de Bruijnip netns exec $NS ./skf_net_off -i tap1
25*fcd7132cSWillem de Bruijn
26*fcd7132cSWillem de Bruijnecho "filter, linear skb (-f)"
27*fcd7132cSWillem de Bruijnip netns exec $NS ./skf_net_off -i tap1 -f
28*fcd7132cSWillem de Bruijn
29*fcd7132cSWillem de Bruijnecho "filter, fragmented skb (-f) (-F)"
30*fcd7132cSWillem de Bruijnip netns exec $NS ./skf_net_off -i tap1 -f -F
31