[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56C23C29.2060101@iogearbox.net>
Date: Mon, 15 Feb 2016 21:59:21 +0100
From: Daniel Borkmann <daniel@...earbox.net>
To: Jamal Hadi Salim <jhs@...atatu.com>
CC: davem@...emloft.net, netdev@...r.kernel.org
Subject: Re: [net-next PATCH 1/1] net_sched fix: reclassification needs to
consider ether protocol changes
On 02/15/2016 08:49 PM, Jamal Hadi Salim wrote:
> From: Jamal Hadi Salim <jhs@...atatu.com>
>
> actions could change the etherproto in particular with ethernet
> tunnelled data. Typically such actions, after peeling the outer header,
> will ask for the packet to be reclassified. We then need to restart
> the classification with the new proto header.
>
> Example setup used to catch this:
> sudo tc qdisc add dev $ETH ingress
> sudo tc filter add dev $ETH parent ffff: prio 2 protocol 0xbeef \
> u32 match u32 0 0 flowid 1:1 \
> action ife decode reclassify
ife action is out of tree, but I believe this should be possible with
vlan action and using reclassify as tc opcode.
> Fixes: 3b3ae880266d ("net: sched: consolidate tc_classify{,_compat}")
> Signed-off-by: Jamal Hadi Salim <jhs@...atatu.com>
Has kbuild bot issues, I'd probably just move this under 'reset' label,
like:
diff --git a/net/sched/sch_api.c b/net/sched/sch_api.c
index b5c2cf2..af1acf0 100644
--- a/net/sched/sch_api.c
+++ b/net/sched/sch_api.c
@@ -1852,6 +1852,7 @@ reset:
}
tp = old_tp;
+ protocol = tc_skb_protocol(skb);
goto reclassify;
#endif
}
Thanks,
Daniel
Powered by blists - more mailing lists