[PATCH nf-next 0/7] flowtable preparation for IPv4 over IPv6 and SIT
Pablo Neira Ayuso <[email protected]>
| Newsgroups | gmane.comp.security.firewalls.netfilter.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Lorenzo,
After reading your v6 series to add IPv4 over IPv6 and SIT support for
the flowtable, and also considering more recent preparation work that
went into net-next, I made this new series to explore easier integration
of your work.
Patch #1 is your update for dev_fill_forward_path() rebased on top
of nf-next.
Then, patches #2 to #7 revisit and consolidate existing infrastructure
to prepare for the IPv4 over IPv6 and SIT support.
From the flowtable datapath, the idea is to parse initially the layer 2
encapsulation and layer 3 tunnel with nf_flow_skb_encap_protocol().
Then, call the IPv4 or IPv6 flowtable lookup+forward function according
to the (inner, if any) IP header. Finally, there is another check
according on the (outer, if any) IP header to call the nf_flow_queue_xmit{4,6}
function according to the ctx->ether_type, which can be updated by the
forward function.
Let me know if I am missing anything, thanks!
Lorenzo Bianconi (1):
net: pass net_device_path_ctx to dev_fill_forward_path()
Pablo Neira Ayuso (6):
net: netfilter: add ether_type to net_device_path_ctx and use it
netfilter: flowtable: rename tun.l3_proto to tun.inner_proto
netfilter: flowtable: rename ctx.tun.proto to ctx.tun.inner_proto
netfilter: flowtable: store ethertype in flowtable context
netfilter: flowtable: move ipv4 and ipv6 xmit path to function
netfilter: flowtable: detach layer 2 encapsulation parser from lookup
drivers/net/ethernet/airoha/airoha_ppe.c | 7 +-
.../net/ethernet/mediatek/mtk_ppe_offload.c | 7 +-
include/linux/netdevice.h | 5 +-
include/net/netfilter/nf_flow_table.h | 2 +-
net/core/dev.c | 18 +-
net/ipv4/ipip.c | 5 +-
net/ipv6/ip6_tunnel.c | 5 +-
net/netfilter/nf_flow_table_ip.c | 167 ++++++++++--------
net/netfilter/nf_flow_table_path.c | 17 +-
9 files changed, 139 insertions(+), 94 deletions(-)
--
2.47.3