Thread (46 messages) 46 messages, 5 authors, 2013-03-29

RE: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or Fast Ethernet (rev b0) 1.0.0.7 md5/sha1 corrupted using NFS and samba (updated) Version 2

From: Huang, Xiong <hidden>
Date: 2013-03-24 04:21:50

I know that from some version of chips, there is a DMA bug that can't be fixed by software, and this bug could be detected by checking Sequence number, and do MAC reset.
Besides, the chip wrongly indicate rx-checksum for IP-fragment packet, I checked windows code, it seems a little bit different with linux code:

	if (((pkt_flags & RRS_IS_IPV4) && ((pkt_flags & RRS_IS_TCP) || (pkt_flags & RRS_IS_UDP))) {
		if (pkt_flags & RRS_IS_802_3)
			head_len += 8;
		iph = (struct iphdr *) (packet + head_len);
		if ((iph->frag_off != 0 || (pkt_flags & RRS_IS_IP_FRAG))  && !(pkt_flags & RRS_IS_IP_DF))
			goto hw_xsum;			
	}
	if (!(err_flags & (RRS_ERR_IP_CSUM | RRS_ERR_L4_CSUM))) {
		skb->ip_summed = CHECKSUM_UNNECESSARY;
		return;
	}



Thanks
Xiong
-----Original Message-----
From: Hannes Frederic Sowa [mailto:hannes@stressinduktion.org]
Sent: Sunday, March 24, 2013 11:41 AM
To: Huang, Xiong
Cc: Sven Hartge; netdev@vger.kernel.org
Subject: Re: Atheros Communications Inc. AR8121/AR8113/AR8114 Gigabit or
Fast Ethernet (rev b0) 1.0.0.7 md5/sha1 corrupted using NFS and samba
(updated) Version 2

On Sun, Mar 24, 2013 at 03:27:55AM +0000, Huang, Xiong wrote:
quoted
Could you point me where the patch is ?
I checked windows driver, it doesn't disable checksum offload in RX
direction.


The patch is here: <http://article.gmane.org/gmane.linux.network/263116>

It does not disable checksum offloading but rather suppress the update of
the ip_summed field. This forces the kernel to recheck the checksums and
discard the packet. Otherwise it would be seen as a valid one and could
corrupt data streams.

Thanks,

  Hannes
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help