> 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