summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpf <mpf@openbsd.org>2011-07-04 03:13:53 +0000
committermpf <mpf@openbsd.org>2011-07-04 03:13:53 +0000
commit3a6f7e008f3746fd4fe4b0fbaec8ee177000a182 (patch)
tree6a9a91bf4947c7949455f94d57157d175e5ae6a1
parentsync (diff)
downloadwireguard-openbsd-3a6f7e008f3746fd4fe4b0fbaec8ee177000a182.tar.xz
wireguard-openbsd-3a6f7e008f3746fd4fe4b0fbaec8ee177000a182.zip
Don't make copy multicast packets for carp interfaces
that are not up. OK henning.
-rw-r--r--sys/netinet/ip_carp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c
index 23fc7f509de..b5433997653 100644
--- a/sys/netinet/ip_carp.c
+++ b/sys/netinet/ip_carp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: ip_carp.c,v 1.187 2011/07/04 00:37:00 mpf Exp $ */
+/* $OpenBSD: ip_carp.c,v 1.188 2011/07/04 03:13:53 mpf Exp $ */
/*
* Copyright (c) 2002 Michael Shalayeff. All rights reserved.
@@ -1587,6 +1587,8 @@ carp_input(struct mbuf *m, u_int8_t *shost, u_int8_t *dhost, u_int16_t etype)
* for each CARP interface _before_ copying.
*/
TAILQ_FOREACH(vh, &cif->vhif_vrs, sc_list) {
+ if (!(vh->sc_if.if_flags & IFF_UP))
+ continue;
m0 = m_copym2(m, 0, M_COPYALL, M_DONTWAIT);
if (m0 == NULL)
continue;