Issues with a Large Fat pipe Network simulation

Pieter de Boer pieter at thedarkside.nl
Tue Jun 21 19:12:00 GMT 2005


Luigi Rizzo wrote:

> oh yes one thing... you are using 'via foo0' in your rule,
> which means the packet is intercepted both in the input and
> output path, which causes further contention on the queues.
Well, when using 'ip from client to server recv em0', packets get 
matched twice. When I set some latency on that pipe, the packets incur 
double the latency I set. With 'via em0' this isn't the case. I tried it 
out, but didn't seem to make much difference.

> also you can set the queue size in kbytes, and can probably go as high
> as 1000kb. maybe this helps too.
Doesn't seem to do much either.

> I am pretty sure there is some issue there, also related to some
> timing issues and tcp window opening mode (slow start vs. linear)
I went to see if there were any sysctl's I could tune a bit. I found these:
net.inet.ip.intr_queue_maxlen: 50
net.inet.ip.intr_queue_drops: 382136

I don't like drops. So I set intr_queue_maxlen to 400, and -poof-, the 
speed went up to around 700mbit/s. Still not as fast as it was with 64KB 
send/recv spaces, but it's a huge improvement nonetheless.

I guess we probably should tune a bit more until we're confident that 
the middle-box behaves correctly, before adding things like latency and 
packet-loss :)

Thanks for the advice! If you know other settings to tune on the 
dummynetting host, I'd very much like to hear them. I'm pondering about 
polling (which means we can't do SMP on the dummynet system, but it's 
only pushing packets, so that shouldn't matter too much). At least we 
have somewhat more info to work with now :)

-- 
Pieter


More information about the freebsd-net mailing list