tun: remove bogus hardware vlan acceleration flags from vlan_features
authorFernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Tue, 18 Feb 2014 12:20:09 +0000 (21:20 +0900)
committerDavid S. Miller <davem@davemloft.net>
Thu, 20 Feb 2014 07:15:38 +0000 (02:15 -0500)
commit6671b2240c54585d4afb5286a29f1569fe5e40a8
tree79c4280715571a77b08b5946dbac2a2ad0fe1c4a
parent8d0d21f4053c07714802cbe8b1fe26913ec296cc
tun: remove bogus hardware vlan acceleration flags from vlan_features

Even though only the outer vlan tag can be HW accelerated in the transmission
path, in the TUN/TAP driver vlan_features mirrors hw_features, which happens
to have the NETIF_F_HW_VLAN_?TAG_TX flags set. Because of this, during packet
tranmisssion through a stacked vlan device dev_hard_start_xmit, (incorrectly)
assuming that the vlan device supports hardware vlan acceleration, does not
add the vlan header to the skb payload and the inner vlan tags are lost
(vlan_tci contains the outer vlan tag when userspace reads the packet from
the tap device).

Signed-off-by: Fernando Luis Vazquez Cao <fernando@oss.ntt.co.jp>
Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/tun.c