MIPS: Octeon: Fix to IP checksum offloading in Little Endian
When hardware checksum generation is switched on the checksum generation was only being signalled to the hardware correctly in Big Endian mode. Signed-off-by: Paul Martin <paul.martin@codethink.co.uk> Cc: linux-mips@linux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/9634/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
parent
d2a948d2db
commit
97b290b563
|
@ -413,7 +413,7 @@ int cvm_oct_xmit(struct sk_buff *skb, struct net_device *dev)
|
||||||
/* Check if we can use the hardware checksumming */
|
/* Check if we can use the hardware checksumming */
|
||||||
if (USE_HW_TCPUDP_CHECKSUM && (skb->protocol == htons(ETH_P_IP)) &&
|
if (USE_HW_TCPUDP_CHECKSUM && (skb->protocol == htons(ETH_P_IP)) &&
|
||||||
(ip_hdr(skb)->version == 4) && (ip_hdr(skb)->ihl == 5) &&
|
(ip_hdr(skb)->version == 4) && (ip_hdr(skb)->ihl == 5) &&
|
||||||
((ip_hdr(skb)->frag_off == 0) || (ip_hdr(skb)->frag_off == 1 << 14))
|
((ip_hdr(skb)->frag_off == 0) || (ip_hdr(skb)->frag_off == htons(1 << 14)))
|
||||||
&& ((ip_hdr(skb)->protocol == IPPROTO_TCP)
|
&& ((ip_hdr(skb)->protocol == IPPROTO_TCP)
|
||||||
|| (ip_hdr(skb)->protocol == IPPROTO_UDP))) {
|
|| (ip_hdr(skb)->protocol == IPPROTO_UDP))) {
|
||||||
/* Use hardware checksum calc */
|
/* Use hardware checksum calc */
|
||||||
|
|
Loading…
Reference in New Issue