Subject: Re: Question about VLAN + checksum offloading

From: Patrick McHardy <[email-masked]>
Date: Mon, 19 May 2008 19:43:41 +0200

Waskiewicz Jr, Peter P wrote:
>> o If so, is there any mechanism to propagate  
>> real_dev->features flags in vlan.c?
> 
> There isn't an explicit way.  I had written patches into e1000, igb,
> e1000e, and ixgbe to propogate the VLAN flags within the driver when the
> VLAN device was created.  The trick though is if you remove a feature
> flag with ethtool, say checksum offload, on your main device, you
> probably should turn it off on your VLAN devices.  Patrick McHardy
> pointed me at netdev_feature_change() to use within the driver.  I'll
> admit I haven't had the time to fix my drivers to use this call, but it
> certainly looks like the way to go.  Please see the (middle) of the
> thread here: http://marc.info/?l=linux-netdev&m=120878809806631&w=2
> 
>> o If such mechanism doesn't exist, is my patch reasonable?
> 
> I would say yes, halfway.  The issue is you probably want to remove the
> feature flag from the VLAN device if you removed the flag from the
> parent device as well.

Yes, it should use the same mechanism as suggested for the
VLAN accel feature. And it should be limited to features
that are known to work, not just blindly copy everything.

I will be catching up with the VLAN patches posted recently
sometime next week. I guess I can then also add a patch for
feature propagation myself if you don't beat me to it :)