diff options
Diffstat (limited to 'target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch')
-rw-r--r-- | target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch b/target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch index 64eda53295..7c10f6f189 100644 --- a/target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch +++ b/target/linux/generic/backport-4.19/370-netfilter-nf_flow_table-fix-offloaded-connection-tim.patch @@ -54,7 +54,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> nf_ct_gc_expired(tmp); --- a/net/netfilter/nf_flow_table_core.c +++ b/net/netfilter/nf_flow_table_core.c -@@ -183,6 +183,24 @@ static const struct rhashtable_params nf +@@ -183,10 +183,29 @@ static const struct rhashtable_params nf .automatic_shrinking = true, }; @@ -79,15 +79,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> int flow_offload_add(struct nf_flowtable *flow_table, struct flow_offload *flow) { int err; -@@ -203,6 +221,7 @@ int flow_offload_add(struct nf_flowtable - return err; - } + nf_ct_offload_timeout(flow); flow->timeout = (u32)jiffies + NF_FLOW_TIMEOUT; - return 0; - } -@@ -316,6 +335,8 @@ static int nf_flow_offload_gc_step(struc + + err = rhashtable_insert_fast(&flow_table->rhashtable, +@@ -317,6 +336,8 @@ static int nf_flow_offload_gc_step(struc rhashtable_walk_start(&hti); while ((tuplehash = rhashtable_walk_next(&hti))) { @@ -96,7 +93,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (IS_ERR(tuplehash)) { err = PTR_ERR(tuplehash); if (err != -EAGAIN) -@@ -328,9 +349,13 @@ static int nf_flow_offload_gc_step(struc +@@ -329,9 +350,13 @@ static int nf_flow_offload_gc_step(struc flow = container_of(tuplehash, struct flow_offload, tuplehash[0]); |