[Babel-users] tunnels

Dave Taht dave.taht at gmail.com
Sat Oct 13 16:57:24 BST 2018


On Sat, Oct 13, 2018 at 4:39 AM Christof Schulze
<christof.schulze at gmx.net> wrote:
>
> On Sat, Oct 13, 2018 at 12:01:54AM -0700, Dave Taht wrote:
> >I keep seeing people talk about running tunnels via babel. Is there a
> >howto
> >about how to do it? With wireguard? ipsec ? ssh? Or ?
> >
> >My use case would probably be:
> >
> >ipv4 - ipv6 ------------------------------------------
> >   gw - interior router - more routers -> AP - ipv4
> In gluon I have just raised a PR [1] to run babel over a wireguard
> tunnel. The use case is to hold a Freifunk mesh together to allow
> software distribution. Even on low-end hardware (tl-wr841) the tunnel is
> fast enough - I measured 40Mbit - for most use cases.
> This is possible using fastd as well, although with ~12-15 Mbit it is
> considerably slower.

I get that bandwidth figure a lot for wireguard. I care about  latency
far, far more under a full bidirectional load. Having got base wifi so
much better, and the edge connections sqm-scripts massively better, I
am wondering if wireguard got on the stick yet?

I wrote about this problem in an early version of wireguard here:
http://blog.cerowrt.org/post/wireguard/

As of kernel 4.4 (?) ipsec does take advantage of the fq_codel hash.
the before latency was 100+ms in the tunnel for voip, 2ms after.

If y'all could? setup an netperf server on one side of your mesh, and
on the other install flent (apt-get flent irtt, on some distros you
need to compile netperf with --enable-demo), or via pip via
flent.org... and run

#!/bin/sh
T="XMbps_YMbps_NOECN_VPNtech" # give it a useful name
D=60 # try 300 or longer. Watch your metric evolution with babelweb
H=your_server
O= # "-x --te=a whole bunch of different possible options. Try bbr
with --te=CC=bbr for example.

flent $O -l $D -t $T-H $H rrul_be
flent $O -l $D -t $T -H $H rrul
flent $O -l $D -t $T -H $H --socket-stats --te=upload_streams=1 tcp_nup
flent $O -l $D -t $T -H $H --socket-stats --te=upload_streams=100 tcp_nup
flent $O -l $D -t $T -H $H --te=download_streams=1 tcp_ndown
flent $O -l $D -t $T -H $H v4v6

An example of a good testing session with flent is over at on the pfsense forum:

https://forum.netgate.com/topic/112527/playing-with-fq_codel-in-2-4/715

scroll down for some pretty plots, scroll up for explanations of them.


> [1] https://github.com/freifunk-gluon/gluon/pull/1534
>
> Cheers Christof
> --
> ()  ascii ribbon campaign - against html e-mail
> /\  against proprietary attachments
>


-- 

Dave Täht
CTO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-831-205-9740



More information about the Babel-users mailing list