This patch fixes dhcrelay on carp. Without it, the AF_LINK entry (the only one containing the interface index and rdomain of the carp interface) of carp interfaces was ignored.
When doing the IPV6_JOIN_GROUP, ip6_setmoptions() would see an
zero interface index and picked an arbitrary, "appropriate one"
instead of the carp interface itself.
Similary code is found in the IPv4 version of dhcrelay.
Index: usr.sbin/dhcrelay6/dispatch.c
===================================================================
RCS file: /cvs/src/usr.sbin/dhcrelay6/dispatch.c,v
retrieving revision 1.2
diff -u -p -u -p -r1.2 dispatch.c
--- usr.sbin/dhcrelay6/dispatch.c 17 Jan 2021 13:41:24 -0000 1.2
+++ usr.sbin/dhcrelay6/dispatch.c 13 Jul 2023 13:38:38 -0000
@@ -168,7 +168,8 @@ setup_iflist(void)
/* Skip non ethernet interfaces. */
if (ifi->ifi_type != IFT_ETHER &&
- ifi->ifi_type != IFT_ENC) {
+ ifi->ifi_type != IFT_ENC &&
+ ifi->ifi_type != IFT_CARP) {
TAILQ_REMOVE(&intflist, intf, entry);
free(intf);
continue;
smime.p7s
Description: S/MIME cryptographic signature
