netfilter: nf_flow_table: hardware offload support
This patch adds the dataplane hardware offload to the flowtable infrastructure. Three new flags represent the hardware state of this flow: * FLOW_OFFLOAD_HW: This flow entry resides in the hardware. * FLOW_OFFLOAD_HW_DYING: This flow entry has been scheduled to be remove from hardware. This might be triggered by either packet path (via TCP RST/FIN packet) or via aging. * FLOW_OFFLOAD_HW_DEAD: This flow entry has been already removed from the hardware, the software garbage collector can remove it from the software flowtable. This patch supports for: * IPv4 only. * Aging via FLOW_CLS_STATS, no packet and byte counter synchronization at this stage. This patch also adds the action callback that specifies how to convert the flow entry into the flow_rule object that is passed to the driver. Signed-off-by:Pablo Neira Ayuso <pablo@netfilter.org> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- include/linux/netdevice.h 1 addition, 0 deletionsinclude/linux/netdevice.h
- include/net/netfilter/nf_flow_table.h 27 additions, 6 deletionsinclude/net/netfilter/nf_flow_table.h
- net/ipv4/netfilter/nf_flow_table_ipv4.c 1 addition, 0 deletionsnet/ipv4/netfilter/nf_flow_table_ipv4.c
- net/ipv6/netfilter/nf_flow_table_ipv6.c 1 addition, 0 deletionsnet/ipv6/netfilter/nf_flow_table_ipv6.c
- net/netfilter/Makefile 2 additions, 1 deletionnet/netfilter/Makefile
- net/netfilter/nf_flow_table_core.c 31 additions, 2 deletionsnet/netfilter/nf_flow_table_core.c
- net/netfilter/nf_flow_table_inet.c 1 addition, 0 deletionsnet/netfilter/nf_flow_table_inet.c
- net/netfilter/nf_flow_table_offload.c 758 additions, 0 deletionsnet/netfilter/nf_flow_table_offload.c
Loading
Please register or sign in to comment