From owner-freebsd-net@FreeBSD.ORG Mon Dec 2 02:23:45 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 2429EFCC; Mon, 2 Dec 2013 02:23:45 +0000 (UTC) Received: from mail-pb0-x22b.google.com (mail-pb0-x22b.google.com [IPv6:2607:f8b0:400e:c01::22b]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id E5AB01689; Mon, 2 Dec 2013 02:23:44 +0000 (UTC) Received: by mail-pb0-f43.google.com with SMTP id rq2so17776899pbb.2 for ; Sun, 01 Dec 2013 18:23:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:date:to:cc:subject:message-id:reply-to:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=BMrc5f1xZFo5JoUpPS3cIBbLXZ67fmwF0iYqyuIaQqw=; b=mX48HI9a1BB+DOE8EnNjBiYMXkoJ/W5SoeBkSpc6FdTW5EL+X95pNrgvg4SD+nOqQc SQUfxRUMgdD3EXm3tmApQMaygLRFG53IZVPClFN+F3I4jAkKUnIp4X8h81d+EYlum3FI dMKDFY6Gw4nycDx8igeTAUxIE73s0XsXJcO3JJGm+52foR9vERmkoKA2OkFuARzEaqwJ b6jNRxL4Kx1fNbAOfdBsKi/J8IJnoEgrhML0Cu+PbJiLbxno7gnGKuNR5cS9EzvA6wGi WwBVppcldCwoGfGdV+0mPvUEfaSw4pcOlxFtMvOpk5b5R56oSUNT78VAijeYkkwfXNti ZWTA== X-Received: by 10.68.102.133 with SMTP id fo5mr453880pbb.175.1385951024505; Sun, 01 Dec 2013 18:23:44 -0800 (PST) Received: from pyunyh@gmail.com (lpe4.p59-icn.cdngp.net. [114.111.62.249]) by mx.google.com with ESMTPSA id ki1sm118525907pbd.1.2013.12.01.18.23.41 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Sun, 01 Dec 2013 18:23:43 -0800 (PST) Received: by pyunyh@gmail.com (sSMTP sendmail emulation); Mon, 02 Dec 2013 11:23:38 +0900 From: Yonghyeon PYUN Date: Mon, 2 Dec 2013 11:23:38 +0900 To: Michael Tuexen Subject: Re: A small fix for if_em.c, if_igb.c, if_ixgbe.c Message-ID: <20131202022338.GA3500@michelle.cdnetworks.com> References: <521B9C2A-EECC-4412-9F68-2235320EF324@lurchi.franken.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <521B9C2A-EECC-4412-9F68-2235320EF324@lurchi.franken.de> User-Agent: Mutt/1.4.2.3i Cc: Jack F Vogel , "freebsd-net@freebsd.org list" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list Reply-To: pyunyh@gmail.com List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Dec 2013 02:23:45 -0000 On Fri, Nov 29, 2013 at 06:24:12PM +0100, Michael Tuexen wrote: > Dear all, > > ifnet(9) says regarding if_transmit(): > > Transmit a packet on an interface or queue it if the interface is > in use. This function will return ENOBUFS if the devices software > and hardware queues are both full. > > The drivers for em, igb and ixgbe might also return an error even > in the case the packet was enqueued. The attached patches fix this > issue. How do you know the packet is successfully enqueued but driver returns an error? Do non-buf-ring-aware drivers also show the same behavior? > > Any comments? I'm afraid the patch you posted ignores any errors(i.e. m_defrag(9), bus_dma(9) etc) happened during TX processing. > > Jack: What do you think? Would you prefer to commit the fix if > you think it is acceptable? > > Best regards > Michael