On 10/13/2012 01:20 PM, Gene Czarcinski wrote:
-----------------------------
+ /* When bind-interfaces is set, there might be more than one dnmsasq
+ instance binding port 547. That's OK if they serve different
networks.
+ Need to set REUSEADDR to make this posible, or REUSEPORT on
*BSD. */
+ if (option_bool(OPT_NOWILD) || option_bool(OPT_CLEVERBIND))
+ {
+ int oneopt = 1;
+#ifdef SO_REUSEPORT
+ int rc = setsockopt(fd, IPPROTO_IPV6, SO_REUSEPORT, &oneopt,
sizeof(oneopt));
+#else
+ int rc = setsockopt(fd, IPPROTO_IPV6, SO_REUSEADDR, &oneopt,
sizeof(oneopt));
+#endif
+ if (rc == -1)
+ die(_("failed to set SO_REUSE{ADDR|PORT} on DHCP socket: %s"),
NULL, EC_BADNET);
+ }
+
---------------------------
Arrgh! Well, you can tell that I don't really know what I am doing with
socket code!
Your original code inserted into dhcp6.c was the right thing to do. I
just changed IPPROTO_IPV6 to SOL_SOCKET and it looks like it works (I
have two of them running anyway). At this point I do now know if you
need the V6ONLY or not.
Now to do some real testing!
Gene
_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
http://lists.thekelleys.org.uk/mailman/listinfo/dnsmasq-discuss