Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Feb 2001 00:17:55 +0100
From:      "Rogier R. Mulhuijzen" <drwilco@drwilco.nl>
To:        Julian Elischer <julian@elischer.org>
Cc:        Luigi Rizzo <rizzo@aciri.org>, Patrick Bihan-Faou <patrick@netzuno.com>, freebsd-net@FreeBSD.ORG, richw@webcom.com, julian@FreeBSD.ORG
Subject:   Re: BRIDGE breaks ARP? (more info)
Message-ID:  <4.3.2.7.0.20010206001535.00cd8530@mail.bsdchicks.com>
In-Reply-To: <3A7F0806.9B81D98@elischer.org>
References:  <200102052011.f15KBJb24985@iguana.aciri.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Not your culpa at all. It was my patch and I made a dumb mistake.

*tries to hide face in shame*

         DocWilco

At 12:07 5-2-01 -0800, you wrote:
>Ok, mea culpa
>
>I figured it out..
>Luigi.. does this fix it?
>
>
>         (void)memcpy(&itaddr, ea->arp_tpa, sizeof (itaddr));
>         TAILQ_FOREACH(ia, &in_ifaddrhead, ia_link) {
>#ifdef BRIDGE
>                 /*
>                  * For a bridge, we want to check the address irrespective
>                  * of the receive interface. (This will change slightly
>                  * when we have clusters of interfaces).
>                  */
>#define BRIDGE_TEST (do_bridge)
>#else
>#define BRIDGE_TEST 0 /* cc will optiise the test away */
>#endif
>                 if ((BRIDGE_TEST) || (ia->ia_ifp == &ac->ac_if)) {
>                         maybe_ia = ia;
>                         if ((itaddr.s_addr == ia->ia_addr.sin_addr.s_addr) ||
>                              (isaddr.s_addr == 
> ia->ia_addr.sin_addr.s_addr)) {
>                                 break;
>                         }
>                 }
>         }
>         if (maybe_ia == 0) {
>                 m_freem(m);
>                 return;
>         }
>         myaddr = ia ? ia->ia_addr.sin_addr : maybe_ia->ia_addr.sin_addr;
>         if (!bcmp((caddr_t)ea->arp_sha, (caddr_t)ac->ac_enaddr,
>             sizeof (ea->arp_sha))) {
>                 m_freem(m);     /* it's from me, ignore it. */
>                 return;
>         }
>
>
>To Unsubscribe: send mail to majordomo@FreeBSD.org
>with "unsubscribe freebsd-net" in the body of the message



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4.3.2.7.0.20010206001535.00cd8530>