Received: with ECARTIS (v1.0.0; list netdev); Fri, 22 Oct 2004 17:26:42 -0700 (PDT) Received: from fr.zoreil.com (electric-eye.fr.zoreil.com [213.41.134.224]) by oss.sgi.com (8.13.0/8.13.0) with ESMTP id i9N0QZUc013602 for ; Fri, 22 Oct 2004 17:26:36 -0700 Received: from electric-eye.fr.zoreil.com (localhost.localdomain [127.0.0.1]) by fr.zoreil.com (8.12.10/8.12.1) with ESMTP id i9N0OQvr010405; Sat, 23 Oct 2004 02:24:26 +0200 Received: (from romieu@localhost) by electric-eye.fr.zoreil.com (8.12.10/8.12.10/Submit) id i9N0OP4P010404; Sat, 23 Oct 2004 02:24:25 +0200 Date: Sat, 23 Oct 2004 02:24:25 +0200 From: Francois Romieu To: Ben Greear Cc: "'netdev@oss.sgi.com'" Subject: Re: [PATCH] 802.1Q VLAN Message-ID: <20041023002425.GB4948@electric-eye.fr.zoreil.com> References: <41797696.9070905@candelatech.com> <20041022214611.GA4948@electric-eye.fr.zoreil.com> <41798506.1030909@candelatech.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <41798506.1030909@candelatech.com> User-Agent: Mutt/1.4.1i X-Organisation: Land of Sunshine Inc. X-archive-position: 10758 X-ecartis-version: Ecartis v1.0.0 Sender: netdev-bounce@oss.sgi.com Errors-to: netdev-bounce@oss.sgi.com X-original-sender: romieu@fr.zoreil.com Precedence: bulk X-list: netdev Content-Length: 1200 Lines: 29 (vlan cc: bounces) Ben Greear : [...] > @@ -1253,6 +1272,17 @@ > * A negative errno code is returned on a failure. A success does not > * guarantee the frame will be transmitted as it may be dropped due > * to congestion or traffic shaping. > + * > + * > ----------------------------------------------------------------------------------- > + * I notice this method can also return errors from the queue disciplines, > + * including NET_XMIT_DROP, which is a positive value. So, errors can also > + * be positive. > + * > + * Regardless of the return value, the skb is consumed, so it is currently > + * impossible to retry a send to this method. This implies that virtual devices, > + * such as VLANs, can ONLY return 0 from their hard_start_xmit method, making > + * it difficult to apply pressure back up the stack. > + * --Ben > */ Afaikr it is not true anymore with the previous code as the congestion/error status is propagated and the extra skb_get() balances the kfree_skb() on error in dev_queue_xmit. So I'd say that vlan_dev_hard_start_xmit() seems to behave like a normal start_xmit() instead. -- Ueimor