The series is composed of the following patches: #1: expires is modified in different contexts (revalidator, pmd-rx, bfd-tx). It's probably not very racy for many reasons, but it seems a good idea to use an atomic here (especially with the introduction of #3).
#2: introduces the possibility to set and read the entries timeout. It's useful for debugging purpose. #3: fixes a use case in which the tnl neigh entry never gets updated (further details in the commit message). #4: working with #2 and #3 I noticed unstable timeouts (visible when is set to few seconds) during nd snoop. It turned out to be a problem of revalidation. The revalidator should not execute actions in the cache. #5: tests #3 and #2. The use case fixed in #3 could be fixed relaxing the check in tnl_arp_snoop(), allowing to snoop ARP requests as well, but such approach could add unneeded entries in the cache. Paolo Valerio (5): Native tunnel: Read/write expires atomically. Native tunnel: Add tnl/neigh/ageing command. Tunnel: Snoop ingress packets and update neigh cache if needed. Native tunnel: Do not refresh the entry while revalidating. Tunnel: Add self tests for MAC learning and ageing. NEWS | 3 + lib/tnl-neigh-cache.c | 132 +++++++++++++++++++++++++------- lib/tnl-neigh-cache.h | 5 +- ofproto/ofproto-dpif-xlate.c | 17 +++- ofproto/ofproto-tnl-unixctl.man | 5 ++ tests/tunnel-push-pop-ipv6.at | 66 ++++++++++++++++ tests/tunnel-push-pop.at | 65 ++++++++++++++++ 7 files changed, 264 insertions(+), 29 deletions(-) _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev