[PATCH] test/passt/ndp: Add delay in SLAAC prefix test before looking for kernel_ra address
I'm not exactly sure why we need this delay, but commit 9a0e544f05bf
("test: Improve test for NDP assigned prefix") broke the tests for me.
I think it's because the kernel (at least all the versions I'm testing
with) might not mark an address as 'kernel_ra' right away, so the jq
expression doesn't return any result when we check.
Fixes: 9a0e544f05bf ("test: Improve test for NDP assigned prefix")
Signed-off-by: Stefano Brivio
On Mon, Nov 25, 2024 at 11:37:19AM +0100, Stefano Brivio wrote:
I'm not exactly sure why we need this delay, but commit 9a0e544f05bf ("test: Improve test for NDP assigned prefix") broke the tests for me.
I think it's because the kernel (at least all the versions I'm testing with) might not mark an address as 'kernel_ra' right away, so the jq expression doesn't return any result when we check.
Fixes: 9a0e544f05bf ("test: Improve test for NDP assigned prefix") Signed-off-by: Stefano Brivio
This will do the job, but I think we can do better. There's logic above this to explicitly wait for DAD which doesn't seem to be working. Having another look at it, I think that's just because the conditions I used are a bit sloppy. I'm about to send a patch which improves them, which I hope will fix the problem you're seeing.
--- test/passt/ndp | 1 + 1 file changed, 1 insertion(+)
diff --git a/test/passt/ndp b/test/passt/ndp index 56b385b..9a1c9a4 100644 --- a/test/passt/ndp +++ b/test/passt/ndp @@ -23,6 +23,7 @@ hout HOST_IFNAME6 ip -j -6 route show|jq -rM '[.[] | select(.dst == "default").d check [ -n "__IFNAME__" ]
test SLAAC: prefix +sleep 2 gout ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__IFNAME__").addr_info[] | select(.scope == "global" and .protocol == "kernel_ra") | .local + "/" + (.prefixlen | tostring)] | .[0]' gout PREFIX6 sipcalc __ADDR6__ | grep prefix | cut -d' ' -f4 hout HOST_ADDR6 ip -j -6 addr show|jq -rM '[.[] | select(.ifname == "__HOST_IFNAME6__").addr_info[] | select(.scope == "global" and .deprecated != true).local] | .[0]'
-- David Gibson (he or they) | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you, not the other way | around. http://www.ozlabs.org/~dgibson
On Tue, 26 Nov 2024 13:28:22 +1100
David Gibson
On Mon, Nov 25, 2024 at 11:37:19AM +0100, Stefano Brivio wrote:
I'm not exactly sure why we need this delay, but commit 9a0e544f05bf ("test: Improve test for NDP assigned prefix") broke the tests for me.
I think it's because the kernel (at least all the versions I'm testing with) might not mark an address as 'kernel_ra' right away, so the jq expression doesn't return any result when we check.
Fixes: 9a0e544f05bf ("test: Improve test for NDP assigned prefix") Signed-off-by: Stefano Brivio
This will do the job, but I think we can do better. There's logic above this to explicitly wait for DAD which doesn't seem to be working. Having another look at it, I think that's just because the conditions I used are a bit sloppy. I'm about to send a patch which improves them, which I hope will fix the problem you're seeing.
Ah, right, thanks, I missed the fact that the filter on the previous wait didn't actually match the filter for ADDR6. Your new patch fixes the issue, so I'm discarding this one of course. -- Stefano
participants (2)
-
David Gibson
-
Stefano Brivio