[ovs-dev] [PATCH RFC 0/5] Native tunnel: Update neigh entries in tnl termination.

Paolo Valerio pvalerio at redhat.com
Thu Oct 7 12:35:06 UTC 2021

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(-)

More information about the dev mailing list