kernel: add support for kernel 5.4
[openwrt/staging/ansuel.git] / target / linux / generic / pending-5.4 / 645-netfilter-nf_flow_table-rework-hardware-offload-time.patch
index bfb7a9c190e7746752ec7f84c8a981a6647d6e39..3c44c2927313f929011ed521eb834d2eb40795de 100644 (file)
@@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
 
 --- a/include/net/netfilter/nf_flow_table.h
 +++ b/include/net/netfilter/nf_flow_table.h
-@@ -76,6 +76,7 @@ struct flow_offload_tuple_rhash {
+@@ -75,6 +75,7 @@ struct flow_offload_tuple_rhash {
  #define FLOW_OFFLOAD_DYING    0x4
  #define FLOW_OFFLOAD_TEARDOWN 0x8
  #define FLOW_OFFLOAD_HW               0x10
@@ -26,12 +26,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
        struct flow_offload_tuple_rhash         tuplehash[FLOW_OFFLOAD_DIR_MAX];
 --- a/net/netfilter/nf_flow_table_core.c
 +++ b/net/netfilter/nf_flow_table_core.c
-@@ -368,7 +368,7 @@ static int nf_flow_offload_gc_step(struc
-               if (!teardown)
-                       nf_ct_offload_timeout(flow);
+@@ -370,7 +370,7 @@ static void nf_flow_offload_gc_step(stru
+       if (!teardown)
+               nf_ct_offload_timeout(flow);
  
--              if (nf_flow_in_hw(flow) && !teardown)
-+              if ((flow->flags & FLOW_OFFLOAD_KEEP) && !teardown)
-                       continue;
+-      if (nf_flow_in_hw(flow) && !teardown)
++      if ((flow->flags & FLOW_OFFLOAD_KEEP) && !teardown)
+               return;
  
-               if (nf_flow_has_expired(flow) || teardown)
+       if (nf_flow_has_expired(flow) || teardown)