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,
|