Vincent Bernat
banner
vincent.bernat.ch
Vincent Bernat
@vincent.bernat.ch
Network engineer at AS12322. Debian and free software developer. Like to work on projects with C, Python, or Go. He/him. https://vincent.bernat.ch
Pinned
With the team @free1337.bsky.social, we have developed a Netflow/IPFIX collector and visualizer. It is available at github.com/akvorado/akv.... It relies on several opensource components: GoFlow2, Kafka, ClickHouse, Vue, Tailwind, and more!
GitHub - akvorado/akvorado: Flow collector, enricher and visualizer
Flow collector, enricher and visualizer. Contribute to akvorado/akvorado development by creating an account on GitHub.
github.com
People using Traefik are now likely to run into this issue when upgrading to Docker 29.0.0. This can be fixed by downgrading. This includes Akvorado's users!

github.com/traefik/trae...
Error response from daemon: client version 1.24 is too old · Issue #12253 · traefik/traefik
Welcome! Yes, I've searched similar issues on GitHub and didn't find any. Yes, I've searched similar issues on the Traefik community forum and didn't find any. What did you do? Upgraded docker to 2...
github.com
November 11, 2025 at 10:15 AM
Akvorado 2.0.2 is released. It features a bugfix for the latest version of Firefox. It increases the default Kafka buffer size of the inlet service to avoid packet drops. Plus an optional eBPF load balancer that is pretty cool but less useful than a good default value. :)

github.com/akvorado/akv...
Release v2.0.2 · akvorado/akvorado
The modification of the default value of inlet→kafka→queue-size should prevent packet drops on busier setups. 💥 config: stop shipping demo exporter configurations from the orchestrator ✨ inlet: lo...
github.com
October 29, 2025 at 7:07 AM
Minor release of Akvorado. It includes two bug fixes: one for older kernels (before 5.1) and one for gNMI users.

github.com/akvorado/akv...
Release v2.0.1 · akvorado/akvorado
🩹 inlet: disable kernel timestamping on Linux kernel older than 5.1 🩹 outlet: fix gNMI metadata provider exiting too early 🩹 doc: fix documentation for SNMPv3 configuration 🌱 inlet: add support for...
github.com
October 2, 2025 at 5:28 AM
Reposted by Vincent Bernat
"Vampire Routing", a path finding algorithm that avoids direct sunlight 🧛 Pretty cool idea, and I actually do that during hot summer times to avoid excessive heat. sosm.ch/the-coolest-...
The coolest way to find shade paths: Vampire routing on routing.osm.ch
Climate change and increasing urbanization are causing more and more heat, which is particularly noticeable these days. Locals and tourists are therefore looking for ways to avoid direct sunlight. Of ...
sosm.ch
September 25, 2025 at 2:02 PM
A couple years ago, I have complained about "show commit changes diff" being utterly broken on Cisco IOS XR. Good news, this is fixed in 24.4.2 and 25.1.1 (and a late fix is coming for 24.2.21).

vincent.bernat.ch/en/blog/2022...
Broken commit diff on Cisco IOS XR
The diff between the running and the candidate configurations produced by Cisco IOS XR are often incorrect. This post provides a few examples.
vincent.bernat.ch
September 28, 2025 at 3:47 PM
Reposted by Vincent Bernat
Release of Akvorado version 2.0, an open-source Tool to collect network flows with IPFIX and sFlow - Project by Vincent Bernat @vincent.bernat.ch #Network #Monitoring vincent.bernat.ch/en/blog/2025...
Akvorado release 2.0
Akvorado 2.0 is out! It introduces a major architectural change with a new outlet service, as well as smaller changes detailed in this post.
vincent.bernat.ch
September 24, 2025 at 7:10 PM
Final release of Akvorado 2.0! In addition to introducing the new architecture, this companion blog post details some other changes.

vincent.bernat.ch/en/blog/2025...
Akvorado release 2.0
Akvorado 2.0 is out! It introduces a major architectural change with a new outlet service, as well as smaller changes detailed in this post.
vincent.bernat.ch
September 22, 2025 at 6:27 AM
New release of lldpd. Fast start is now enabled by default and VLAN advertisements are configurable.

github.com/lldpd/lldpd/...
Release 1.0.20 · lldpd/lldpd
Summary Changes: Enable fast start unconditionally (and move its configuration in "configure lldp") (#683) Make VLAN advertisements configurable (#740) Fix: Do not break zero-copy traffic on L...
github.com
September 13, 2025 at 10:52 AM
For x86-64, the 4 micro-architecture levels are fairly well documented. I am looking for something equivalent for AArch64 and I am almost nowhere. It does not seem to exist a piece of code that will tell you "this CPU supports ARMv8.5-A instruction set". Why?

en.wikipedia.org/wiki/X86-64#...
x86-64 - Wikipedia
en.wikipedia.org
September 8, 2025 at 5:20 AM
Some people can pollute an opensource project beyond all decency. It's the first time I have to block someone and then the first time I have to explain it explicitly.

github.com/akvorado/akv...
clickhouse in loop restarting · akvorado akvorado · Discussion #1928
Hi Good Day Everyone, im using akvorado for a month now. All of the errors im encountering I always research it first before asking on some discussions here in github please respect my post. We had...
github.com
September 2, 2025 at 5:46 AM
Another beta release of Akvorado 2.0.0. Notably, it fixes a crash likely to happen when you have many flows.

github.com/akvorado/akv...
Release v2.0.0-beta.5 · akvorado/akvorado
CautionThis is a beta release! Be sure to read the section about 2.0.0-beta.1 as well. If you use the monitoring stack, note that the Docker Compose file was split into docker-compose-prometheus.y...
github.com
August 30, 2025 at 11:31 AM
New beta for Akvorado 2.0.0. This should be the last one! Testing would be appreciated!

github.com/akvorado/akv...
Release v2.0.0-beta.4 · akvorado/akvorado
CautionThis is a beta release! Be sure to read the section about 2.0.0-beta.1 as well. This is likely the last beta before releasing 2.0.0. 🌱 outlet: improve performance of the BMP routing provid...
github.com
August 18, 2025 at 7:09 AM
Trying a bit Claude Code. I feel like I am doing all the work and paying for that.
August 12, 2025 at 9:15 PM
New week, new beta release of Akvorado. The number of workers in the outlet is now size dynamically to keep ClickHouse happy. Another interesting bit is the ability to enable TLS. Also, IPv6 is enabled by default in Docker (and a controversial change for IPv4)!

github.com/akvorado/akv...
Release v2.0.0-beta.3 · akvorado/akvorado
CautionThis is a beta release! Be sure to read the section about 2.0.0-beta.1 as well. 💥 docker: enforce a specific IPv4 subnet (in the reserved class E) 🌱 docker: add IPv6 configuration 🌱 outlet...
github.com
August 11, 2025 at 6:13 AM
Sometimes, I see code like _ = s[n+1] in Go and I didn't understand its purpose. This is for bound check elimination. See:

go101.org/optimization...
BCE (Bound Check Elimination) -Go 101
Golang online books, articles, tools, etc.
go101.org
August 5, 2025 at 4:02 AM
New 2.0.0-beta.2 for Akvorado. It now ships an image for ARMv7 (if you have an old Raspi with more than 8 GiB of RAM). I plan to rewrite the BMP component. And it seems I need to limit the amount of data sent to ClickHouse inside a single request.

github.com/akvorado/akv...
Release v2.0.0-beta.2 · akvorado/akvorado
CautionThis is a beta release! Be sure to read the section about 2.0.0-beta.1 as well. 💥 common: be stricter on results returned from remote sources 🌱 outlet: commit records from Kafka after queu...
github.com
August 4, 2025 at 8:37 PM
Reposted by Vincent Bernat
A modern, open source, self-hosted customer support desk. Single binary app. Go-based #opensource
#golang

github.com/abhinavxd/l...
August 2, 2025 at 6:24 AM
New beta version of Akvorado. This is a major release as the architecture changes a bit by splitting the inlet component in two parts to avoid doing too much inside the inlet, which is now focused on receiving packets.

github.com/akvorado/akv...
Release v2.0.0-beta.1 · akvorado/akvorado
CautionThis is a beta release! This release introduce a new component: the outlet. Previously, ClickHouse was fetching data directly from Kafka. However, this required to push the protobuf schema ...
github.com
July 28, 2025 at 6:13 AM
Reposted by Vincent Bernat
How well do you know Python’s f-strings? I built a thing inspired by JavaScript’s Date constructor quiz but for Python. fstrings.wtf
fstrings.wtf - Python F-String Quiz
Test your knowledge of Python's f-string formatting with this interactive quiz. How well do you know Python's string formatting quirks?
fstrings.wtf
July 19, 2025 at 9:15 AM
I am removing any dependency on Bitnami Docker images from Akvorado:

github.com/akvorado/akv...

I strongly recommend you to not use Bitnami images anymore. They are becoming more and more hostile toward the community. See their most recent announce in the commit above.
docker: switch to Prometheus Java Agent exporter for Kafka · akvorado/akvorado@0aab952
This removes the last Bitnami image. This has been some time that Bitnami was starting to be hostile, but this recently became even worse: https://github.com/bitnami/containers/issues/83267. Moreo...
github.com
July 19, 2025 at 8:10 AM
Reposted by Vincent Bernat
new blogpost about protobuf perf (work related!)
mcyoung.xyz/2025/07/16/h...
Parsing Protobuf Like Never Before · mcyoung
mcyoung.xyz
July 16, 2025 at 6:59 PM
Introduction to Linux Netkit interfaces — with a grain of eBPF

blog.yadutaf.fr/2025/07/01/i...

I didn't know about it. This is a more performant veth that should be paired with eBPF. It was introduced by this commit: web.git.kernel.org/pub/scm/linu...
Introduction to Linux Netkit interfaces — with a grain of eBPF | Yet another enthusiast blog!
blog.yadutaf.fr
July 14, 2025 at 7:59 AM
Reposted by Vincent Bernat
Anubis release v1.20.0 has support for running **without** client-side JavaScript - Tested with CLI browsers and the browser embedded in emacs anubis.techaro.lol/blog/release...
Anubis v1.20.0 is now available! | Anubis
Hey all!
anubis.techaro.lol
July 11, 2025 at 7:07 AM
The new testing/synctest package planned for Go 1.25 is a very good idea. This will remove a lot of random `time.Sleep()` in tests, making them more robust.

tip.golang.org/doc/go1.25#n...
Go 1.25 Release Notes - The Go Programming Language
tip.golang.org
July 8, 2025 at 6:59 AM