On Thu, Apr 20, 2017 at 07:19:55PM -0400, Vlad Yasevich wrote: > > Having said that, the other alternative is to inherit hw_features from > lower devices. BTW, bonding I think has a similar "issue" you are > describing since it prefers HW_CSUM if any of the slaves have it set.
It does but bonding uses netdev_increment_features() to combine slave features and this function handles checksumming like "or", not "and" (not only checksumming, also flags in NETIF_F_ONE_FOR_ALL). That said, it's legitimate to ask if we want some of the features to be handled differently when computing features for a vlan device. My point before was that if the helper is called netdev_intersect_features(), it shouldn't return any features that are not supported by both argument sets, even if all its current users would benefit from slightly different behaviour. If it does, it's a trap that someone might one day fall in. Michal Kubecek