macvlan: allow setting LRO independently of lower device
authorMichal Kubeček <mkubecek@suse.cz>
Fri, 5 Dec 2014 16:05:49 +0000 (17:05 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 9 Dec 2014 21:00:22 +0000 (16:00 -0500)
commit62dbe83015ed15b307eb22b89568dd41091dda76
tree7529dd8e6790a5148aef58eddeacd88f9ce6a2a7
parentbd42b788607b850b84e7c754d351cbec93c681e1
macvlan: allow setting LRO independently of lower device

Since commit fbe168ba91f7 ("net: generic dev_disable_lro() stacked
device handling"), dev_disable_lro() zeroes NETIF_F_LRO feature flag
first for a macvlan device and then for its lower device. As an attempt
to set NETIF_F_LRO to zero is ignored, dev_disable_lro() issues a
warning and taints kernel.

Allowing NETIF_F_LRO to be set independently of the lower device
consists of three parts:

  - add the flag to hw_features to allow toggling it
  - allow setting it to 0 even if lower device has the flag set
  - add the flag to MACVLAN_FEATURES to restore copying from lower
    device on macvlan creation

Signed-off-by: Michal Kubecek <mkubecek@suse.cz>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/macvlan.c