diff options
-rw-r--r-- | target/linux/generic/backport-4.14/368-netfilter-nf_flow_table-fix-offloading-connections-w.patch | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/target/linux/generic/backport-4.14/368-netfilter-nf_flow_table-fix-offloading-connections-w.patch b/target/linux/generic/backport-4.14/368-netfilter-nf_flow_table-fix-offloading-connections-w.patch new file mode 100644 index 0000000000..28c3817c70 --- /dev/null +++ b/target/linux/generic/backport-4.14/368-netfilter-nf_flow_table-fix-offloading-connections-w.patch @@ -0,0 +1,23 @@ +From: Felix Fietkau <nbd@nbd.name> +Date: Fri, 23 Mar 2018 19:12:30 +0100 +Subject: [PATCH] netfilter: nf_flow_table: fix offloading connections with + SNAT+DNAT + +Pass all NAT types to the flow offload struct, otherwise parts of the +address/port pair do not get translated properly, causing connection +stalls + +Signed-off-by: Felix Fietkau <nbd@nbd.name> +--- + +--- a/net/netfilter/nf_flow_table_core.c ++++ b/net/netfilter/nf_flow_table_core.c +@@ -83,7 +83,7 @@ flow_offload_alloc(struct nf_conn *ct, s + + if (ct->status & IPS_SRC_NAT) + flow->flags |= FLOW_OFFLOAD_SNAT; +- else if (ct->status & IPS_DST_NAT) ++ if (ct->status & IPS_DST_NAT) + flow->flags |= FLOW_OFFLOAD_DNAT; + + return flow; |