lkml.org 
[lkml]   [1999]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Congestion control in device driver other than dev->tbusy?
Date
Matthias Welwarsky wrote:
>
> Hi list,
>
> I'm searching for a method to stop Linux flooding a network driver with
> packets, but in a little more sophisticated manner than with tbusy. Is
> there a way to say "I don't want THIS packet right now, please queue it
> for later". An even better way would be to do this on a per neighbour
> basis: "Dont give me more packets for that neighbour until I tell you".
> Is this implemented somewhere already? Can the neighbour or hh_cache
> code be tweaked to do this?
>
> Gruss,
> Matthias
>
> -

Hi,

This depends upon the protocol really. The easy way to do this for TCP
for example is just to drop the packet and the timers/state machine in
the socket will take care of backing off the connection until the link
can cope with it.

If you are asking, could the neighbour cache be used in AX.25 in this
way (I'm not sure you are, but its a hunch...) then I don't see why
not. The neighbour cache allows for different output functions depending
upon the state of the neighbour, just hijack one of those to do this
task.

There are a few points to watch though. Firstly, you'll need to watch
out for encapsulated packets of other protocols. Its better to drop
TCP than queue it under most (all?) circumstances. Also you'll need
a way of giving each socket waiting for a neighbour to allow transmission
a kick when transmission is again allowed.

I hope thats of some help, please contact me if I've missed your point,

Steve.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:49    [W:0.124 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site