[ovs-dev] [PATCH] bridge: Filter some gratuitous ARPs on bond slaves.

Jesse Gross jesse at nicira.com
Fri Jun 4 02:58:10 UTC 2010


On Thu, Jun 3, 2010 at 10:06 AM, Ben Pfaff <blp at nicira.com> wrote:

> On Wed, Jun 02, 2010 at 07:43:49PM -0700, Jesse Gross wrote:
> > Normally we filter out packets received on a bond if we have
> > learned the source MAC as belonging to another port to avoid packets
> > sent on one slave and reflected back on another.  The exception to
> > this is gratuitous ARPs because they indicate that the host
> > has moved to another port.  However, this can result in an additional
> > problem on the switch that the host moved to if the GARP is reflected
> > back on a bond slave.  In this case, we incorrectly relearn the
> > slave as the source of the MAC address.  To solve this, we lock the
> > learning entry for 5 seconds after receiving a GARP against further
> > updates caused by GARPs on bond slaves.
>
> I don't like the name GARP.  It makes me think that this is related to
> GARP, the Generic Attribute Registration Protocol, which someday OVS
> might want to handle.
>

I guess, it is short though...


>
> The mac_learning_lookup_tag() interface is starting to get unwieldy.
> Maybe we should return the mac_entry and let the caller deal with it
> directly.  Then we could drop the output arguments.  (But that's not
> necessary in this commit.)
>

We can do it in the future if necessary.  We currently only use this
function in two places and they are pretty clear, so it doesn't really
bother me.


>
> "parameter" is misspelled, as "paramater", twice.
>

Thanks, fixed.


>
> Please initialize garp_lock to TIME_MIN instead of to 0.  I have
> actually had to debug OVS problems on systems where the clock started
> out with a negative value, probably due to a bad RTC battery.  (We
> should really use clock_gettime(CLOCK_MONOTONIC) in the long run.)
>

OK, that's fine.  However, as you point out, the real problem is that we are
using the wrong time source.

I pushed the updated version out.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openvswitch.org/pipermail/ovs-dev/attachments/20100603/b3b25ade/attachment-0003.html>


More information about the dev mailing list