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
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev