From owner-freebsd-net@FreeBSD.ORG Fri Jan 13 23:01:54 2012 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A6750106566B for ; Fri, 13 Jan 2012 23:01:54 +0000 (UTC) (envelope-from aboyer@averesystems.com) Received: from zimbra.averesystems.com (75-149-8-245-Pennsylvania.hfc.comcastbusiness.net [75.149.8.245]) by mx1.freebsd.org (Postfix) with ESMTP id 77B448FC08 for ; Fri, 13 Jan 2012 23:01:54 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by zimbra.averesystems.com (Postfix) with ESMTP id 68FCA446002; Fri, 13 Jan 2012 18:03:31 -0500 (EST) X-Virus-Scanned: amavisd-new at averesystems.com Received: from zimbra.averesystems.com ([127.0.0.1]) by localhost (zimbra.averesystems.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id B4E1vctLPFbJ; Fri, 13 Jan 2012 18:03:30 -0500 (EST) Received: from riven.arriad.com (fw.arriad.com [10.0.0.16]) by zimbra.averesystems.com (Postfix) with ESMTPSA id 0B896446001; Fri, 13 Jan 2012 18:03:30 -0500 (EST) From: Andrew Boyer Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Date: Fri, 13 Jan 2012 18:01:51 -0500 Message-Id: <10A2858D-8DA8-45C4-B9A6-00CFA172404F@averesystems.com> To: Jack Vogel Mime-Version: 1.0 (Apple Message framework v1084) X-Mailer: Apple Mail (2.1084) Cc: freebsd-net@freebsd.org, Ryan Stone Subject: Bad interaction between 82599 hardware RSC and VLANs X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Jan 2012 23:01:54 -0000 Hello Jack, I'm seeing an issue on 82599 controllers. When hardware RSC is used, = large VLAN packets arrive without the VP bit set, even though the vtag = in the descriptor is correct. It totally kills the receive performance. = Turning off hardware RSC in the driver (falling back to software LRO) = works fine, as does turning off LRO entirely. I've worked around the problem for now by overriding the VP bit if = ixgbe_rxeof() finds a valid vtag in the descriptor. Have you seen this before? It's not in the latest errata. It almost seems to be the opposite of = what Ryan reported in November 2010 ("82599 receiving packets with vlan = tag=3D0 (vlan strip problem)?"). Thanks, Andrew -------------------------------------------------- Andrew Boyer aboyer@averesystems.com