Message ID | 20120327161228.GA2367@kvack.org |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Benjamin LaHaise <bcrl@kvack.org> Date: Tue, 27 Mar 2012 12:12:28 -0400 > When using multicast over a local bridge feeding a number of LXC guests > using veth, the LXC guests are unable to get a response from other guests > when pinging 224.0.0.1. Multicast packets did not appear to be getting > delivered to the network namespaces of the guest hosts, and further > inspection showed that the incoming route was pointing to the loopback > device of the host, not the guest. This lead to the wrong network namespace > being picked up by sockets (like ICMP). Fix this by using the correct > network namespace when creating the inbound route entry. No signoff. No proper subsystem prefix in Subject line (should be "ipv4: " here) And third you've been warned about this repeatedly in your previous patch postings. Therefore I'm not applying this. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Mar 27, 2012 at 05:35:41PM -0400, David Miller wrote: > No signoff. My apologies. Doing this manually clearly isn't working, so I've switched to a script to try to catch this. > No proper subsystem prefix in Subject line (should be "ipv4: " here) I'm trying to get this right, and it looks like I botched this again, for that I am truely sorry. -ben > And third you've been warned about this repeatedly in your previous > patch postings. > > Therefore I'm not applying this.
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 12ccf88..3b110a4 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -2042,7 +2042,7 @@ static int ip_route_input_mc(struct sk_buff *skb, __be32 daddr, __be32 saddr, if (err < 0) goto e_err; } - rth = rt_dst_alloc(init_net.loopback_dev, + rth = rt_dst_alloc(dev_net(dev)->loopback_dev, IN_DEV_CONF_GET(in_dev, NOPOLICY), false); if (!rth) goto e_nobufs;