Hi all, I have come across what appears to be an issue with the igb driver/i350 NIC that I could use some help with.
Linux kernel: 3.12.15-rt25 igb driver: 5.2.5 (and 5.0.5) Here is the background. We are in the process of updating computer hardware and moving to a system that uses an i350 NIC instead of older e1000 PCI-X hardware. We have an existing hardware product that sends out raw Ethernet frames at 48KHz with an Ethernet frame size of 2080 bytes. This is connected to a computer that processes the data and then sends it back at the same rate and frame size. I have setup a simple loopback application that opens a raw socket and reads 1 packet from the network and then writes it back out. The problem I am having is that I am not reading all the data correctly. Every packet from the hardware is 2080 bytes, but a small percentage of socket reads returns a buffer that is only 590 bytes. The fact that I always get a read of 590 bytes is very odd. I wanted to try to verify that the problem was not in the transfer to userland, so I put a couple of checks in igb_clean_rx_irq (after line 8346) and kept track of the skb->len value and it is always 2080 bytes or 590 bytes. The error rate during a recent test was 105 out of 47,116,519 Ethernet packets. I started dumping first 40 bytes of the 590 byte read and that produces some interesting results. The MAC destination appears correct (broadcast in this case), but the MAC source is wrong and the rest of the data that follows is incorrect. Every 590 byte read has the same first 40 bytes of data in it. I have not compare the rest to see if the entire 590 byte read is the same. This makes me think that I am some how getting a stale buffer. When I get a good socket read of 2080 bytes, I am able to send it back to the hardware producer and it verifies that the data is correct. Any thoughts on what could be the cause of this or where in the driver would be a good place to start looking? Thanks, Todd Naugle Engineering Harrison Consoles ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/NeoTech _______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired