diff options
author | Guenter Roeck <linux@roeck-us.net> | 2014-10-29 18:44:53 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-10-30 19:54:10 +0100 |
commit | 734cbb5b6bf9ee42ab4d71690fabf486b1f44502 (patch) | |
tree | d1bde24176732ff95d9ef9ecf6407a2edcb17beb /drivers/net/dsa | |
parent | neigh: optimize neigh_parms_release() (diff) | |
download | linux-734cbb5b6bf9ee42ab4d71690fabf486b1f44502.tar.xz linux-734cbb5b6bf9ee42ab4d71690fabf486b1f44502.zip |
net: dsa: Don't set skb->protocol on outgoing tagged packets
Setting skb->protocol to a private protocol type may result in warning
messages such as
e1000e 0000:00:19.0 em1: checksum_partial proto=dada!
This happens if the L3 protocol is IP or IPv6 and skb->ip_summed is set
to CHECKSUM_PARTIAL. Looking through the code, it appears that changing
skb->protocol for transmitted packets is not necessary and may actually
be harmful. For example, it prevents purposely unmodified (from a DSA
perspective) network drivers from properly setting up their transmit
checksum offload pointers since they inspect skb->protocol to set up the
IPv4 header or IPv6 header pointers. So don't unnecessarily change the
protocol field.
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/dsa')
0 files changed, 0 insertions, 0 deletions