Christopher Amin - 18-05-2021 13:00:13
Hi everyone, I'm Chris from the RIPE NCC. This chat panel is meant for discussion ONLY. If you have questions for the speaker and you want the session chair to read it out, please write it in the Q&A window also stating your affiliation. Otherwise, you can ask questions using the microphone icon.
Please note that all chat transcripts will be archived and made available to the public on https://ripe82.ripe.net/.
Shane Kerr - 18-05-2021 13:01:57
2nd favorite working group. ;-)
Blake Willis - 18-05-2021 13:06:12
Aleander can you please lower your microphone to your mouth?
Ondrej Filip - 18-05-2021 13:07:03
Shane Kerr: :-) 1st
Blake Willis - 18-05-2021 13:07:55
Blake Willis - 18-05-2021 13:13:30
IMHO this tool is very valuable, the linux primitives for this stuff are a mess
Blake Willis - 18-05-2021 13:13:48
if you're automating, it's much easier to make templates for this vs. tc flower or whatever
Blake Willis - 18-05-2021 13:14:13
I can see this being pretty easy to make a salt formula for for example
Ivan Beveridge - 18-05-2021 13:14:58
Indeed. Also there is no standardisation (and large fragmentation) for automation CMDBs. Not all places have lots of devices, and something simple-ish like this is valuable, IMHO
Ivan Beveridge - 18-05-2021 13:16:26
I wonder how many module dependencies there are (and whether those dependencies are maintained); those are issues I've seen for PERL (and Python) scripts.
Shane Kerr - 18-05-2021 13:17:33
Does Perl have something like virtualenv? (I find running each Python script in its own virtual environment basically fixes dependency issues...)
Blake Willis - 18-05-2021 13:18:02
Shane Kerr - 18-05-2021 13:18:10
Problem solved! :-D
Blake Willis - 18-05-2021 13:18:25
YMMV, I haven't tried it :-)
Marco d'Itri - 18-05-2021 13:18:30
@Shane: yes, there are a few (it's Perl) but they are not used much because usually you do not need specific versions of modules like with inferior languages
Blake Willis - 18-05-2021 13:18:40
Marco d'Itri - 18-05-2021 13:19:02
(ask me about routinator and Debian :-( )
Blake Willis - 18-05-2021 13:19:23
I will say that async perl was lightyears ahead of python, which is only starting to catch up very recently
Shane Kerr - 18-05-2021 13:20:08
Alexander Zubkov - 18-05-2021 13:20:27
mlxtoolkit actually has almost no dependencies. I think only autivification module is not packaged in the standard perl installation.
Andreas Härpfer - 18-05-2021 13:20:39
Quick look into source shows basically only two dependency (`Storable` and `File::Basename`) … no idea if this is part of basic Perl or 3rd party.
Blake Willis - 18-05-2021 13:20:56
that's great to see, thanks
Marco d'Itri - 18-05-2021 13:21:21
@Andreas: they are standard modules
Gert Doering - 18-05-2021 13:21:21
Blake: what does one use for async perl today? never tried, but could make good use at a project
Blake Willis - 18-05-2021 13:22:01
Blake Willis - 18-05-2021 13:22:52
torrus' poller uses async perl, it was wicked fast 10 years ago
Gert Doering - 18-05-2021 13:23:14
what does it use?
Alexander Zubkov - 18-05-2021 13:23:39
BTW. Does anybody have any links to good "standard" tools for implementing network configuration in Linux? And those are able to implement changes automatically, because it is not that straightforward process.
Marco d'Itri - 18-05-2021 13:24:18
@Gert: have a look at IO::Async
Blake Willis - 18-05-2021 13:24:37
Alexander check out an open-source project I've been involved with: https://github.com/ifupdown-ng/ifupdown-ng
Blake Willis - 18-05-2021 13:24:54
we are now the default ifupdown in Alpine linux
Blake Willis - 18-05-2021 13:25:17
ease of automation is a primary project goal
Alexander Zubkov - 18-05-2021 13:26:22
Is it able to change the configuration on the fly from one state to the other? I have doubts that ifupdown scripts aim for that.
J Pol - 18-05-2021 13:26:24
Blake, thanks, that looks nice
Blake Willis - 18-05-2021 13:26:38
yes there is a concept of state
Alexander Zubkov - 18-05-2021 13:27:03
Andreas Härpfer - 18-05-2021 13:27:04
If you like YAML Netplan might be worth mentioning :-)
Andreas Härpfer - 18-05-2021 13:27:05
Marco d'Itri - 18-05-2021 13:27:17
systemd-networkd works well for the simple cases but I do not think that is right for what you need
Gert Doering - 18-05-2021 13:27:29
Marco: IO::Async looks very interesting
Blake Willis - 18-05-2021 13:27:42
also a goal is no systemd or GNU dependencies :-)
Marco d'Itri - 18-05-2021 13:27:54
netplan is just a wrapper, so it inherits all the problems of the underlying software
Andreas Härpfer - 18-05-2021 13:28:13
Yes, that's true. But I find it an interesting abstraction.
J Pol - 18-05-2021 13:28:44
J Pol - 18-05-2021 13:28:45
J Pol - 18-05-2021 13:28:52
Marco d'Itri - 18-05-2021 13:28:57
I don't think so, because everybody else is either staying with ifupdown or switching to systemd-networkd
Marco d'Itri - 18-05-2021 13:29:33
so I expect that in the end it will be yet another Canonical oddity that they will kill after a few years because nobody else is interested
Blake Willis - 18-05-2021 13:30:13
I'll also give props to Cumulus' ifupdown2, it's pretty good but its written in python & is GPL
Blake Willis - 18-05-2021 13:30:37
we wanted an ISC/BSD compatible license, & something that didn't require python on the system
Blake Willis - 18-05-2021 13:31:34
in addition to the embedded need, it's also so if you break your python you kinda still need the network to come up correctly when you reboot :-)
Alexander Zubkov - 18-05-2021 13:32:14
At least when I thought about ifupdown-s and systemd-networkd, it allows you to do some simple configuration, but with many interfaces depending on each other: port,bond,bridge,vlan,vrf - it is easier to do that by hand after all.
Marco d'Itri - 18-05-2021 13:32:36
yes, I agree that Python was not a great choice for ifupdown on a general purpose system
Marco d'Itri - 18-05-2021 13:33:34
@Alexander: ifupdown is just painful for compex things due to lack of internal state. systemd-networkd is better in this regard but not perfect
Blake Willis - 18-05-2021 13:33:56
-ng has a dependency graph to deal with this
Blake Willis - 18-05-2021 13:35:12
Blake Willis - 18-05-2021 13:35:26
FreeRTR/RARE is an amazing project
Wolfgang Tremmel - 18-05-2021 13:38:03
with a real ugly website
Gert Doering - 18-05-2021 13:39:03
Blake Willis - 18-05-2021 13:40:03
it's a wiki made by academic routing geeks :-)
Blake Willis - 18-05-2021 13:41:54
the *key* thing that makes RARE/freertr stand out to me is that it's the 1st P4 dataplane project I've seen that can use Tofino or DPDK targets interchanably
Wolfgang Tremmel - 18-05-2021 13:41:56
if you want to promote free software you have to work on all levels. Website and good documentation is essential. This is why I like frrouting so much.
Gert Doering - 18-05-2021 13:43:12
I want to hear that "very interesting story". Over a beer, in person...
Mohamad Choaib - 18-05-2021 13:47:41
I remember listening to a podcast with the creator of Free-RTR. Can't remember which one but it was interesting
Blake Willis - 18-05-2021 13:47:45
Frédéric has been dogfooding the DPDK dataplane as his own home gateway for quite a while now
Mohamad Choaib - 18-05-2021 13:47:56
Will try to find a link
Blake Willis - 18-05-2021 13:49:06
my old Ciscos have imaginary router processes too. it's where the leaked memory goes...
Gert Doering - 18-05-2021 13:50:00
Mohamad Choaib - 18-05-2021 13:50:38
Blake Willis - 18-05-2021 13:50:55
Mohamad Choaib - 18-05-2021 13:51:00
Gert Doering - 18-05-2021 13:51:04
Blake Willis - 18-05-2021 13:52:03
the combination of wireguard tunnels with all those BGP AFIs should set the mind spinning...
Sander Steffann - 18-05-2021 13:54:49
"auto-generated changelog" sounds not very readable
Sander Steffann - 18-05-2021 13:54:57
Haven't actually seen it, but it scares me ;)
Gert Doering - 18-05-2021 13:55:14
git shortlog > ChangeLog
Martin Winter - 18-05-2021 13:55:46
I think they use svn, not git
Sander Steffann - 18-05-2021 13:56:04
I think Gert was talking about the concept :)
Gert Doering - 18-05-2021 13:56:37
svn scares me
Wolfgang Tremmel - 18-05-2021 13:57:01
I thought svn (as rcs) has all been replaced by git?
Andreas Härpfer - 18-05-2021 13:57:19
Gert Doering - 18-05-2021 13:57:30
I bet people still pay bitkeeper...
Andreas Härpfer - 18-05-2021 14:00:06
@Wolfgang But you can use the git-svn bridge to dig into all these ages old SVN repos still around in enterprises all over the place.
Ondřej Caletka - 18-05-2021 14:01:16
wget http://www.freertr.net/install.sh ; sudo bash install.sh - this looks scary :hushed:
J Pol - 18-05-2021 14:01:51
Kurt Kayser - 18-05-2021 14:01:57
@Ondrej: you need a lot of trust, or a VM that ist disposable
Blake Willis - 18-05-2021 14:03:15
Kurt Kayser - 18-05-2021 14:03:52
and don't tell the install.sh didn't warn you:
Kurt Kayser - 18-05-2021 14:03:53
echo this script will install freeRouter on your computer.
echo WARNiNG: this will wipe your current network settings!
Kurt Kayser - 18-05-2021 14:04:06
Blake Willis - 18-05-2021 14:04:23
what's wrong with greenscreens? :-)
Dmitry Kohmanyuk - 18-05-2021 14:04:38
i think green letters on black background are eye friendly
Dmitry Kohmanyuk - 18-05-2021 14:05:08
the text size can be adjusted
Shane Kerr - 18-05-2021 14:05:30
green-text-on-black, the original "dark mode"
Blake Willis - 18-05-2021 14:05:56
the really cool thing with freertr is that they are completely unbound by constraints such as "can the linux kernel do this?"
Blake Willis - 18-05-2021 14:06:11
it's just a control plane
Dmitry Kohmanyuk - 18-05-2021 14:06:36
yes, it is userland processes plus some kernel-to-userland sockets
Blake Willis - 18-05-2021 14:06:40
the pairing with a fully programmable P4 dataplane leads to very high feature velocity
Blake Willis - 18-05-2021 14:08:47
if you want the DPDK dataplane, you need amd64 or ARM
Andrea Togni - 18-05-2021 14:08:53
I missed the blog domain, what was it? smallOfficeHomeOffice101.com or what?
Blake Willis - 18-05-2021 14:09:52
Blake Willis - 18-05-2021 14:10:20
RARE/FreeRouter-101 [ #006 ] - "My name is INTEL Dpdk and I can certainly help freeRouter run faster !"
Will van Gulik - 18-05-2021 14:11:22
Merci Frederic ! un plaisir !
Luca Cicchelli - 18-05-2021 14:11:30
David Schweizer - 18-05-2021 14:12:10
Christopher Amin - 18-05-2021 14:12:20
This session has now ended. The next session is Connect WG and it will start at 14:30. More info on the RIPE 82 meeting plan: https://ripe82.ripe.net/programme/meeting-plan/