diff mbox

[ipv4,multicast] Fix IPv4 multicast over network namespaces

Message ID 20120327161228.GA2367@kvack.org
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Benjamin LaHaise March 27, 2012, 4:12 p.m. UTC
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.
---
 net/ipv4/route.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

David Miller March 27, 2012, 9:35 p.m. UTC | #1
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
Benjamin LaHaise March 28, 2012, 12:49 a.m. UTC | #2
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 mbox

Patch

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;