From dbeb56d2dab0a5c86b4b61b5dccdcb997cdaef1f Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Fri, 13 Oct 2023 09:19:45 +0200 Subject: ip-neighbor: do not use sas to determine NS source address Using the source address selection algorithm to determine the best source of an NS for address resolution risks incompatible behavior. It may choose a source address that is off-link to the other host. Which may drop it. A safer approach is to always use the link-local address as the SA. It's recommended to pick a source that an application will later use, as VPP is mostly a router, that rarely applies. And regardlessly we have no mechanism to signal from an application that triggered address resolutiuon what source address it intends to use. Type: fix Change-Id: I3c5de66e41505f3682767706ef1195a20e4f0e54 Signed-off-by: Ole Troan --- test/test_ip6_nd_mirror_proxy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'test/test_ip6_nd_mirror_proxy.py') diff --git a/test/test_ip6_nd_mirror_proxy.py b/test/test_ip6_nd_mirror_proxy.py index 9214e32b447..bb7c967137a 100644 --- a/test/test_ip6_nd_mirror_proxy.py +++ b/test/test_ip6_nd_mirror_proxy.py @@ -121,7 +121,7 @@ class TestNDPROXY(VppTestCase): rx = self.send_and_expect(self.pg1, [unicast_nd_req_from_host], self.pg0) self.assertEqual(rx[0][Ether].src, self.pg0.local_mac) self.assertEqual(rx[0][Ether].dst, in6_getnsmac(nsma)) - self.assertEqual(rx[0][IPv6].src, self.pg0.local_ip6) + self.assertEqual(rx[0][IPv6].src, self.pg0.local_ip6_ll) self.assertEqual(rx[0][IPv6].dst, d) self.assertEqual(ipv6nh[rx[0][IPv6].nh], "ICMPv6") self.assertEqual(rx[0][ICMPv6ND_NS].tgt, self.pg0.remote_ip6) -- cgit 1.2.3-korg