golang


Nov. 11, 2026

ipv6-slaac-logger - accountability for SLAAC addresses with RFC 9686

One of the most common objections I hear to SLAAC, and frankly one of the most legitimate ones, is accountability. “If the host picks its own address, how do I know who had 3fff:db8:10::5c1e:9aff:fe3b:21aa last Tuesday at 21:00?” With DHCPv6 IA_NA you get a lease log - this is what everyone is used to with legacy IP - and why so many enterprises ask for DHCPv6 support. With SLAAC, and especially with temporary/privacy addresses rotating underneath you, you get… whatever you can scrape out of neighbor caches before they age out.

Aug. 2, 2026

piccolo-perf - a perfSONAR-lite for routers and SBCs

I have a soft spot for perfSONAR . It’s the gold standard for research and education network performance measurement, and if you run a network that touches ESnet, Internet2, or any of the big R&E backbones, you’ve probably got a perfSONAR node (or ten) somewhere. The problem is that perfSONAR is heavy. It wants a full OS, a stack of services, and real resources. That’s fine for a dedicated measurement box and that has served perfSonar well for 20 years, but it’s a non-starter for a router, a Raspberry Pi at a remote site, or anything else you’d call “constrained.

Aug. 1, 2025

IPv6Planner - a basic IPv6 subnet planning tool

There are so many ways to create IPv6 Subnet plans. As discussed in IPv6 Buzz 180 , an address plan is one of, if not the first step. Because getting started in the IPv6 subnet planning can be somewhat daunting, I wrote this go application to help bootstrap the process. This open source tool can be used along with the web version of ipv6utils , or the CLI tool .

May. 9, 2025

An alternative to smokeping

I have been using smokeping for 25 years. It’s a great tool that provides a useful and unique data set. The thing about smokeping is that it does not really have a lot of alternatives. To that end, I embarked on an amateurish re-imagining of both smokeping and its contemporary successor, vaping in golang. Initial version supports ping and DNS and has a nearly identical structure to Vaping (why re-invent the wheel?

Apr. 6, 2025

Go IPv6 utilities

After spending some time with Python, I moved to Go, which seems to suit the way my brain works slightly better (make no mistake, I am still a poor developer). Keeping in line with the work done on this , I endeavored to re-write this in Golang, mostly because the subnet generation in python had some resource issues with large blocks. And off I went. With the help of an LLM to get me past weird errors and inability to compile, the resulting code is surprisingly efficient and useful - available here IPv6 Subnet Generator & RFC 6052 Converter Current capabilities: A command-line utility for IPv6 subnet generation and IPv4/IPv6 address translation using RFC 6052.