[Babel-users] A Babel implementation in Go

Andrei atlant.spb at gmail.com
Thu May 18 11:29:04 BST 2023


Hello, Steffen.

It's a very cool and interesting project.
Being a network admin, I would be very interested in such a use-case,
when it will be at least beta-status ready.
So, I will be able to assist with some testing of routing. (Playing
with some overlay things too, multihop and RTT based.)
But unfortunately I am useless as a programmer.

Andrei.

On Thu, May 18, 2023 at 10:58 AM Steffen Vogel <post at steffenvogel.de> wrote:
>
> Hi babel-users,
>
> This is my first post to this list and as such also my first contact with the Babel community.
>
> A couple of days ago, I started to work on implementation of the Babel protocol in Go driven by the following objectives:
>
> - Embeddable Go-package / library
>   - Possibly also a babeld-compatible daemon later-on
>   - Alternatively, integration into bio routing daemon
> - Unicast & RTT support
> - Clean and concise code
> - Portable to Linux, BSDs, Windows & macOS
> 
> My motivation to start a new Babel implementation is driven by the need for routing daemon for my WireGuard overlay network.
> There exist a couple of projects which establish and manage a mesh-network based on WireGuard point-to-point links [3].
> I recently also started to work on my own mesh network daemon named "cunicu" which is inspired by excellent Tinc-VPN [4].
>
> Tinc-VPN had the ability to route traffic over intermediate hops when direct point-to-point connectivity cannot be established.
> This is a very useful feature to me when reaching into corporate or mobile networks. And to my knowledge, this basic routing
> functionality of Tinc-VPN is still a unique feature which more moderns mesh-VPN solutions like Tailscale, NetBird, netmaker, ... do not support.
> Hence, my requirements for unicast and the RTT-extensions are driven by my use-case in WAN point-to-point links.
>
> You can find its current state in my GitHub repo [1]. Most of the low-level packet de/encoding as well as transmission/reception is implemented.
> Basic data structures also exist and first multicast neighbour discovery also succeeded.
>
> I am now starting to implement the basic protocol logic like updates, requests and route selection.
> But as newcomer to the Babel protocol, that will take me some more time to fully grasp the details of the protocol.
>
> My hope is to find a few collaborators for my endeavor who can support me with the tricky parts of the protocol.
> Maybe you just started your holiday looking for a small weekend project to hack on? Or you are looking into learning a new programming language?
> Let me know! Hacking together on such a project is always more fun.
>
> (I am working on this purely on my spare time. This is a hobby project for me without any job/commercial background.)
>
> Best regards,
>
>      Steffen (stv0g)
>
> [1] https://github.com/stv0g/go-babel
> [2] https://github.com/stv0g/cunicu/
> [3] https://github.com/HarvsG/WireGuardMeshes
> [4] https://www.tinc-vpn.org/
>
>
>
> _______________________________________________
> Babel-users mailing list
> Babel-users at alioth-lists.debian.net
> https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/babel-users



-- 
Regards, Andrei Safonov. +381 62 810 4112 (WhatsApp)
Srdačan pozdrav, Andrei Safonov. +381 62 810 4112 (WhatsApp)



More information about the Babel-users mailing list