aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authordhn <dhn@FreeBSD.org>2011-07-09 17:49:16 +0800
committerdhn <dhn@FreeBSD.org>2011-07-09 17:49:16 +0800
commit9e7f7317e9009e6daf3dbab4837fc3b11ac8325e (patch)
treef290f4f84ae426894be947b0c680330cad2e8b1e /net
parent2fe8fadfc36154543cb5c58d7ec3e92a23781e47 (diff)
downloadfreebsd-ports-gnome-9e7f7317e9009e6daf3dbab4837fc3b11ac8325e.tar.gz
freebsd-ports-gnome-9e7f7317e9009e6daf3dbab4837fc3b11ac8325e.tar.zst
freebsd-ports-gnome-9e7f7317e9009e6daf3dbab4837fc3b11ac8325e.zip
- Fix listing for Router Solicitations
PR: ports/158697 Submitted by: Geoffrey Sisson <geoff@dns-oarc.net>
Diffstat (limited to 'net')
-rw-r--r--net/radvd/files/patch-device-bsd44.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/net/radvd/files/patch-device-bsd44.c b/net/radvd/files/patch-device-bsd44.c
new file mode 100644
index 000000000000..4f36c217a46f
--- /dev/null
+++ b/net/radvd/files/patch-device-bsd44.c
@@ -0,0 +1,27 @@
+--- ./device-bsd44.c.orig 2011-02-26 17:00:23.000000000 +0100
++++ ./device-bsd44.c 2011-07-08 13:13:44.000000000 +0200
+@@ -189,6 +189,24 @@
+
+ int setup_allrouters_membership(struct Interface *iface)
+ {
++ struct ipv6_mreq mreq;
++
++ memset(&mreq, 0, sizeof(mreq));
++ mreq.ipv6mr_interface = iface->if_index;
++
++ /* all-routers multicast address */
++ if (inet_pton(AF_INET6, "ff02::2",
++ &mreq.ipv6mr_multiaddr.s6_addr) != 1) {
++ flog(LOG_ERR, "inet_pton failed");
++ return (-1);
++ }
++
++ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
++ &mreq, sizeof(mreq)) < 0) {
++ flog(LOG_ERR, "can't join ipv6-allrouters on %s", iface->Name);
++ return (-1);
++ }
++
+ return (0);
+ }
+