On 4/15/2011 6:41 PM, Jean-Mickael Guerin wrote: > On 4/12/2011 7:32 PM, Tantilov, Emil S wrote: >>> -----Original Message----- >>> From: Jean-Mickael Guerin [mailto:[email protected]] >>> Sent: Thursday, April 07, 2011 12:17 AM >>> To: [email protected] >>> Subject: [E1000-devel] CRC stripping on 82598 and 82599 >>> >>> Hello, >>> >>> It seems CRC is not stripped out on 82599, neither on 82598. >>> The ixgbe driver is setting RDRXCTL for 82599, nothing else. >>> >From datasheet I found that RDRXCTL.CRCStrip and HLREG0.RXCRCSTRP >>> must be set to the same value. >>> >>> I tested this patch (ixgbe-3.2.10) on 82598: always set >>> IXGBE_HLREG0_RXCRCSTRP, >>> and it CRC is stripped now: >>> >>> --- a/src/ixgbe_main.c >>> +++ b/src/ixgbe_main.c >>> @@ -3439,6 +3439,8 @@ static void ixgbe_set_rx_buffer_len(struct >>> ixgbe_adapter *adapter) >>> hlreg0 = IXGBE_READ_REG(hw, IXGBE_HLREG0); >>> /* set jumbo enable since MHADD.MFS is keeping size locked at >>> max_frame */ >>> hlreg0 |= IXGBE_HLREG0_JUMBOEN; >>> + /* Enable CRC stripping */ >>> + hlreg0 |= IXGBE_HLREG0_RXCRCSTRP; >>> IXGBE_WRITE_REG(hw, IXGBE_HLREG0, hlreg0); >>> >>> >>> I'm going to test on 82599 too. >>> I can't test for other NIC than 82598 and 82599, may a test for (82598 || >>> 82599) should >>> be added. >> >> Thanks for the patch. Are you seeing an issue where the CRC is not being >> stripped, or is the patch just to satisfy the requirement in the datasheet? >> >> If you are seeing a problem could you provide the values of the HLREG0 and >> RDRXCTL? You can use the ethregs tool available for download from >> e1000.sf.net. A detailed information about your HW would also be helpful >> such as lspci -vvv and ethtool -e. > > I have seen skb->len 4 bytes too long, so at some point the IP stack needs to > trim it, I wanted to eliminate this step. > But I will trace to confirm it as soon as I have the hand on the board again, > probably next week.
Finally CRC is correctly stripped by driver, because IXGBE_HLREG0_RXCRCSTRP = 1 on startup. I was mistaken by some short packets. I patched to reset this register to 0, CRC is not stripped as expected, and after reboot IXGBE_HLREG0_RXCRCSTRP starts at 1 whatever the previous value is. So the patch does not bring anything, or maybe it gives an explicit statement about CRC so that no doubt is permitted. Regards, Jean-Mickael ------------------------------------------------------------------------------ Benefiting from Server Virtualization: Beyond Initial Workload Consolidation -- Increasing the use of server virtualization is a top priority.Virtualization can reduce costs, simplify management, and improve application availability and disaster protection. Learn more about boosting the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev _______________________________________________ E1000-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
