Looks good,
Ethan

On Tue, Jan 24, 2012 at 13:44, Ben Pfaff <b...@nicira.com> wrote:
> When Cisco (and other?) routers are configured in high-availability modes,
> they use two different MAC addresses.  The router uses MAC 1 only for ARP
> replies.  The router uses MAC 2 for forwarding IP packets to end hosts.
> When a MAC learning switch is attached to the router, therefore, it will
> only learn the location of MAC 1 from ARP replies.  If the end host's ARP
> cache refresh timer is longer than the switch's MAC learning timeout, then
> packets to the router will be flooded from the MAC learning timeout until
> the next ARP reply.
>
> This commit fixes the problem by increasing the MAC learning timeout from
> 60 seconds to 300 seconds.  According to research by Sanjay Sane, this is
> always sufficient, even with operating systems that use ARP timeouts
> longer than 300 seconds (such as FreeBSD and Mac OS, which have 1200
> seconds ARP timeouts)  because the routers that cause this problem send
> unsolicited ARP replies every 180 seconds.
>
> This issue arises in any situation where traffic between two hosts flows
> only in one direction.  The explanation above describes only one special
> case.
>
> NICS-11.
> Signed-off-by: Ben Pfaff <b...@nicira.com>
> ---
>  lib/mac-learning.h |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/lib/mac-learning.h b/lib/mac-learning.h
> index 0263e49..4bcf221 100644
> --- a/lib/mac-learning.h
> +++ b/lib/mac-learning.h
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2008, 2009, 2010, 2011 Nicira Networks.
> + * Copyright (c) 2008, 2009, 2010, 2011, 2012 Nicira Networks.
>  *
>  * Licensed under the Apache License, Version 2.0 (the "License");
>  * you may not use this file except in compliance with the License.
> @@ -27,7 +27,7 @@
>  #define MAC_MAX 2048
>
>  /* Time, in seconds, before expiring a mac_entry due to inactivity. */
> -#define MAC_ENTRY_IDLE_TIME 60
> +#define MAC_ENTRY_IDLE_TIME 300
>
>  /* Time, in seconds, to lock an entry updated by a gratuitous ARP to avoid
>  * relearning based on a reflection from a bond slave. */
> --
> 1.7.2.5
>
> _______________________________________________
> dev mailing list
> dev@openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to