]> git.baikalelectronics.ru Git - kernel.git/commit
mvneta: Fix TSO and checksum for non-acceleration vlan traffic
authorVlad Yasevich <vyasevich@gmail.com>
Mon, 25 Aug 2014 14:34:54 +0000 (10:34 -0400)
committerDavid S. Miller <davem@davemloft.net>
Tue, 26 Aug 2014 00:27:10 +0000 (17:27 -0700)
commit742a028e0be4189f85e597fa1c567e20fb28f621
tree2813ef1a4959c86314ea8d3bf37fad55b143a38d
parentdd6aee649cde4bb0a50f317fda6eefe6b469f7f1
mvneta: Fix TSO and checksum for non-acceleration vlan traffic

This driver doesn't appear to support vlan acceleration at
all.  However, it does claim to support TSO and IP checksums
for vlan devices.  Thus any configured vlan device would
end up passing down partial checksums or TSO frames.

The driver also uses the value from skb->protocol to
determine TSO and checksum offload information, but assumes
that skb->protocol holds the l3 protocol information.
As a result, vlan traffic with partial checksums or TSO
will fail those checks and TSO will not happen.

Fix this by using vlan_get_protocol() helper.

CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/marvell/mvneta.c