aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2013-05-24 12:17:38 +0000
committerSteven Barth <steven@midlink.org>2013-05-24 12:17:38 +0000
commitbae1f8ab1dc492d723c01019d324e63b225a5877 (patch)
treebb313d59210934cf26d431e084731e939852e66f /target
parentb4fe48f75e7530d81cb90e58bc003fb655c036aa (diff)
downloadupstream-bae1f8ab1dc492d723c01019d324e63b225a5877.tar.gz
upstream-bae1f8ab1dc492d723c01019d324e63b225a5877.tar.bz2
upstream-bae1f8ab1dc492d723c01019d324e63b225a5877.zip
AA: allow ipv6 policy routing rules to select output traffic
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@36700 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/patches-3.3/660-ipv6-loopback-policy-routing.patch11
1 files changed, 11 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.3/660-ipv6-loopback-policy-routing.patch b/target/linux/generic/patches-3.3/660-ipv6-loopback-policy-routing.patch
new file mode 100644
index 0000000000..48af3d3d89
--- /dev/null
+++ b/target/linux/generic/patches-3.3/660-ipv6-loopback-policy-routing.patch
@@ -0,0 +1,11 @@
+--- a/net/ipv6/route.c
++++ b/net/ipv6/route.c
+@@ -937,6 +937,8 @@ struct dst_entry * ip6_route_output(struct net *net, const struct sock *sk,
+ {
+ int flags = 0;
+
++ fl6->flowi6_iif = net->loopback_dev->ifindex;
++
+ if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl6->daddr))
+ flags |= RT6_LOOKUP_F_IFACE;
+