Userspace native tunneling snoops the outer Ethernet source of an
encapsulated IP data packet into tnl_neigh_set(), keyed by the remote
VTEP IP. That MAC is the last hop. When the VTEP is routed, the last
hop is a router or MLAG MAC. Learning it flaps the neighbor cache,
changes tnl_conf_seq, and storms the revalidator.
v2 added a per-port neigh_snoop knob. v3 drops the knob and skips
data-packet snooping unless the remote is on-link through the
receiving bridge: ovs_router_lookup of the outer source succeeds, the
route has no gateway, and out_dev belongs to ctx->xbridge (member-port
names included). The lookup src is the outer destination so
source-based routing matches tunnel output. A failed lookup does not
snoop.
On-link VTEPs on the receiving bridge still update the cache so BFD
can recover after a real remote NIC MAC change. ARP/GARP and IPv6 NA
snooping is unchanged. Userspace native tunneling only.
Tests: tunnel_push_pop and tunnel_push_pop_ipv6 (on-link vs routed,
other-bridge, policy-routed). All six passed.
v3:
- Drop the neigh_snoop knob from v2.
- Route-aware snoop: on-link through the receiving bridge only.
- Lookup src is the outer destination (policy routing).
- Failed lookup does not snoop.
- New tests for other-bridge and policy-routed remotes.
v2: Resend via git send-email. v1 failed git am (Gmail linkified
tests/tunnel-push-pop*.at paths).
Girish Kumar (1):
xlate: Skip tnl-neigh snoop for routed remotes.
AUTHORS.rst | 1 +
NEWS | 10 +++
ofproto/ofproto-dpif-xlate.c | 64 ++++++++++++++++++-
tests/tunnel-push-pop-ipv6.at | 115 ++++++++++++++++++++++++++++++++++
tests/tunnel-push-pop.at | 114 +++++++++++++++++++++++++++++++++
5 files changed, 301 insertions(+), 3 deletions(-)
Signed-off-by: Girish Kumar <[email protected]>
--
2.47.3
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev