arp: source address selection 95/33495/7
authorEd Warnicke <user@example.com>
Sat, 14 Aug 2021 21:19:43 +0000 (16:19 -0500)
committerOle Tr�an <otroan@employees.org>
Thu, 7 Oct 2021 13:57:45 +0000 (13:57 +0000)
commit9e17887db97bb9f6507270f9fa9923c10816e0df
tree1694df3523a35cd74119585e896b671115a47053
parent12ba95bff55362b17acddac0b9063d9109ec0646
arp: source address selection

https://gerrit.fd.io/r/c/vpp/+/30197 introduced SAS and inadvertently
broke ping in a variety of situations:

https://jira.fd.io/browse/VPP-1992
https://jira.fd.io/browse/VPP-1970
https://lists.fd.io/g/vpp-dev/topic/84038840

all of which seem to be rooted in situations where there's literally
nothing smarter ping can do for source address selection than
to pick the first IP on the interface.  This can happen for:

1. P2P interfaces, see attempted fix: https://gerrit.fd.io/r/c/vpp/+/32801
2. Interfaces with /32 IP addresses intentionally assigned

After some discussion, this problem was partially fixed in
https://gerrit.fd.io/r/c/vpp/+/33449

Unforunately, while source selection was fixed in ping, it continued
to be broken in arp/nd.  This gerrit builds on
https://gerrit.fd.io/r/c/vpp/+/33449
and fixes arp/nd.

Type: fix
Ticket: VPP-1970
Ticket: VPP-1992
Fixes: e2fe097424fb169dfe01421ff17b8ccd0c26b4a6

Change-Id: Ief60c321676a15f4f30bf4cd84d50b2f1efec432
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
src/vnet/ip-neighbor/ip4_neighbor.c
src/vnet/ip-neighbor/ip6_neighbor.c