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

Reply via email to