summaryrefslogtreecommitdiff
path: root/net/radvd/files/patch-device-bsd44.c
diff options
context:
space:
mode:
authorBabak Farrokhi <farrokhi@FreeBSD.org>2020-04-09 20:31:45 +0000
committerBabak Farrokhi <farrokhi@FreeBSD.org>2020-04-09 20:31:45 +0000
commit773d8b5852d19af8278787257ed051b3f2349eaf (patch)
tree4004ab01ace61400e1ef8bc7f5a1295bd358e51b /net/radvd/files/patch-device-bsd44.c
parentsecurity/n2n: Update to 2.6 (diff)
net/radvd: fix group join fail on multiple tries
PR: 245393 Submitted by: Franco Fichtner <franco@opnsense.org>
Notes
Notes: svn path=/head/; revision=531270
Diffstat (limited to 'net/radvd/files/patch-device-bsd44.c')
-rw-r--r--net/radvd/files/patch-device-bsd44.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/net/radvd/files/patch-device-bsd44.c b/net/radvd/files/patch-device-bsd44.c
index 79c0c84c1cc5..395bb3614b9d 100644
--- a/net/radvd/files/patch-device-bsd44.c
+++ b/net/radvd/files/patch-device-bsd44.c
@@ -1,6 +1,6 @@
---- device-bsd44.c.orig 2017-06-29 04:32:29 UTC
+--- device-bsd44.c.orig 2018-02-18 22:45:02 UTC
+++ device-bsd44.c
-@@ -126,7 +126,28 @@ ret:
+@@ -126,7 +126,31 @@ ret:
return -1;
}
@@ -18,7 +18,10 @@
+ flog(LOG_ERR, "inet_pton failed");
+ return (-1);
+ }
-+
++
++ /* if we leave unconditionally the join cannot fail */
++ setsockopt(sock, IPPROTO_IPV6, IPV6_LEAVE_GROUP, &mreq, sizeof(mreq));
++
+ if (setsockopt(sock, IPPROTO_IPV6, IPV6_JOIN_GROUP,
+ &mreq, sizeof(mreq)) < 0) {
+ flog(LOG_ERR, "can't join ipv6-allrouters on %s", iface->props.name);
@@ -30,3 +33,10 @@
int set_interface_linkmtu(const char *iface, uint32_t mtu)
{
+@@ -161,5 +185,5 @@ int check_ip6_forwarding(void)
+ int check_ip6_iface_forwarding(const char *iface)
+ {
+ dlog(LOG_DEBUG, 4, "checking ipv6 forwarding of interface not supported");
+- return -1;
++ return 1;
+ }