On 18-08-2015 21:32, Ed Hynan wrote:

From: Claus Lensbøl <cl...@fab-it.dk>
I am running openbsd 5.6 GENERIC.MP#333 amd64.
Using isc-dhcp-server 4.3.0.

I had no route to host w/ ISC DHCP 4.3.0 on OpenBSD 4.9 -- the
patch at end of message got it working.  Hint was need for
'%<IF>' using ping6.

I applied the patch on OpenBSD 5.5 w/o checking whether
it's needed -- still works.  I don't know about 5.6 (as he
ducks his head).

NOTE: patch applies to ISC tar archive -- I did not start from
ports, so I don't know if it'll apply to patched ports source.
Try it if you like.  Good luck.

-Ed

# BEGIN PATCH
diff -u -r dhcp-4.3.0-orig/common/socket.c dhcp-4.3.0/common/socket.c
--- dhcp-4.3.0-orig/common/socket.c    Fri Jan 31 14:20:49 2014
+++ dhcp-4.3.0/common/socket.c    Tue Aug 18 15:11:42 2015
@@ -787,9 +787,19 @@
     memcpy(&dst, to, sizeof(dst));
     m.msg_name = &dst;
     m.msg_namelen = sizeof(dst);
+    /*
+     * For OpenBSD 4.9, needing interface index: this works in
+     * my usage on small LAN; might not be complete or correct
+     * Works w/ OpenBSD 5.5 -- did not check if still needed!
+     * The preprocessor test is added . . .
+     */
+#if defined(__OpenBSD__)
+    dst.sin6_scope_id = ifindex = if_nametoindex(interface->name);
+#else  /* ! defined(__OpenBSD__) */
     ifindex = if_nametoindex(interface->name);
     if (no_global_v6_socket)
         dst.sin6_scope_id = ifindex;
+#endif /* ! defined(__OpenBSD__) */

     /*
      * Set the data buffer we're sending. (Using this wacky
Hi Ed

Where is this patch from?
And could you give me some building guidelines? I haven't tried building on OpenBSD before.

Thank you!
Claus

Reply via email to