kernel: add a small xfrm related performance optimization
authorFelix Fietkau <nbd@openwrt.org>
Sat, 2 Aug 2014 18:50:50 +0000 (18:50 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sat, 2 Aug 2014 18:50:50 +0000 (18:50 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 41950

target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch [new file with mode: 0644]
target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch [new file with mode: 0644]

diff --git a/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-3.10/616-net_optimize_xfrm_calls.patch
new file mode 100644 (file)
index 0000000..a21fec7
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/net/netfilter/nf_nat_core.c
++++ b/net/netfilter/nf_nat_core.c
+@@ -89,6 +89,9 @@ int nf_xfrm_me_harder(struct sk_buff *sk
+       struct dst_entry *dst;
+       int err;
++      if (!dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT])
++              return 0;
++
+       err = xfrm_decode_session(skb, &fl, family);
+       if (err < 0)
+               return err;
+
diff --git a/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch b/target/linux/generic/patches-3.14/616-net_optimize_xfrm_calls.patch
new file mode 100644 (file)
index 0000000..088d32d
--- /dev/null
@@ -0,0 +1,13 @@
+--- a/net/netfilter/nf_nat_core.c
++++ b/net/netfilter/nf_nat_core.c
+@@ -90,6 +90,9 @@ int nf_xfrm_me_harder(struct sk_buff *sk
+       struct dst_entry *dst;
+       int err;
++      if (!dev_net(skb->dev)->xfrm.policy_count[XFRM_POLICY_OUT])
++              return 0;
++
+       err = xfrm_decode_session(skb, &fl, family);
+       if (err < 0)
+               return err;
+