Re: [PATCH net-next 4/4] net/sched: act_mirred: Implement ingress actions
flat view
From: Shmulik Ladkani <hidden>
Date: 2016-09-23 05:11:19
Hi, On Thu, 22 Sep 2016 19:40:15 -0400 Jamal Hadi Salim [off-list ref] wrote:
On 16-09-22 09:21 AM, Shmulik Ladkani wrote:quoted
From: Shmulik Ladkani <redacted> Up until now, 'action mirred' supported only egress actions (either TCA_EGRESS_REDIR or TCA_EGRESS_MIRROR). This patch implements the corresponding ingress actions TCA_INGRESS_REDIR and TCA_INGRESS_MIRROR. This allows attaching filters whose target is to hand matching skbs into the rx processing of a specified device.Thank you for doing this. There was something that made me remove initial support for this feature - I am blanking out right now but will find my notes and give more details.
Thanks Jamal, appreciate any details. Was wondering why it's missing, googled a bit with no meaningful results, so speculated the following: Some time long ago, initial 'mirred' purpose was to facilitate ifb. Therefore 'egress redirect' was implemented. Jamal probably left the 'ingress' support for a later time :) One interesting usecase for 'ingress redirect' is creating "rx bouncing" construct (like macvlan/macvtap/ipvlan) but applied according to custom logic.
It may be around preventing loops maybe.
Could be, but personally, I treat these constructs as (powerful)
building blocks, and "with great power comes great responsibility".
Even today, one may create loops using existing 'egress redirect',
e.g. this rediculously errorneous construct:
# ip l add v0 type veth peer name v0p
# tc filter add dev v0p parent ffff: basic \
action mirred egress redirect dev v0
Regards,
Shmulik