On 12/7/21 8:38 PM, lizhijian@fujitsu.com wrote:
On 08/12/2021 11:14, David Ahern wrote:
On 12/6/21 11:05 PM, lizhijian@fujitsu.com wrote:
# TESTS=bind6 ./fcnal-test.sh
########################################################################### IPv6 address binds ###########################################################################
################################################################# No VRF
TEST: Raw socket bind to local address - ns-A IPv6 [FAIL]
This one passes for me.
Err, i didn't notice this one when i sent this mail. Since it was passed too in my previous multiple runs.
Can you run the test with '-v -p'? -v will give you the command line that is failing. -p will pause the tests at the failure. From there you can do:
ip netns exec ns-A bash
Look at the routing - no VRF is involved so the address should be local to the device and the loopback. Run the test manually to see if it really is failing.
thanks for your advice, i will take a look if it appears again.
TEST: Raw socket bind to local address after device bind - ns-A IPv6 [ OK ] TEST: Raw socket bind to local address - ns-A loopback IPv6 [ OK ] TEST: Raw socket bind to local address after device bind - ns-A loopback IPv6 [ OK ] TEST: TCP socket bind to local address - ns-A IPv6 [ OK ] TEST: TCP socket bind to local address after device bind - ns-A IPv6 [ OK ] TEST: TCP socket bind to out of scope local address - ns-A loopback IPv6 [FAIL]
This one seems to be a new problem. The socket is bound to eth1 and the address bind is to an address on loopback. That should not be working.
actually that one should be commented out similar to the test at the end of ipv4_addr_bind_novrf. It documents unexpected behavior - binding to a device should limit the addresses it can bind to but the kernel does not. Legacy behavior.
My colleague had another thread with the verbose detailed message https://lore.kernel.org/netdev/PH0PR11MB4792DC680F7E383D72C2E8C5C56E9@PH0PR1...
################################################################# With VRF
TEST: Raw socket bind to local address after vrf bind - ns-A IPv6 [ OK ] TEST: Raw socket bind to local address after device bind - ns-A IPv6 [ OK ] TEST: Raw socket bind to local address after vrf bind - VRF IPv6 [ OK ] TEST: Raw socket bind to local address after device bind - VRF IPv6 [ OK ] TEST: Raw socket bind to invalid local address after vrf bind - ns-A loopback IPv6 [ OK ] TEST: TCP socket bind to local address with VRF bind - ns-A IPv6 [ OK ] TEST: TCP socket bind to local address with VRF bind - VRF IPv6 [ OK ] TEST: TCP socket bind to local address with device bind - ns-A IPv6 [ OK ] TEST: TCP socket bind to VRF address with device bind - VRF IPv6 [FAIL]
This failure is similar to the last one. Need to see if a recent commit changed something.
similarly here. Want to send a patch that comments them out with the same explanation as in ipv4_addr_bind_novrf?
Both fail on v5.8 so I do not believe a recent change affected either test. I guess these bind tests slipped through the cracks with the misname in the TESTS variable. Thanks for the patch to fix that.
Also, make sure you always cc the author of the Fixes tag when sending patches.