On Tue, Jun 15, 2010 at 2:39 PM, erik quanstrom <quanstro@quanstro.net> wrote:
> I've come up with a basic idea, but before I go diving in I want to
> run it by 9fans and get opinions. What I'm thinking is writing a
> synthetic file system that will collect writes to /net; to simulate a
> high-latency file copy, you would run this synthetic fs, then do "9fs
> remote; cp /n/remote/somefile .". If it's a control message, that gets
> sent to the file immediately, but if it's a data write, that data
> actually gets held in a queue until some amount of time (say 50ms) has
> passed, to simulate network lag. After that time is up, the fs writes
> to the underlying file, the data goes out, etc.

instead, why don't you create a simulated ethernet device
that adds in a delay before sending the packet along to a
real ethernet device.

the only trick will be getting the simulated ethernet to
grab the real ethernet during setup.  i imagine that you'll
need something like
       ether0=type=fake
       fake=real=#l1/ether1 i=10 iσ=20 o=5 oσ=0
in plan9.ini

- erik

Could one write a filesystem server that is a passthrough to the ethernet device instead, adding latency? Or is this really going to need to be a new device?