Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Aug 1997 11:31:09 -0700
From:      Julian Elischer <julian@whistle.com>
To:        ETX-B-SL Martti Kuparinen <erakupa@kk.etx.ericsson.se>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: poll() for ethernet devices
Message-ID:  <33F9E66D.64880EEB@whistle.com>
References:  <199708191456.QAA12485@kk662.kk.etx.ericsson.se>

next in thread | previous in thread | raw e-mail | index | archive | help
ETX-B-SL Martti Kuparinen wrote:
> 
> Hello all,
> 
> I am running FreeBSD 2.2.2 on a PPro 200 MHz PC. I have created a
> loadable kernel module which will schedule IP-packets on user-defineable
> interfaces and priorities. But it doesn't work correctly now :-(
> 
> What I want to do in the general ether_output() is basically this:
> 
>         prioritize packets
incoming or outgoing?
>         check if there's more packets to read       <-----------+
read from where
>         if yes                                                  |
>                 read the next packet and insert into queue      |
usually you start output on the first packet
and on subsequent ones only if output has stopped.
>         else                                                    |
>                 start output                                    |
>                                                                 |
> How can I check if there are packets to read in some/all interfaces and

do you mean incoming packets?

ether_output is called directly by th euser code or by
ip_output in the case of routing, so there are no more output
packets waiting..

I'm not sure what you mean....


> force the kernel to perform the read (and eventually write, which
> calls ether_output)?
I'm confused. 
can you try explaining more about what you are trying to achieve?

> 
> Thanks in advance,
> 
> Martti



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?33F9E66D.64880EEB>