Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Mar 2002 22:21:28 -0800
From:      Luigi Rizzo <rizzo@icir.org>
To:        Archie Cobbs <archie@dellroad.org>
Cc:        freebsd-net@FreeBSD.ORG
Subject:   Re: ip_output and ENOBUFS
Message-ID:  <20020326222128.A16450@iguana.icir.org>
In-Reply-To: <200203270610.g2R6A5x39204@arch20m.dellroad.org>
References:  <20020325145447.A2986@iguana.icir.org> <200203270610.g2R6A5x39204@arch20m.dellroad.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Mar 26, 2002 at 10:10:05PM -0800, Archie Cobbs wrote:
> Luigi Rizzo writes:
...
> Along those lines, this might be a handy thing to add...
> 
>     int if_get_next(struct ifnet *ifp);		/* runs at splimp() */
> 
> This function tries to "get" the next packet scheduled to go
> out interface 'ifp' and, if successful, puts it on &ifp->if_snd
> (the interface output queue for 'ifp') and returns 1; otherwise,
> it returns zero.

how is this different from having a longer device queue ?

	cheers
	luigi

> Then, each device driver can be modified (over time) to invoke
> this function when it gets a transmit interrupt and it's output
> queue is empty. If the function returns 1, grab the new packet
> off the queue and schedule it for transmission.
> 
> Once this is done it becomes much easier to hack together ideas
> for queueing and scheduling e.g., a netgraph node that does packet
> scheduling.
> 
> I think ALTQ does something like this. It would be nice if it
> was generic enough that other mechanisms besides ALTQ (like
> netgraph) could also use it. I'm not that familiar with how
> ALTQ is implemented.
> 
> -Archie
> 
> __________________________________________________________________________
> Archie Cobbs     *     Packet Design     *     http://www.packetdesign.com
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020326222128.A16450>