Skip to contentSkip to conversation

: uml-net: don't set IFF_ALLMULTI in set_multicast_list

UML Patrick McHardy 4 participants 7 messages Mar 26, 2008 – Apr 1, 2008

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

commit 00237037726efc587d55d65d6fd5357106ae7071

Author: Patrick McHardy <[email protected]>
Date:   Wed Mar 26 06:41:22 2008 +0100

[UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list

IFF_ALLMULTI is an indication from the network stack to the driver to disable multicast filters, drivers should never set it directly.

Since the UML networking device doesn't have any filtering capabilites, it doesn't the set_multicast_list function at all, it is kept so userspace can still issue SIOCADDMULTI/SIOCDELMULTI ioctls however.

arch/um/drivers/net_kern.c +1 -5
index 1e8f41a..1d43bdf 100644
@@ -256,11 +256,7 @@ static struct net_device_stats *uml_net_get_stats(struct net_device *dev)
 
 static void uml_net_set_multicast_list(struct net_device *dev)
 {
-	if (dev->flags & IFF_PROMISC)
-		return;
-	else if (dev->mc_count)
-		dev->flags |= IFF_ALLMULTI;
-	else dev->flags &= ~IFF_ALLMULTI;
+	return;
 }
 
 static void uml_net_tx_timeout(struct net_device *dev)
#1 lore raw

arch/um/drivers/net_kern.c static struct net_device_stats *uml_net_get_stats(struct net_device *dev) · line 260

Quoted 9 lines

static void uml_net_set_multicast_list(struct net_device *dev) {

arch/um/drivers/net_kern.c +1 -5
-	if (dev->flags & IFF_PROMISC)
-		return;
-	else if (dev->mc_count)
-		dev->flags |= IFF_ALLMULTI;
-	else dev->flags &= ~IFF_ALLMULTI;
+	return;
 }

Might as well just delete the hook at that point...

Jeff

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

#2 lore raw
Quoted 12 lines · Jeff Garzik

arch/um/drivers/net_kern.c static struct net_device_stats *uml_net_get_stats(struct net_device *dev) · line 260

Quoted 9 lines

static void uml_net_set_multicast_list(struct net_device *dev) {

arch/um/drivers/net_kern.c +1 -5
-    if (dev->flags & IFF_PROMISC)
-        return;
-    else if (dev->mc_count)
-        dev->flags |= IFF_ALLMULTI;
-    else dev->flags &= ~IFF_ALLMULTI;
+    return;
 }
Quoted 1 line

Might as well just delete the hook at that point...

I kept it so SIOCADDMULTI/SIOCDELMULTI ioctls continue to work on UML devices. I don't know if any userspace applications check for errors when using these ioctls, this way nothing can break.

maintainer
#3 lore raw

From: Patrick McHardy <[email protected]>
Date: Wed, 26 Mar 2008 07:13:51 +0100

Quoted 13 lines
Quoted 12 lines · Jeff Garzik
Quoted 9 lines

static void uml_net_set_multicast_list(struct net_device *dev) {

arch/um/drivers/net_kern.c +1 -5
-    if (dev->flags & IFF_PROMISC)
-        return;
-    else if (dev->mc_count)
-        dev->flags |= IFF_ALLMULTI;
-    else dev->flags &= ~IFF_ALLMULTI;
+    return;
 }
Quoted 7 lines
Quoted 1 line

Might as well just delete the hook at that point...

I kept it so SIOCADDMULTI/SIOCDELMULTI ioctls continue to work on UML devices. I don't know if any userspace applications check for errors when using these ioctls, this way nothing can break.

Good idea, patch applied to net-2.6, thanks!

#4 lore raw
In reply to Patrick McHardy
Quoted 1 line · Patrick McHardy

[UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list

I don't really understand this, but the people who do seem to like it, so I'll drop it in my tree and forward it along if no one else does.

Jeff

Signature · 7 lines
Work email - jdike at linux dot intel dot com

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
#5 lore raw
Quoted 5 lines · Jeff Dike
Quoted 1 line · Patrick McHardy

[UML]: uml-net: don't set IFF_ALLMULTI in set_multicast_list

I don't really understand this, but the people who do seem to like it, so I'll drop it in my tree and forward it along if no one else does.

Thanks, its already in Linus' tree.

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

#6 lore raw
Quoted 1 line · Patrick McHardy

Thanks, its already in Linus' tree.

Excellent...

Jeff

Signature · 11 lines
Work email - jdike at linux dot intel dot com

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
User-mode-linux-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel