skf_net_off.sh 769 B

123456789101112131415161718192021222324252627282930
  1. #!/bin/bash
  2. # SPDX-License-Identifier: GPL-2.0
  3. readonly NS="ns-$(mktemp -u XXXXXX)"
  4. cleanup() {
  5. ip netns del $NS
  6. }
  7. ip netns add $NS
  8. trap cleanup EXIT
  9. ip -netns $NS link set lo up
  10. ip -netns $NS tuntap add name tap1 mode tap
  11. ip -netns $NS link set tap1 up
  12. ip -netns $NS link set dev tap1 addr 02:00:00:00:00:01
  13. ip -netns $NS -6 addr add fdab::1 peer fdab::2 dev tap1 nodad
  14. ip netns exec $NS ethtool -K tap1 gro off
  15. # disable early demux, else udp_v6_early_demux pulls udp header into linear
  16. ip netns exec $NS sysctl -w net.ipv4.ip_early_demux=0
  17. echo "no filter"
  18. ip netns exec $NS ./skf_net_off -i tap1
  19. echo "filter, linear skb (-f)"
  20. ip netns exec $NS ./skf_net_off -i tap1 -f
  21. echo "filter, fragmented skb (-f) (-F)"
  22. ip netns exec $NS ./skf_net_off -i tap1 -f -F