From owner-freebsd-net@FreeBSD.ORG Sat Nov 30 08:50:58 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 38696AA5; Sat, 30 Nov 2013 08:50:58 +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 ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id BDE2813BC; Sat, 30 Nov 2013 08:50:57 +0000 (UTC) Received: from [192.168.1.102] (p508F1AF6.dip0.t-ipconnect.de [80.143.26.246]) (Authenticated sender: macmic) by mail-n.franken.de (Postfix) with ESMTP id EDC081C0C0692; Sat, 30 Nov 2013 09:50:54 +0100 (CET) Content-Type: text/plain; charset=iso-8859-1 Mime-Version: 1.0 (Mac OS X Mail 6.6 \(1510\)) Subject: Re: ip_output()/if_output() behaviour From: Michael Tuexen In-Reply-To: Date: Sat, 30 Nov 2013 09:50:55 +0100 Content-Transfer-Encoding: 7bit Message-Id: <41906339-8AE7-4444-8B84-6FC19D48B132@lurchi.franken.de> References: <52987E27.10503@freebsd.org> <8C291076-5F03-4406-B689-A3185E6DD313@lurchi.franken.de> <5298BD5D.3020203@freebsd.org> To: Adrian Chadd X-Mailer: Apple Mail (2.1510) Cc: "freebsd-net@freebsd.org list" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.16 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 30 Nov 2013 08:50:58 -0000 On Nov 29, 2013, at 11:39 PM, Adrian Chadd wrote: > +1 > > > On 29 November 2013 08:14, Julian Elischer wrote: > >>> ifnet(9) says: >>> >>> 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. ... >>> >>> So I guess returning ENOBUFS when the packet was queued is wrong... >> >> I think it is. >> >> ENOBUFS means "I couldn't proceed due to no buffers" >> not "I used up the last one on this operation". > > Yes, it's wrong. ENOBUFS means "couldn't queue; no buffers." Please > provide a diff against igb and I'll make sure Jack/Intel get it into > (his, freebsd) tree. I sent the patch already yesterday to the list and Jack. It covers em, igb and ixgbe. Best regards Michael > > Thanks! > > > > -adrian >