Thread (1 message) 1 message, 1 author, 2013-01-17

RE: [PATCH net] net/vxlan: Use the underlying device index when joining/leaving multicast groups

From: Yan Burman <hidden>
Date: 2013-01-17 15:19:22

-----Original Message-----
From: Bernhard Schmidt [mailto:berni@birkenwald.de]
Sent: Monday, January 14, 2013 02:48
To: Yan Burman
Subject: Re: [PATCH net] net/vxlan: Use the underlying device index when
joining/leaving multicast groups

In gmane.linux.network, Yan Burman wrote:

Hello,

thanks! That fixes my issue. Could you please submit this to -stable?
From my understanding David is the one submitting to -stable.
I can send it to -stable assuming it's ok with David.

Yan
Thanks,
Bernhard
quoted
The socket calls from vxlan to join/leave multicast group aren't using
the index of the underlying device, as a result the stack uses the
first interface that is up. This results in vxlan being non functional
over a device which isn't the 1st to be up.
Fix this by providing the iflink field to the vxlan instance to the
multicast calls.

Signed-off-by: Yan Burman <redacted>
---
 drivers/net/vxlan.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index
3b3fdf6..40f2cc1 100644
--- a/drivers/net/vxlan.c
+++ b/drivers/net/vxlan.c
@@ -505,7 +505,8 @@ static int vxlan_join_group(struct net_device *dev)
 	struct vxlan_net *vn = net_generic(dev_net(dev), vxlan_net_id);
 	struct sock *sk = vn->sock->sk;
 	struct ip_mreqn mreq = {
-		.imr_multiaddr.s_addr = vxlan->gaddr,
+		.imr_multiaddr.s_addr	= vxlan->gaddr,
+		.imr_ifindex		= vxlan->link,
 	};
 	int err;
@@ -532,7 +533,8 @@ static int vxlan_leave_group(struct net_device
*dev)
quoted
 	int err = 0;
 	struct sock *sk = vn->sock->sk;
 	struct ip_mreqn mreq = {
-		.imr_multiaddr.s_addr = vxlan->gaddr,
+		.imr_multiaddr.s_addr	= vxlan->gaddr,
+		.imr_ifindex		= vxlan->link,
 	};

 	/* Only leave group when last vxlan is done. */
--
1.7.11.3
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help