diff options
author | Davide Caratti <dcaratti@redhat.com> | 2019-09-17 11:30:55 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-10-05 12:47:40 +0200 |
commit | 5c0146b51fa2118ddcd68d2da2d21174face307b (patch) | |
tree | 6ecefc8aea88581ccf7bbf0f0b5393db6a6006a4 /net/sched | |
parent | 088f93d00b81fe888fdd5f4a3e5b0383cbdf4d95 (diff) | |
download | linux-stable-5c0146b51fa2118ddcd68d2da2d21174face307b.tar.gz linux-stable-5c0146b51fa2118ddcd68d2da2d21174face307b.tar.bz2 linux-stable-5c0146b51fa2118ddcd68d2da2d21174face307b.zip |
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>
Diffstat (limited to 'net/sched')
-rw-r--r-- | net/sched/act_sample.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sched/act_sample.c b/net/sched/act_sample.c index 489db1064d5b..9d92eac01958 100644 --- a/net/sched/act_sample.c +++ b/net/sched/act_sample.c @@ -132,6 +132,7 @@ static bool tcf_sample_dev_ok_push(struct net_device *dev) case ARPHRD_TUNNEL6: case ARPHRD_SIT: case ARPHRD_IPGRE: + case ARPHRD_IP6GRE: case ARPHRD_VOID: case ARPHRD_NONE: return false; |