Stephen Hemminger
2016-Dec-14 01:21 UTC
[Bridge] [PATCH net-next] net: remove abuse of VLAN DEI/CFI bit
On Sat, 3 Dec 2016 10:22:28 +0100 (CET) Micha? Miros?aw <mirq-linux at rere.qmqm.pl> wrote:> This All-in-one patch removes abuse of VLAN CFI bit, so it can be passed > intact through linux networking stack. > > Signed-off-by: Micha? Miros?aw <michal.miroslaw at atendesoftware.pl> > --- > > Dear NetDevs > > I guess this needs to be split to the prep..convert[]..finish sequence, > but if you like it as is, then it's ready. > > The biggest question is if the modified interface and vlan_present > is the way to go. This can be changed to use vlan_proto != 0 instead > of an extra flag bit. > > As I can't test most of the driver changes, please look at them carefully. > OVS and bridge eyes are especially welcome. > > Best Regards, > Micha??Miros?awIs the motivation to support 802.1ad Drop Eligability Indicator (DEI)? If so then you need to be more verbose in the commit log, and lots more work is needed. You need to rename fields and validate every place a driver is using DEI bit to make sure it really does the right thing on that hardware. It is not just a mechanical change.
Michał Mirosław
2016-Dec-14 02:03 UTC
[Bridge] [PATCH net-next] net: remove abuse of VLAN DEI/CFI bit
On Tue, Dec 13, 2016 at 05:21:18PM -0800, Stephen Hemminger wrote:> On Sat, 3 Dec 2016 10:22:28 +0100 (CET) > Micha? Miros?aw <mirq-linux at rere.qmqm.pl> wrote: > > This All-in-one patch removes abuse of VLAN CFI bit, so it can be passed > > intact through linux networking stack. > > > > Signed-off-by: Micha? Miros?aw <michal.miroslaw at atendesoftware.pl> > > --- > > > > Dear NetDevs > > > > I guess this needs to be split to the prep..convert[]..finish sequence, > > but if you like it as is, then it's ready. > > > > The biggest question is if the modified interface and vlan_present > > is the way to go. This can be changed to use vlan_proto != 0 instead > > of an extra flag bit. > > > > As I can't test most of the driver changes, please look at them carefully. > > OVS and bridge eyes are especially welcome. > > > > Best Regards, > > Micha??Miros?aw > Is the motivation to support 802.1ad Drop Eligability Indicator (DEI)? > > If so then you need to be more verbose in the commit log, and lots more > work is needed. You need to rename fields and validate every place a > driver is using DEI bit to make sure it really does the right thing > on that hardware. It is not just a mechanical change.My main motivation is to be able to see the bit intact in tcpdump and be able to pass it untouched through at least a veth pair. It would be great if all devices didn't do something stupid with the bit, but it's not something I am able to make happen. Best Regards, Micha? Miros?aw
Michał Mirosław
2016-Dec-14 14:28 UTC
[Bridge] [PATCH net-next] net: remove abuse of VLAN DEI/CFI bit
On Tue, Dec 13, 2016 at 05:21:18PM -0800, Stephen Hemminger wrote:> On Sat, 3 Dec 2016 10:22:28 +0100 (CET) > Micha? Miros?aw <mirq-linux at rere.qmqm.pl> wrote: > > > This All-in-one patch removes abuse of VLAN CFI bit, so it can be passed > > intact through linux networking stack. > > > > Signed-off-by: Micha? Miros?aw <michal.miroslaw at atendesoftware.pl> > > --- > > > > Dear NetDevs > > > > I guess this needs to be split to the prep..convert[]..finish sequence, > > but if you like it as is, then it's ready. > > > > The biggest question is if the modified interface and vlan_present > > is the way to go. This can be changed to use vlan_proto != 0 instead > > of an extra flag bit. > > > > As I can't test most of the driver changes, please look at them carefully. > > OVS and bridge eyes are especially welcome. > > > > Best Regards, > > Micha??Miros?aw > > Is the motivation to support 802.1ad Drop Eligability Indicator (DEI)? > > If so then you need to be more verbose in the commit log, and lots more > work is needed. You need to rename fields and validate every place a > driver is using DEI bit to make sure it really does the right thing > on that hardware. It is not just a mechanical change.There are not many mentions of CFI bit in the Linux tree. Places that used it as VLAN_TAG_PRESENT are fixed with this patchset. Other uses are: - VLAN code: ignored - ebt_vlan: ignored - OVS: cleared because of netlink API assumptions - DSA: transferred to/from (E)DSA tag - drivers: gianfar: uses properly in filtering rules - drivers: cnic: false-positive (uses only VLAN ID, CFI bit marks the field 'valid') - drivers: qedr: false-positive (like cnic) So unless there is something hidden in the hardware, no driver does anything special with the CFI bit. After this patchset only OVS will need further modifications to be able to support handling of DEI bit. Best Regards, Micha??Miros?aw