2 # SPDX-License-Identifier: GPL-2.0
4 # Test that enough headroom is reserved for the first packet passing through an
5 # IPv6 GRE-like netdevice.
9 ip link add h1
type veth peer name swp1
10 ip link add h3
type veth peer name swp3
13 ip address add
192.0.2.1/28 dev h1
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
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
24 ip link
set dev swp1 up
25 tc qdisc add dev swp1 clsact
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
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
50 local tundev
=$1; shift
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
57 # If it doesn't panic, it passes.
58 printf "TEST: %-60s [PASS]\n" "$type headroom"
64 test_headroom ip6gretap gt6
65 test_headroom ip6erspan er6