Possibly a queue size question, possibly not.

John Bailey netfilter@anotherdimension.net
Sat, 12 Jan 2002 04:30:20 +0000 (GMT)


Hi all,

Please excuse me if this is an inappropriate place to post this question -
I've tried search engines and I've looked over the documents on the
netfilter site - can't seem to find any information to help.

My situation is this - I've written some code (using libipq on linux 2.4)
which checks packets travelling through the queue and then accepts or
denies them.  So far, so good.  What I want to do now is form a kind of
priority queue so that I can control the rate at which packets are passed
out on a particular interface.  My problem is this - how can I tell how
much of a backlog or queue is building up on a particular interface?

I'm afraid my understanding of TCP/IP's pretty basic, but if I'm guessing
right, once I've accepted a packet on the output chain, it'll sit in a
queue somewhere until it's possible (ie, there's free bandwidth on the
device) to transmit it.  Due to the fact that I'm trying to implement a
kind of priority queue, I want to pass on low priority packets only if the
transmission queue is relativly empty - in this way any priority packets
which arrive won't have long to wait.

Well, hopefully that explains it.  If I've got everything hideously wrong,
please give me a shout and put me right.  Other than that, any advice
gratefully accepted!

Thanks and have a good weekend all,

John