After r228571 carp_output() expects carp_softc * pointer in the mtag.

Noticed by:	thompsa
This commit is contained in:
Gleb Smirnoff 2012-05-30 07:11:27 +00:00
parent e98adf398d
commit a856ddc665

View file

@ -1061,13 +1061,13 @@ carp_macmatch6(struct ifnet *ifp, struct mbuf *m, const struct in6_addr *taddr)
IF_ADDR_RUNLOCK(ifp);
mtag = m_tag_get(PACKET_TAG_CARP,
sizeof(struct ifnet *), M_NOWAIT);
sizeof(struct carp_softc *), M_NOWAIT);
if (mtag == NULL)
/* Better a bit than nothing. */
return (LLADDR(&sc->sc_addr));
bcopy(&ifp, (caddr_t)(mtag + 1),
sizeof(struct ifnet *));
bcopy(&sc, (caddr_t)(mtag + 1),
sizeof(struct carp_softc *));
m_tag_prepend(m, mtag);
return (LLADDR(&sc->sc_addr));