It seems that IN6_IS_ADDR_MC_INTFACELOCAL() is actually spelled IN6_IS_ADDR_MC_NODELOCAL(). So better use that for portability.
-- :wq Claudio Index: kroute.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/kroute.c,v retrieving revision 1.268 diff -u -p -r1.268 kroute.c --- kroute.c 23 Jun 2022 13:09:03 -0000 1.268 +++ kroute.c 24 Jun 2022 10:07:42 -0000 @@ -1626,13 +1626,13 @@ kr6_tofull(struct kroute6 *kr6) /* only set scope_id for link-local addresses because IPv6 */ if (IN6_IS_ADDR_LINKLOCAL(&kr6->prefix) || IN6_IS_ADDR_MC_LINKLOCAL(&kr6->prefix) || - IN6_IS_ADDR_MC_INTFACELOCAL(&kr6->prefix)) + IN6_IS_ADDR_MC_NODELOCAL(&kr6->prefix)) kf.prefix.scope_id = kr6->ifindex; kf.nexthop.aid = AID_INET6; memcpy(&kf.nexthop.v6, &kr6->nexthop, sizeof(struct in6_addr)); if (IN6_IS_ADDR_LINKLOCAL(&kr6->nexthop) || IN6_IS_ADDR_MC_LINKLOCAL(&kr6->nexthop) || - IN6_IS_ADDR_MC_INTFACELOCAL(&kr6->nexthop)) + IN6_IS_ADDR_MC_NODELOCAL(&kr6->nexthop)) kf.nexthop.scope_id = kr6->ifindex; strlcpy(kf.label, rtlabel_id2name(kr6->labelid), sizeof(kf.label)); kf.flags = kr6->flags; Index: util.c =================================================================== RCS file: /cvs/src/usr.sbin/bgpd/util.c,v retrieving revision 1.67 diff -u -p -r1.67 util.c --- util.c 22 Jun 2022 14:49:02 -0000 1.67 +++ util.c 24 Jun 2022 10:08:10 -0000 @@ -68,7 +68,7 @@ log_in6addr(const struct in6_addr *addr) /* XXX thanks, KAME, for this ugliness... adopted from route/show.c */ if ((IN6_IS_ADDR_LINKLOCAL(&sa_in6.sin6_addr) || IN6_IS_ADDR_MC_LINKLOCAL(&sa_in6.sin6_addr) || - IN6_IS_ADDR_MC_INTFACELOCAL(&sa_in6.sin6_addr)) && + IN6_IS_ADDR_MC_NODELOCAL(&sa_in6.sin6_addr)) && sa_in6.sin6_scope_id == 0) { uint16_t tmp16; memcpy(&tmp16, &sa_in6.sin6_addr.s6_addr[2], sizeof(tmp16)); @@ -922,7 +922,7 @@ sa2addr(struct sockaddr *sa, struct bgpd */ if ((IN6_IS_ADDR_LINKLOCAL(&sa_in6->sin6_addr) || IN6_IS_ADDR_MC_LINKLOCAL(&sa_in6->sin6_addr) || - IN6_IS_ADDR_MC_INTFACELOCAL(&sa_in6->sin6_addr)) && + IN6_IS_ADDR_MC_NODELOCAL(&sa_in6->sin6_addr)) && sa_in6->sin6_scope_id == 0) { uint16_t tmp16; memcpy(&tmp16, &sa_in6->sin6_addr.s6_addr[2],