On Tue, Dec 13, 2016 at 05:16:26PM -0800, Stephen Hemminger wrote: > On Tue, 13 Dec 2016 01:12:32 +0100 (CET) > Michał Mirosław <mirq-li...@rere.qmqm.pl> wrote: > > This series removes an abuse of VLAN CFI bit in Linux networking stack. > > Currently Linux always clears the bit on outgoing traffic and presents > > it cleared to userspace (even via AF_PACKET/tcpdump when hw-accelerated). > > > > This uses a new vlan_present bit in struct skbuff, and removes an assumption > > that vlan_proto != 0 when VLAN tag is present. > > > > As I can't test most of the driver changes, please look at them carefully. > > > > The series is supposed to be bisect-friendly and that requires temporary > > insertion of #define VLAN_TAG_PRESENT in BPF code to be able to split > > JIT changes per architecture. > > I wonder if CFI can every validly be non-zero in the modern world, on Hyper-V. > There are no token ring devices and that seems to be the only use case where > CFI would > be non-zero. Unless someone is planning to reuse it a a protocol bit which > seems > like a really bad idea. > > Maybe the right thing is to keep hard coded as zero and not start adding > more untestable code conditions. > > My recommendation would be get rid of VLAN_TAG_PRESENT, but don't preserve > CFI bit.
According to Wikipedia page [1] on 802.1Q, CFI bit got already changed to DEI (Drop eligible indicator) in 2011 revision of the IEEE standard. I can't verify this, though. Best Regards, Michał Mirosław [1] https://en.wikipedia.org/wiki/IEEE_802.1Q#Frame_format