~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/net/ip6_gre_headroom.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/bash
  2 # SPDX-License-Identifier: GPL-2.0
  3 #
  4 # Test that enough headroom is reserved for the first packet passing through an
  5 # IPv6 GRE-like netdevice.
  6 
  7 setup_prepare()
  8 {
  9         ip link add h1 type veth peer name swp1
 10         ip link add h3 type veth peer name swp3
 11 
 12         ip link set dev h1 up
 13         ip address add 192.0.2.1/28 dev h1
 14 
 15         ip link add dev vh3 type vrf table 20
 16         ip link set dev h3 master vh3
 17         ip link set dev vh3 up
 18         ip link set dev h3 up
 19 
 20         ip link set dev swp3 up
 21         ip address add dev swp3 2001:db8:2::1/64
 22         ip address add dev swp3 2001:db8:2::3/64
 23 
 24         ip link set dev swp1 up
 25         tc qdisc add dev swp1 clsact
 26 
 27         ip link add name er6 type ip6erspan \
 28            local 2001:db8:2::1 remote 2001:db8:2::2 oseq okey 123
 29         ip link set dev er6 up
 30 
 31         ip link add name gt6 type ip6gretap \
 32            local 2001:db8:2::3 remote 2001:db8:2::4
 33         ip link set dev gt6 up
 34 
 35         sleep 1
 36 }
 37 
 38 cleanup()
 39 {
 40         ip link del dev gt6
 41         ip link del dev er6
 42         ip link del dev swp1
 43         ip link del dev swp3
 44         ip link del dev vh3
 45 }
 46 
 47 test_headroom()
 48 {
 49         local type=$1; shift
 50         local tundev=$1; shift
 51 
 52         tc filter add dev swp1 ingress pref 1000 matchall skip_hw \
 53                 action mirred egress mirror dev $tundev
 54         ping -I h1 192.0.2.2 -c 1 -w 2 &> /dev/null
 55         tc filter del dev swp1 ingress pref 1000
 56 
 57         # If it doesn't panic, it passes.
 58         printf "TEST: %-60s  [PASS]\n" "$type headroom"
 59 }
 60 
 61 trap cleanup EXIT
 62 
 63 setup_prepare
 64 test_headroom ip6gretap gt6
 65 test_headroom ip6erspan er6

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php