Current conntrack offload implementation doesn't provide much visibility and control over offload code. There is no way to determine current load on workqueues that process the offload tasks which makes it hard to debug the cases where offload is significantly delayed due to rate of new connections being higher than driver or hardware offload rate. Improve the debuggability by introducing procfs for current total of workqueue tasks for nf_ft_offload_add, nf_ft_offload_del and nf_ft_offload_stats queues. This allows visibility for flow offload delay due to system scheduling offload tasks faster than driver/hardware can process them. Vlad Buslov (2): net/sched: act_ct: set 'net' pointer when creating new nf_flow_table netfilter: nf_flow_table: count pending offload workqueue tasks include/net/net_namespace.h | 6 ++ include/net/netfilter/nf_flow_table.h | 21 +++++++ include/net/netns/flow_table.h | 14 +++++ net/netfilter/Kconfig | 9 +++ net/netfilter/Makefile | 1 + net/netfilter/nf_flow_table_core.c | 62 ++++++++++++++++++++- net/netfilter/nf_flow_table_offload.c | 17 +++++- net/netfilter/nf_flow_table_procfs.c | 80 +++++++++++++++++++++++++++ net/sched/act_ct.c | 5 +- 9 files changed, 209 insertions(+), 6 deletions(-) create mode 100644 include/net/netns/flow_table.h create mode 100644 net/netfilter/nf_flow_table_procfs.c -- 2.36.1