[ovs-discuss] [OVN] Aging mechanism for MAC_Binding table

Daniel Alvarez Sanchez dalvarez at redhat.com
Tue Jun 25 11:05:21 UTC 2019


Hi folks,

Lately we've been trying to solve certain issues related to stale
entries in the MAC_Binding table (e.g. [0]). On the other hand, for
the OpenStack + Octavia (Load Balancing service) use case, we see that
a reused VIP can be as well affected by stale entries in this table
due to the fact that it's never bound to a VIF so ovn-controller won't
claim it and send the GARPs to update the neighbors.

I'm not sure if other scenarios may suffer from this issue but seems
reasonable to have an aging mechanism (as we discussed at some point
in the past) that makes unused/old entries to expire. After talking to
Numan on IRC, since a new pinctrl thread has been introduced recently
[1], it'd be nice to implement this aging mechanism there.
At the same time we'd be also reducing the amount of entries for long
lived systems as it'd grow indefinitely.

Any thoughts?

Thanks!
Daniel

PS. With regards to the 'unused' vs 'old' entries I think it has to be
'old' rather than 'unused' as I don't see a way to reset the TTL of a
MAC_Binding entry when we see packets coming. The implication is that
we'll be seeing ARPs sent out more often when perhaps they're not
needed. This also leads to the discussion of making the cache timeout
configurable.

[0] https://github.com/openvswitch/ovs/commit/81e928526b8a9393b90785fb0a9c82d79570ef84
[1] https://github.com/openvswitch/ovs/commit/3594ffab6b4b423aa635a313f6b304180d7dbaf7


More information about the discuss mailing list