carp6_proto_input_if only handles packets "received" on real carp
interfaces, which the ethernet stack goes to a lot of trouble to
provide. since carp assumes ethernet, carp_proto_input_if can assume
the packets will come in right too.
ok mpi@
-/* $OpenBSD: ip_carp.c,v 1.321 2018/01/09 15:24:24 bluhm Exp $ */
+/* $OpenBSD: ip_carp.c,v 1.322 2018/01/10 10:25:52 dlg Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff. All rights reserved.
ismulti = IN_MULTICAST(ip->ip_dst.s_addr);
/* check if received on a valid carp interface */
- if (!(ifp->if_type == IFT_CARP ||
- (ifp->if_type != IFT_CARP && !ismulti && ifp->if_carp != NULL))) {
+ if (ifp->if_type != IFT_CARP) {
carpstat_inc(carps_badif);
CARP_LOG(LOG_INFO, sc,
("packet received on non-carp interface: %s",