]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net/sched: act_sample: don't push mac header on ip6gre ingress
authorDavide Caratti <dcaratti@redhat.com>
Tue, 17 Sep 2019 09:30:55 +0000 (11:30 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 5 Oct 2019 11:13:15 +0000 (13:13 +0200)
commit19bd1045958b983a30023c09fcb84f049c6c5038
treee9da3bc09668615526f95e251c60078e6cde0e4a
parentee8c5c7a6f9ab76de6620896ac9b02a636a32cbe
net/sched: act_sample: don't push mac header on ip6gre ingress

[ Upstream commit 92974a1d006ad8b30d53047c70974c9e065eb7df ]

current 'sample' action doesn't push the mac header of ingress packets if
they are received by a layer 3 tunnel (like gre or sit); but it forgot to
check for gre over ipv6, so the following script:

 # tc q a dev $d clsact
 # tc f a dev $d ingress protocol ip flower ip_proto icmp action sample \
 > group 100 rate 1
 # psample -v -g 100

dumps everything, including outer header and mac, when $d is a gre tunnel
over ipv6. Fix this adding a missing label for ARPHRD_IP6GRE devices.

Fixes: 5c5670fae430 ("net/sched: Introduce sample tc action")
Signed-off-by: Davide Caratti <dcaratti@redhat.com>
Reviewed-by: Yotam Gigi <yotam.gi@gmail.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/sched/act_sample.c