From owner-svn-src-all@FreeBSD.ORG Thu Apr 12 14:06:06 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 0B6631065670; Thu, 12 Apr 2012 14:06:06 +0000 (UTC) (envelope-from luigi@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id EA79C8FC0A; Thu, 12 Apr 2012 14:06:05 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q3CE65cf031776; Thu, 12 Apr 2012 14:06:05 GMT (envelope-from luigi@svn.freebsd.org) Received: (from luigi@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q3CE65in031774; Thu, 12 Apr 2012 14:06:05 GMT (envelope-from luigi@svn.freebsd.org) Message-Id: <201204121406.q3CE65in031774@svn.freebsd.org> From: Luigi Rizzo Date: Thu, 12 Apr 2012 14:06:05 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r234185 - head/sys/dev/netmap X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Apr 2012 14:06:06 -0000 Author: luigi Date: Thu Apr 12 14:06:05 2012 New Revision: 234185 URL: http://svn.freebsd.org/changeset/base/234185 Log: Apparently the length field in advanced descriptors does not include the CRC irrespective of the setting of CRCSTRIP. The 82599 data sheets (sec. 7.1.6) say differently. Very strange. Need to check what happens on legacy descriptors, but for the time being this restores functionality. Modified: head/sys/dev/netmap/ixgbe_netmap.h Modified: head/sys/dev/netmap/ixgbe_netmap.h ============================================================================== --- head/sys/dev/netmap/ixgbe_netmap.h Thu Apr 12 14:02:59 2012 (r234184) +++ head/sys/dev/netmap/ixgbe_netmap.h Thu Apr 12 14:06:05 2012 (r234185) @@ -474,7 +474,12 @@ ixgbe_netmap_rxsync(struct ifnet *ifp, u * rxr->next_to_check is set to 0 on a ring reinit */ if (netmap_no_pendintr || force_update) { - int crclen = ix_crcstrip ? 0 : 4; + /* XXX apparently the length field in advanced descriptors + * does not include the CRC irrespective of the setting + * of CRCSTRIP. The data sheets say differently. + * Very strange. + */ + int crclen = 0; // ix_crcstrip ? 0 : 4; l = rxr->next_to_check; j = netmap_idx_n2k(kring, l);