summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorMarco Pfatschbacher <mpf@cvs.openbsd.org>2011-07-04 03:13:54 +0000
committerMarco Pfatschbacher <mpf@cvs.openbsd.org>2011-07-04 03:13:54 +0000
commite4a4d093ebd04cbb3712f55cb7ac02d4c158213f (patch)
tree8ca0cfa12b3d5ab2bbc3b9515884768da02736f4 /sys
parentc1021a6e1ae40dd201d119842c8482c3bc09ca7c (diff)
Don't make copy multicast packets for carp interfaces
that are not up. OK henning.
Diffstat (limited to 'sys')
-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;