Hi Andrew, > > On Fri, Aug 21, 2026 at 05:09:59PM +0000, Ovidiu Panait wrote: > > Add a test that validates ping traffic over VLAN interfaces. It aims > > to catch drivers which mishandle hardware VLAN tag stripping, in > > particular QinQ. > > > > Three VLAN configurations are covered, each with hardware VLAN stripping > > enabled and disabled: > > - a single 802.1q VLAN interface > > - a single 802.1ad VLAN interface > > - an 802.1q VLAN stacked on top of an 802.1ad interface > > > > NETIF=end1 LOCAL_V4=172.16.0.2 REMOTE_V4=172.16.0.3 \ > > REMOTE_TYPE=ssh [email protected] \ > > run_kselftest.sh -t drivers/net:vlan.py > > TAP version 13 > > 1..1 > > # timeout set to 360 > > # selftests: drivers/net: vlan.py > > # # Interface: end0, driver: st_gmac > > # TAP version 13 > > # 1..6 > > # ok 1 vlan.test.8021q_hw > > # ok 2 vlan.test.8021q_sw > > # ok 3 vlan.test.8021ad_hw > > # ok 4 vlan.test.8021ad_sw > > # ok 5 vlan.test.qinq_hw > > # ok 6 vlan.test.qinq_sw > > # # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0 > > > +def _setup(cfg, outer_proto, inner_proto, hw_strip): > > + """Configure VLAN stripping and create the VLAN interfaces.""" > > + > > + feat = ethtool(f"-k {cfg.ifname}", json=True)[0] > > + set_ethtool_feat(cfg.ifname, feat, {"rx-vlan-offload": hw_strip}) > > > + if current[name]["active"] != state: > + no_change = False > + if current[name]["fixed"]: > + raise KsftXfailEx(f"Device does not support {name}") > > I'm not too familiar with the self test framework, so i could have > this wrong. > > It looks to me like you fail the text if it is fixed. But does not > fixed just mean the hardware does not support it? So i think it should > actually skip the test? >
I compared the XFAIL vs SKIP usage when a certain hw feature is not supported and it seems that most tests use SKIP (tso.py, gro_hw.py, hds.py, ntuple.py, etc). I will switch to SKIP in v3, which should also allow for some reduction in code duplication across tests. Ovidiu > Now, if it does not say fixed, but ethtool -K reports EOPNOTSUPP, that > would be an error. > > Having said that, thanks for spending the time to add a test. We need > more tests like this. > > Andrew

