[2591] in linux-net channel archive

home help back first fref pref prev next nref lref last post

Re: SNLE driver (Slow Network Link Emulating Driver)

daemon@ATHENA.MIT.EDU (Alan Cox)
Fri Apr 19 04:50:49 1996

From: Alan Cox <alan@cymru.net>
To: smurf@smurf.noris.de (Matthias Urlichs)
Date: 	Fri, 19 Apr 1996 09:34:34 +0100 (BST)
Cc: linux-net@vger.rutgers.edu
In-Reply-To: <96Apr18.232331+0100met_dst.2218-651+33@work.smurf.noris.de> from "Matthias Urlichs" at Apr 18, 96 11:23:26 pm

> > for the IP's we want to slow down. Every netdevice has to tell the kernel
> > when its ready to send new packets, so after accepting a packet for
> > sending we calculate how long it would take on the limited bandwidth to send
> > the packet, set a timer so we can ack the transmission later, and hand the
> > packet to the real device. (ofcourse we must also check if the real device
> > is accepting packets at that time).
> > 
> Exactly like the delay module I implemented for my ISDN driver.
> Code reuse is a Good Thing. ;-)

Only a delay isnt what you want. A delay has no effect on bandwidth usage
until you are running out of window, then it starts to cause slow starts
and increase your network usage if you are not careful. Done properly (with
a traffic shaper) you act correctly for a low speed link, you queue
and effectively sample the incoming data stream at lower speeds and will
lose some frames under load (giving correct flow control behaviour).

Alan



home help back first fref pref prev next nref lref last post