Re: [PATCH v2 net-next 0/7] selftests: net: Switch pmtu.sh to use the internal ovs script.

Aaron Conole
2024-06-25T13:18:45Z

Jakub Kicinski <kuba@kernel.org> writes:

> On Mon, 24 Jun 2024 12:53:45 -0400 Aaron Conole wrote:
>> Additionally, the "Cannot find device ..." text comes from an iproute2
>> utility output. The only place we actually interact with that is via
>> the call at pmtu.sh:973:
>>
>> run_cmd ip link set ovs_br0 up
>>
>> Maybe it is possible that the link isn't up (could some port memory
>> allocation or message be delaying it?) yet in the virtual environment.
>
> Depends on how the creation is implemented, normally device creation
> over netlink is synchronous. Just to be sure have you tried to repro
> with vng:
>
> https://github.com/linux-netdev/nipa/wiki/How-to-run-netdev-selftests-CI-style
>
> ? It could be the base OS difference, too, but that's harder to confirm.

Yes - that's the way I run it. But I didn't try to use any of the
stress inducing options. I'll work on it with that.

>> To confirm, is it possible to run in the constrained environment, but
>> put a 5s sleep or something? I will add the following either as a
>> separate patch (ie 7/8), or I can fold it into 6/7 (and drop Stefano's
>> ACK waiting for another review):
>>
>>
>> wait_for_if() {
>> if ip link show "$2" >/dev/null 2>&1; then return 0; fi
>>
>> for d in `seq 1 30`; do
>> sleep 1
>> if ip link show "$2" >/dev/null 2>&1; then return 0; fi
>> done
>> return 1
>> }
>>
>> ....
>> setup_ovs_br_internal || setup_ovs_br_vswitchd || return $ksft_skip
>> + wait_for_if "ovs_br0"
>> run_cmd ip link set ovs_br0 up
>> ....
>>
>> Does it make sense or does it seem like I am way off base?
>
> sleep 1 is a bit high (sleep does accept fractional numbers!)
> but otherwise worth trying, if you can't repro locally.

Ack.