[2583] 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 (Matthias Urlichs)
Thu Apr 18 17:57:52 1996

From: Matthias Urlichs <smurf@smurf.noris.de>
To: linux-net@vger.rutgers.edu
Date: 	Thu, 18 Apr 1996 23:23:26 +0100

In linux.dev.net, article <9604186101.100217@drinkel.cistron.nl>,
  miquels@drinkel.ow.org (Miquel van Smoorenburg) writes:
>=20
> I've been thinking about the same thing. I want to create a
> bridge or router between 2 ethernets, and depending on the route
> a slow link like a serial device could be emulated. This is because
> we'd like to sell webservices based on bandwidth, not on packetcount.
>=20
Same here.

> I want to do this by creating extra devices, and attaching
> them to an actual network device (ethernet card).
>=20
Hmm. There already are input/output/forward filters. There already are
extra devices (aliases), and you can even set more than one of these to=
 the
same local IP address -- I just checked.

> For example:
> we have eth0 with our main internet router
>         eth1 with on that net some webservers of which we want
>              to set the maximum bandwidth they can use

Or you could reuse something like IP aliasing. Since things like multip=
le-
homed web servers already have a bunch of aliased IP interfaces, routin=
g
and addressing will take care of the handling of local packets for you.
Routed packets could be handled with a forwarding firewall which associ=
ates
incoming packets with a specific aliased interface. (Outgoing packets c=
an
be processed by the normal routing code -- associating a route with a
specific alias device works.)

Hey, this actually sounds like it's fairly easy to do.

> for the IP's we want to slow down. Every netdevice has to tell the ke=
rnel
> 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 han=
d the
> packet to the real device. (ofcourse we must also check if the real d=
evice
> is accepting packets at that time).
>=20
Exactly like the delay module I implemented for my ISDN driver.
Code reuse is a Good Thing. ;-)

--=20
We can't all be heroes.  Somebody has to sit on the curb and clap as
they go by.
                                -- Will Rogers
--=20
Matthias Urlichs        \ XLink-POP N=FCrnberg  | EMail: urlichs@smurf.=
noris.de
Schleiermacherstra=DFe 12  \  Unix+Linux+Mac    | Phone: ...please use =
email.
90491 N=FCrnberg (Germany)  \   Consulting+Networking+Programming+etc'i=
ng     42
          PGP: 1B 89 E2 1C 43 EA 80 44  15 D2 29 CF C6 C7 E0 DE=20
       Click <A HREF=3D"http://smurf.noris.de/~smurf/finger">here</A>.


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