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

Reply via email to