[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1440808463-14526-1-git-send-email-dsa@cumulusnetworks.com>
Date: Fri, 28 Aug 2015 17:34:20 -0700
From: David Ahern <dsa@...ulusnetworks.com>
To: netdev@...r.kernel.org
Cc: David Ahern <dsa@...ulusnetworks.com>
Subject: [RFC PATCH net-next 0/3] L3 RX handler
Currently the VRF driver registers an Rx handler for enslaved devices.
The handler switches the skb->dev to the VRF device and sends it back for
another pass. While this works fine a side effect is that it bypasses
netfilter with the skb set to the original device.
Looking at how to provide that feature a few options come to mind:
1. Have the rx handler in the VRF driver duplicate some of the processing
of ip_rcv up to the NF_HOOK and then switch the skb->dev to vrf device.
2. Run NF_HOOK in ip_rcv twice -- once with orig_dev and then again for dev.
3. Introduce an L3 rx-handler that provides the option of hooking packets
at L3 rather than the current backlog loop.
This RFC looks at option 3. I wanted to get opinions on the approach
versus other options.
David Ahern (3):
net: Introduce L3 RX Handler
net: Add L3 Rx handler to IPv4 processing
net: Change VRF driver to use the new L3 RX handler
drivers/net/vrf.c | 32 +++++++++------------------
include/linux/netdevice.h | 6 ++++++
net/core/dev.c | 55 ++++++++++++++++++++++++++++++++++++++---------
net/ipv4/ip_input.c | 32 +++++++++++++++++++++++++--
4 files changed, 91 insertions(+), 34 deletions(-)
--
1.9.1
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists