From owner-freebsd-net@FreeBSD.ORG Fri Sep 7 17:43:33 2012 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 EF1C2106564A for ; Fri, 7 Sep 2012 17:43:32 +0000 (UTC) (envelope-from gnn@neville-neil.com) Received: from vps.hungerhost.com (vps.hungerhost.com [216.38.53.176]) by mx1.freebsd.org (Postfix) with ESMTP id BD09E8FC0A for ; Fri, 7 Sep 2012 17:43:32 +0000 (UTC) Received: from [209.249.190.124] (port=36220 helo=punk.neville-neil.com.neville-neil.com) by vps.hungerhost.com with esmtpa (Exim 4.77) (envelope-from ) id 1TA2aZ-0007Mg-Kf; Fri, 07 Sep 2012 13:43:31 -0400 Date: Fri, 07 Sep 2012 13:45:43 -0400 Message-ID: <86har9iv5k.wl%gnn@neville-neil.com> From: gnn@freebsd.org To: Anuranjan Shukla In-Reply-To: References: <5F3C03B6-01D0-42DE-BE9E-323DBDC90C8E@neville-neil.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/23.4 (amd64-portbld-freebsd10.0) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vps.hungerhost.com X-AntiAbuse: Original Domain - freebsd.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - neville-neil.com Cc: "freebsd-net@freebsd.org" Subject: Re: Proposal for changes to network device drivers and network stack (RFC) 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: Fri, 07 Sep 2012 17:43:33 -0000 At Fri, 7 Sep 2012 01:28:16 -0700, Anuranjan Shukla wrote: > > > > > >> struct socket { > >> > >> int so_fibnum; /* routing domain for this socket */ > >> uint32_t so_user_cookie; > >> + u_int so_oqueue; /* manage send prioritizing based on > >>application > >> needs */ > >> + u_short so_lrid; /* logical routing */ > >> }; > >> > > > >I'd be interested to know how this is used. > > We use the first one as a 'direction' to the forwarding path to select an > appropriate priority queue to send the packet on. In a generic (i.e. > Something other than our specific system) system, one could consider > interesting ways to use queues on a multi queue NIC with help from a > driver. The second one is for a system with logical routing capabilities > (multiple routing systems within the same chassis). It gives an > application opening a socket an option to select the specific logical > routing instance. OK, that's what I guessed but thanks for confirming it. > I'll provide smaller pieces of diffs for the kernel without networking > patch I'd sent out. Let me know if you prefer the device driver interface > to be in that too. Yes, please. Best, George