kernel: allow hardware NAT offload drivers to keep a priv pointer
authorFelix Fietkau <nbd@nbd.name>
Mon, 30 Apr 2018 07:26:00 +0000 (09:26 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 14 Jun 2018 09:47:40 +0000 (11:47 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
target/linux/generic/pending-4.14/646-netfilter-nf_flow_table-rework-private-driver-data.patch [new file with mode: 0644]

diff --git a/target/linux/generic/pending-4.14/646-netfilter-nf_flow_table-rework-private-driver-data.patch b/target/linux/generic/pending-4.14/646-netfilter-nf_flow_table-rework-private-driver-data.patch
new file mode 100644 (file)
index 0000000..f94d7ad
--- /dev/null
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Fri, 27 Apr 2018 14:42:14 +0200
+Subject: [PATCH] netfilter: nf_flow_table: rework private driver data
+
+Move the timeout out of the union, since it can be shared between the
+driver and the stack. Add a private pointer that the driver can use to
+point to its own data structures
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+
+--- a/include/net/netfilter/nf_flow_table.h
++++ b/include/net/netfilter/nf_flow_table.h
+@@ -81,9 +81,10 @@ struct flow_offload_tuple_rhash {
+ struct flow_offload {
+       struct flow_offload_tuple_rhash         tuplehash[FLOW_OFFLOAD_DIR_MAX];
+       u32                                     flags;
++      u32                                     timeout;
+       union {
+               /* Your private driver data here. */
+-              u32             timeout;
++              void *priv;
+       };
+ };