From owner-freebsd-net@FreeBSD.ORG Thu May 8 18:50:59 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id AEB6E5A9 for ; Thu, 8 May 2014 18:50:59 +0000 (UTC) Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mail-n.franken.de", Issuer "Thawte DV SSL CA" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 73A07636 for ; Thu, 8 May 2014 18:50:59 +0000 (UTC) Received: from [192.168.1.103] (p508F057E.dip0.t-ipconnect.de [80.143.5.126]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id 228D71C104981 for ; Thu, 8 May 2014 20:50:56 +0200 (CEST) From: Michael Tuexen Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable Subject: TX Checksum offloading issue with re interfaces Message-Id: <95E18108-E6DD-49EA-90B3-A9F9E5F93D20@lurchi.franken.de> Date: Thu, 8 May 2014 20:50:48 +0200 To: FreeBSD Net Mime-Version: 1.0 (Mac OS X Mail 7.2 \(1874\)) X-Mailer: Apple Mail (2.1874) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 May 2014 18:50:59 -0000 Dear all, while testing checksum offloading of UDP packets over IP with IP = options, I figured out that my card dev.re.1.%desc: RealTek 8168/8111 B/C/CP/D/DP/E/F/G PCIe Gigabit = Ethernet dev.re.1.%driver: re dev.re.1.%location: slot=3D0 function=3D0 handle=3D\_SB_.PCI0.PE1F.LAN2 dev.re.1.%pnpinfo: vendor=3D0x10ec device=3D0x8168 subvendor=3D0x1734 = subdevice=3D0x1159 class=3D0x020000 dev.re.1.%parent: pci13 dev.re.1.stats: -1 dev.re.1.int_rx_mod: 65 computes the UDP checksum, but stores it in the packet at the place, = where it would be, if there are no IP options. So it corrupts the options in the packet... I looked at sys/dev/re/if_re.c, but couldn't figure out how to fix it. = Any idea? Best regards Michael=