From owner-freebsd-net@FreeBSD.ORG Thu Jun 12 15:17:21 2008 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 3FE1C106566C for ; Thu, 12 Jun 2008 15:17:21 +0000 (UTC) (envelope-from yonyossef.lists@gmail.com) Received: from yx-out-2324.google.com (yx-out-2324.google.com [74.125.44.29]) by mx1.freebsd.org (Postfix) with ESMTP id 022418FC1B for ; Thu, 12 Jun 2008 15:17:20 +0000 (UTC) (envelope-from yonyossef.lists@gmail.com) Received: by yx-out-2324.google.com with SMTP id 31so383234yxl.13 for ; Thu, 12 Jun 2008 08:17:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:mime-version:content-type; bh=EqhrSHoRvznXaILaP7FKlQBpIMR/lI4OMCfptZQOYIE=; b=fupx5qpq6x94fbfkPVX6HQkKxD38eB6jIwrHpCujOypQeXQShhm1E/f+3hD4rTRoDn 3GdoaR1EhG+DXMg1HOf4H2Ra2W6qWAox6FlsSgxO4Bt0OlMU/5A87zFPsdm6tx4MUlx5 67Me2scXHf8JdLxykyzK0AvuaGO7bbaYpgoKQ= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:mime-version:content-type; b=d0kOdxUbHTPyec6KkR7HggRBIR1p4F0lAx2RjNLQ6pgI6TgFbq+i1RXcDhGWlflLIo 6/kREzRHvtJNlS8oD8EEpcMmp6amDIubR+uTYCa+CdkTjJbCtMC65U+ma77kwCFXeNnm 1KOAKHpsUgZ+EwMkds0/v5m5AMdzWyPE6xwvM= Received: by 10.151.45.6 with SMTP id x6mr2547489ybj.6.1213283840347; Thu, 12 Jun 2008 08:17:20 -0700 (PDT) Received: by 10.151.84.2 with HTTP; Thu, 12 Jun 2008 08:17:20 -0700 (PDT) Message-ID: <20def4870806120817q5b755805hfafa0d0d1523f2ad@mail.gmail.com> Date: Thu, 12 Jun 2008 18:17:20 +0300 From: "Yony Yossef" To: freebsd-net@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: liranl@mellanox.co.il Subject: TSO bug in FreeBSD 7.0 ? 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: Thu, 12 Jun 2008 15:17:21 -0000 Hi freebsd-net, I'm seeing mbuf chains larger than 64K being sent down by FreeBSD 7 when TSO is enabled. Then my driver crashes in bus_dmamap_load_mbuf_sg (error=EINVAL). I'm printing the mbuf m_pkthdr.len size right after the DEQUEUE from the stack: IFQ_DRV_DEQUEUE(&dev->if_snd, m_head); if (m_head == NULL) break; if (m_head->m_pkthdr.len > 65000) { printf("TSO packet mbuf len:%d\n", m_head->m_pkthdr.len); } and the output is: .... TSO packet mbuf len:65387 TSO packet mbuf len:65417 TSO packet mbuf len:65447 TSO packet mbuf len:65477 TSO packet mbuf len:65507 TSO packet mbuf len:65537 mtnic0: bus_dmamap_load_mbuf_sg error: 22 xmit_failure:12 ... Note the 65537, I've also seen TSO packets sized 65542. There's this old thread talking about it: http://unix.derkeiler.com/Mailing-Lists/FreeBSD/net/2007-02/msg00312.html but I've seen no solution for this bug. Is there a fix for that? Thanks, Yony