[PATCH nf 0/4] netfilter: nf_flow_table: fix several flowtable bugs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This patch set fixes several bugs in the flowtable modules.

First patch fixes netdev refcnt leak bug.
The flow offload routine allocates a dst_entry and that has 1 refcnt.
So the dst_release() should be called.
This patch just adds missing dst_release() in the end of
nft_flow_offload_eval().

Second patch adds TCP status check routine.
Only ESTABLISHED TCP session should have flow offload.
But flow offload routine do not check TCP status. So all of TCP status
can be flow offloaded session.
After this patch, only ESTABLISHED TCP session can be flow offloaded
session.

Third patch adds ttl value check routine.
Flow offload data-path routine decreases ttl value. but it doesn't check
ttl value.
This patch just adds ttl value check routine.
If ttl value is under 1, the packet will be passed up to the L3.

Fourth patch adds CT condition check routine into flow offload routines.
a flow offloaded CT can be deleted by masquerade notifier. if so,
the flow offload shouldn't be used in flow offload data-path and
the GC should delete that.
If the CT is flow offloaded and ct_general.use is 1, it means the CT is
removed  from the list and flow offload should be deleted GC.

Taehee Yoo (4):
  netfilter: nf_flow_table: fix netdev refcnt leak
  netfilter: nft_flow_offload: do not make un-established tcp
    flow_offload session.
  netfilter: nf_flow_table: check ttl value in flow offload data path
  netfilter: nf_flow_table: do not use deleted CT's flow offload

 net/netfilter/nf_flow_table_core.c | 10 +++++++++-
 net/netfilter/nf_flow_table_ip.c   |  6 ++++++
 net/netfilter/nft_flow_offload.c   |  4 ++++
 3 files changed, 19 insertions(+), 1 deletion(-)

-- 
2.17.1




[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux