[nf-next,v3,0/7] Flow offload infrastructure

Message ID 20171222192732.13188-1-pablo@netfilter.org
Headers show
Series
  • Flow offload infrastructure
Related show

Message

Pablo Neira Ayuso Dec. 22, 2017, 7:27 p.m.
Hi,

This is a new round of the patchset to add the flow offload
infrastructure [1][2].

This round comes with IPv6 and mixed IPv4/IPv6 support, hardware offload
support in a separated nf_flow_table_hw module, port translation, net
namespace support and several bugfixes.

Patch 7/7 has been tagged as RFC, I will keep this one back until
there's an initial driver that introduces flow table offload support,
likely in a branch in nf-next.git once this new infrastructure gets
merged upstream.

Comments welcome, thanks.

[1] https://lwn.net/Articles/738214/
[2] https://marc.info/?l=netfilter-devel&m=151266258119014&w=2

Pablo Neira Ayuso (7):
  netfilter: nf_tables: add flow table netlink frontend
  netfilter: add generic flow table infrastructure
  netfilter: flow table support for IPv4
  netfilter: flow table support for IPv6
  netfilter: flow table support for the mixed IPv4/IPv6 family
  netfilter: nf_tables: flow offload expression
  netfilter: nf_flow_table: add hardware offload support

 include/linux/netdevice.h                |   9 +
 include/net/ipv6.h                       |   2 +
 include/net/netfilter/nf_flow_table.h    | 128 ++++++
 include/net/netfilter/nf_tables.h        |  48 ++
 include/uapi/linux/netfilter/nf_tables.h |  64 +++
 net/ipv4/netfilter/Kconfig               |   8 +
 net/ipv4/netfilter/Makefile              |   3 +
 net/ipv4/netfilter/nf_flow_table_ipv4.c  | 284 ++++++++++++
 net/ipv6/ip6_output.c                    |   3 +-
 net/ipv6/netfilter/Kconfig               |   8 +
 net/ipv6/netfilter/Makefile              |   3 +
 net/ipv6/netfilter/nf_flow_table_ipv6.c  | 278 ++++++++++++
 net/netfilter/Kconfig                    |  31 ++
 net/netfilter/Makefile                   |   5 +
 net/netfilter/nf_flow_table.c            | 447 ++++++++++++++++++
 net/netfilter/nf_flow_table_hw.c         | 127 ++++++
 net/netfilter/nf_flow_table_inet.c       |  48 ++
 net/netfilter/nf_tables_api.c            | 749 ++++++++++++++++++++++++++++++-
 net/netfilter/nft_flow_offload.c         | 272 +++++++++++
 19 files changed, 2515 insertions(+), 2 deletions(-)
 create mode 100644 include/net/netfilter/nf_flow_table.h
 create mode 100644 net/ipv4/netfilter/nf_flow_table_ipv4.c
 create mode 100644 net/ipv6/netfilter/nf_flow_table_ipv6.c
 create mode 100644 net/netfilter/nf_flow_table.c
 create mode 100644 net/netfilter/nf_flow_table_hw.c
 create mode 100644 net/netfilter/nf_flow_table_inet.c
 create mode 100644 net/netfilter/nft_flow_offload.c