[ovs-dev] [OVN] "Finish up ARP support" approach

Tiago Lam tiagolam at gmail.com
Wed Nov 8 22:57:44 UTC 2017


Hi Numan,

Thanks for taking the time and having a look. Replying inline as well.

On 11/08/2017 07:00 PM, Numan Siddique wrote:
> Hi Tiago,
> 
> Please see few comments inline
> 
> 
> 
> On Wed, Nov 8, 2017 at 11:49 PM, Tiago Lam <tiagolam at gmail.com
> <mailto:tiagolam at gmail.com>> wrote:
> 
>     Hey all,
> 
>     As pointed out in a previous email (email below), I'm hoping to work on
>     the "ARP re-checking bindings, expiring bindings" item on OVN's TODO.rst
>     file. I've since started tackling it, and I think I've made some good
>     progress, so I thought I'd share the logic here to see if you have any
>     thoughts / suggestions.
> 
>     Currently, the logic is very similar to the work done in the patch [1]
>     ("OVN: Add support for periodic router advertisements"):
>     1. A new 'arp_configs' column as been added to the Logical_Router_Port
>     table in NB DB. Currently, it only adds an option, 'timeout';
>     2. Similar to the IPv6's RAs patch, one can configure a 'timeout' for
>     the router's logical port using the 'timeout' key, as in:
> 
>         ovn-nbctl set Logical_Router_Port ro-sw arp_configs:timeout=60
> 
> 
> arp_configs should be configured to all the logical router ports
> attached to the router ? or to only gateway router port (i.e with
> redirect-chassis) option ?

My understanding is that it should be configured in all logical ports
attached to the router, not only in gateway router ports. This way, on
any logical port, if there's a IP-MAC bind in the MAC_Binding table, the
logic above will be triggered.

> I am still not very clear what is the requirement ? Why should
> ovn-controller send out periodic ARPs ?
> In the case of IPv6, it is expected that the router should send out
> periodic RA (which provides address mode, prefix etc). Can you please
> explain a little bit
> more ?

In this case it would be sending ARP requests only to revalidate the
already existing entries in the MAC_Binding table (i.e. if no entry
exists for a specific port, then no ARP will be sent).

>From what I got so far, since the entries in the MAC_Binding table are
generated dynamically (the ovn-sb man page even points out that this
table "is primarily used to discover bindings  on  physical  networks"),
this ARP re-checking and expiration process will help to sort the cases
when the network changes (and thus IP-MAC binds change), and avoid
having a stale entry.

What I can't answer is, how useful / critical this use case is in the
broader picture. How often would a thing like this happen?

> Thanks
> Numan

Thank you once again for having a look.

Tiago



More information about the dev mailing list