Hello. It appears that there are some missing definitions for a couple of the "const struct in6_addr" values that are included in in6.h.
Here are the relevant declarations in /usr/include/netinet6/in6.h: extern const struct in6_addr in6addr_any; extern const struct in6_addr in6addr_loopback; extern const struct in6_addr in6addr_nodelocal_allnodes; extern const struct in6_addr in6addr_linklocal_allnodes; extern const struct in6_addr in6addr_linklocal_allrouters; extern const struct in6_addr in6addr_linklocal_allv2routers; However, here are the definitions in /usr/src/lib/libc/net/vars.c: const struct in6_addr in6addr_any = IN6ADDR_ANY_INIT; const struct in6_addr in6addr_loopback = IN6ADDR_LOOPBACK_INIT; const struct in6_addr in6addr_nodelocal_allnodes = IN6ADDR_NODELOCAL_ALLNODES_INIT; const struct in6_addr in6addr_linklocal_allnodes = IN6ADDR_LINKLOCAL_ALLNODES_INIT; As you can see, in6addr_linklocal_allrouters and in6addr_linklocal_allv2routers are missing. Attempting to use the missing definitions results in a linker error because they are declared properly. The static initializer values are defined in /usr/include/netinet6/in6.h: #define IN6ADDR_ANY_INIT \ #define IN6ADDR_LOOPBACK_INIT \ #define IN6ADDR_NODELOCAL_ALLNODES_INIT \ #define IN6ADDR_INTFACELOCAL_ALLNODES_INIT \ #define IN6ADDR_LINKLOCAL_ALLNODES_INIT \ #define IN6ADDR_LINKLOCAL_ALLROUTERS_INIT \ #define IN6ADDR_LINKLOCAL_ALLV2ROUTERS_INIT \ So it seems a simple matter of adding the two missing ones to /usr/src/lib/libc/net/vars.c. Thanks, lew _______________________________________________ freebsd-net@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"