summaryrefslogtreecommitdiff
path: root/debian/patches/30_net_multicast.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/30_net_multicast.patch')
-rw-r--r--debian/patches/30_net_multicast.patch33
1 files changed, 33 insertions, 0 deletions
diff --git a/debian/patches/30_net_multicast.patch b/debian/patches/30_net_multicast.patch
new file mode 100644
index 0000000..26e83ec
--- /dev/null
+++ b/debian/patches/30_net_multicast.patch
@@ -0,0 +1,33 @@
+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: linux/dev/glue/net.c
+===================================================================
+RCS file: /cvsroot/hurd/gnumach/linux/dev/glue/Attic/net.c,v
+retrieving revision 1.1.4.7
+retrieving revision 1.1.4.9
+diff -u -p -r1.1.4.7 -r1.1.4.9
+--- linux/dev/glue/net.c 27 Mar 2007 22:47:11 -0000 1.1.4.7
++++ linux/dev/glue/net.c 9 Oct 2007 07:44:17 -0000 1.1.4.9
+@@ -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,