summaryrefslogtreecommitdiff
path: root/debian/patches/30_net_multicast.patch
blob: ff4d6d9e71aff4263e6b09099c79f5f7e4fd84e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2007-10-09  Thomas Schwinge  <tschwinge@gnu.org>

	* linux/dev/glue/net.c (device_open) <LINUX_IFF_ALLMULTI>: Comment.

2007-10-08  Stefan Siegl  <stesie@brokenpipe.de>

	* linux/dev/glue/net.c (device_open): Set LINUX_IFF_ALLMULTI flag
	on device and propagate.

Index: b/linux/dev/glue/net.c
===================================================================
--- a/linux/dev/glue/net.c
+++ b/linux/dev/glue/net.c
@@ -398,8 +398,14 @@ device_open (ipc_port_t reply_port, mach
 	}
       else
 	{
-	  dev->flags |= LINUX_IFF_UP | LINUX_IFF_RUNNING;
+	  /* IPv6 heavily relies on multicasting (especially router and
+	     neighbor solicits and advertisements), so enable reception of
+	     those multicast packets by setting `LINUX_IFF_ALLMULTI'.  */
+	  dev->flags |= LINUX_IFF_UP | LINUX_IFF_RUNNING | LINUX_IFF_ALLMULTI;
 	  skb_queue_head_init (&dev->buffs[0]);
+
+	  if (dev->set_multicast_list)
+	    dev->set_multicast_list (dev);
 	}
       if (IP_VALID (reply_port))
 	ds_device_open_reply (reply_port, reply_port_type,