[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20130324043738.GD17948@order.stressinduktion.org>
Date: Sun, 24 Mar 2013 05:37:38 +0100
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
To: "Huang, Xiong" <xiong@....qualcomm.com>
Cc: Sven Hartge <sven@...nhartge.de>,
"netdev@...r.kernel.org" <netdev@...r.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 04:21:27AM +0000, Huang, Xiong wrote:
> 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:
Thanks, I will have a closer look at it tomorrow.
>
> 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;
> }
Btw the captured corrupted packets are ordinary non-fragmented TCP IPv4
packets. But perhaps these flags are dual-use?
Thanks for looking into it,
Hannes
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists