On Fri, 7 Feb 2020 15:29:59 +0100 Olivier Matz <olivier.m...@6wind.com> wrote:
> The meaning of each flag should be as simple as possible, I think we can > summarize them like this: > > - PKT_RX_VLAN: the vlan is saved in vlan tci. > - PKT_RX_VLAN_STRIPPED: the vlan hdr is removed from packet data. > - PKT_RX_QINQ: the outer vlan is saved in vlan tci. > - PKT_RX_QINQ_STRIPPED: the inner vlan is stripped from packet data. > - When PKT_RX_QINQ is set, PKT_RX_VLAN* refer to the inner vlan > of initial packet, else it refers to the first vlan of the packet. > > There is a link between vlan flag and vlan_tci field, and qinq flag and > vlan_tci_outer field. > > I'm still not sure to understand what you expect. Can you give an > example with flags (which are set), and the expected content of m->vlan_tci > and m->vlan_tci_outer? > > By the way, the case 5/ is not very well described too, maybe we should > add something about it. > > Thanks, > Olivier The patch does help clarify the meaning, and Oliver's summary clarifies even more. It might be possible for hardware to offload inner vlan but not outer vlan, though seriously doubt anyone but some conformance test would do that.