[Bloat] new network deploy

Dave Täht d at taht.net
Mon Jan 31 09:53:59 EST 2011


Luca Dionisi <luca.dionisi at gmail.com> writes:

> Hi all
>
> I am starting to deploy a local TCP/IP network in order to test a new
> routing protocol.
> Info on the routing protocol: www.netsukuku.org
> Info on the network being deployed: pyntk.blogspot.com
> It is separated from the Internet at the moment.

Very cool!

>
> I ask for advices on how to make it as free as possible from the
> bufferbloat problem.
> I would also make some tests on this network and report here what I
> find out about bufferbloat.
>
> Further information:
>  * every node active on the network will be a modern linux host.

You are in for a world of bufferbloat.

>  * all of the links between nodes will be on wifi or on cables owned
> by the users. That is, no VPN links over the Internet.
>    * if it is needed I can list the actual chipset of ethernet cards
> and radio devices.

That would be very helpful!

>  * most of the wifi links will be managed by radio chipset installed
> in linux hosts (mostly ad-hoc, no strange do-it-all out-of-control
> embedded-router-bridge-repeater devices)

I note you can improve multicast performance by going with greenfield
settings.

>
> There is also a particular case. Two linux nodes are connected via a
> VPN at layer 2 (I use tinc) over another network with static addresses
> and routing. This network is formed by the 2 linux hosts and 2
> embedded radio devices, from Ubiquity, which run AirOS, a derived of
> OpenWRT.

I was using the ubiquity M5 radios in my mesh design (wisp6). 
The firmware Ubiquity was using used the 2.6.15 kernel (as best as I
recall) and I could gain no insight into the device drivers themselves
at the time. 

Their (deservedly lauded) traffic shaping solution had some really hairy
looking tc code, which I looked at only briefly, before discarding AirOs
in favor of Openwrt (because I needed IPv6)

And then I promptly shot myself in the foot, with bufferbloat.

> In this particular case, where do I have to look for possible buffers?
> Is it enough to look the tx-queue of the virtual nic or do I have to
> check also the settings of the Ubiquity devices?

Data accumulates at the point of the biggest buffer, under contention,
so I would check all of them! The interaction of virtual nics and real
nics has not been thoroughly explored.

I'm trying to work on clearly explaining how to test for bufferbloat in
the wiki, Jim Gettys' experiments on his blog are a good place to start,
however I use iperf and mtr rather than ntcp and ping because iperf is
in the openwrt repository.

http://gettys.wordpress.com/2010/11/29/home-router-puzzle-piece-one-fun-with-your-switch/

http://gettys.wordpress.com/2010/12/02/home-router-puzzle-piece-two-fun-with-wireless/

-- 
Dave Taht
http://nex-6.taht.net



More information about the Bloat mailing list