From 00cabea6fcdbcf8569fba0e1263ab451f1cdf325 Mon Sep 17 00:00:00 2001 From: Christopher Pascoe Date: Fri, 17 Dec 2004 12:42:03 +0000 Subject: Reorder code in the ethernet output path, and enhance unicast address matching in the bridge receive path to make CARP operate correctly on physical interfaces that are participating in a bridge. ok mcbride@ henning@ dlg@ --- sys/net/if_ethersubr.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'sys/net/if_ethersubr.c') diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index dee823be08c..cfc6fbc5cc5 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_ethersubr.c,v 1.85 2004/12/10 22:35:17 mcbride Exp $ */ +/* $OpenBSD: if_ethersubr.c,v 1.86 2004/12/17 12:42:02 pascoe Exp $ */ /* $NetBSD: if_ethersubr.c,v 1.19 1996/05/07 02:40:30 thorpej Exp $ */ /* @@ -493,6 +493,14 @@ ether_output(ifp0, m0, dst, rt0) bcopy((caddr_t)ac->ac_enaddr, (caddr_t)eh->ether_shost, sizeof(eh->ether_shost)); +#if NCARP > 0 + if (ifp->if_carp) { + error = carp_fix_lladdr(ifp0, m, dst, NULL); + if (error) + goto bad; + } +#endif + #if NBRIDGE > 0 /* * Interfaces that are bridge members need special handling @@ -534,14 +542,6 @@ ether_output(ifp0, m0, dst, rt0) } #endif -#if NCARP > 0 - if (ifp->if_carp) { - error = carp_fix_lladdr(ifp0, m, dst, NULL); - if (error) - goto bad; - } -#endif - mflags = m->m_flags; len = m->m_pkthdr.len; s = splimp(); -- cgit v1.2.3