aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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;
+