Re: artificial latency for a network interface

From: Burkhard Daniel (burk@stg.com)
Date: Thu Jun 28 2001 - 23:29:38 EST


I had a similiar problem once, and wrote a module that overwrote the
loopback net device. Since it's loopback, the kernel won't care about
headers.

Yeah, I know: Quick & Dirty.

I made the new loopback put its packets in a queue and then deliver them
after a (adjustable) delay.

If I can still find the source for this, I'll post it here.

Burk.

On Fri, 29 Jun 2001, Andrew Morton wrote:

> Andreas Schuldei wrote:
> >
> > to simulate a sattelite link, I need to add a latency to a
> > network connection.
> >
> > What is the easiest and best way to do that?
> >
> > I wanted to do that using two tun devices.
> > I had hoped to have a routing like this:
> >
> > <-> eth0 <-> tun0 <-> userspace, waiting queue <-> tun1 <-> eth1
>
> yes, that works very well. A userspace app sits on top of the
> tun/tap device and pulls out packets, delays them and reinjects
> them.
>
> The problem is routing: when you send the packet back to the
> kernel, it sends it straight back to you. You need to rewrite
> the headers, which is a pain.
>
> A simpler approach is to use policy routing - use the source
> and destination devices to override the IP addresses. Works
> well. The code is at
>
> http://www.uow.edu.au/~andrewm/packet-delay.tar.gz
>
> It has its own variable bandwidth management as well
> as variable latency. It's for simulating narrowband, high
> latency connections.
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>

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



This archive was generated by hypermail 2b29 : Sat Jun 30 2001 - 21:00:21 EST