On Tue, Mar 7, 2023 at 2:33 AM Jakub Kicinski <kuba@xxxxxxxxxx> wrote: > > On Mon, 6 Mar 2023 19:19:59 +0800 Po-Hsu Lin wrote: > > The `devlink -j dev show` command output may not contain the "flavour" > > key, for example: > > $ devlink -j dev show > > {"dev":{"pci/0001:00:00.0":{},"pci/0002:00:00.0":{}}} > > It's not dev that's supposed to have the flavor, it's port. > > devlink -j port show Ah yes, it's using output from this command, thanks for catching this. > > Are you running with old kernel or old user space? > Flavor is not an optional attribute. This was from a s390x LPAR instance with Ubuntu 22.10 (5.19.0-37-generic) iproute2-5.15.0 $ devlink -j port show {"port":{"pci/0001:00:00.0/1":{"type":"eth","netdev":"ens301"},"pci/0001:00:00.0/2":{"type":"eth","netdev":"ens301d1"},"pci/0002:00:00.0/1":{"type":"eth","netdev":"ens317"},"pci/0002:00:00.0/2":{"type":"eth","netdev":"ens317d1"}}} > > > This will cause a KeyError exception. Fix this by checking the key > > existence first. > > > > Also, if max lanes is 0 the port splitting won't be tested at all. > > but the script will end normally and thus causing a false-negative > > test result. > > > > Use a test_ran flag to determine if these tests were skipped and > > return KSFT_SKIP accordingly. > > > > Link: https://bugs.launchpad.net/bugs/1937133 > > Fixes: f3348a82e727 ("selftests: net: Add port split test") > > Signed-off-by: Po-Hsu Lin <po-hsu.lin@xxxxxxxxxxxxx> > > Could you factor out the existing skipping logic from main() > (the code under "if not dev:") and add the test for flavors > to the same function? It'll be a bit more code but cleaner > result IMHO. Sure, will do with V2. Thanks!