summaryrefslogtreecommitdiff
path: root/net/rds
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2013-12-26 12:17:00 +0100
committerDavid S. Miller <davem@davemloft.net>2013-12-26 13:41:00 -0500
commit797f87f83b60685ff8a13fa0572d2f10393c50d3 (patch)
tree3ccec3d1c8085f47cb064e0e47490e459c4248bc /net/rds
parent61e7f09d0f437c9614029445754099383ec2eec4 (diff)
macvlan: fix netdev feature propagation from lower device
There are inconsistencies wrt. feature propagation/inheritance between macvlan and the underlying interface. When a feature is turned off on the real device before a macvlan is created on top, these will remain enabled on the macvlan device, whereas turning off the feature on the lower device after macvlan creation the kernel will propagate the changes to the macvlan. The second issue is that, when propagating changes from underlying device to the macvlan interface, macvlan can erronously lose its NETIF_F_LLTX flag, as features are anded with the underlying device. However, LLTX should be kept since it has no dependencies on physical hardware (LLTX is set on macvlan creation regardless of the lower device properties, see 8ffab51b3dfc54876f145f15b351c41f3f703195 (macvlan: lockless tx path). The LLTX flag is now forced regardless of user settings in absence of layer2 hw acceleration (a6cc0cfa72e0b6d9f2c8fd858aa, net: Add layer 2 hardware acceleration operations for macvlan devices). Use netdev_increment_features to rebuild the feature set on capability changes on either the lower device or on the macvlan interface. As pointed out by Ben Hutchings, use netdev_update_features on NETDEV_FEAT_CHANGE event (it calls macvlan_fix_features/netdev_features_change if needed). Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds')
0 files changed, 0 insertions, 0 deletions