About

The lab.

asmolab is a personal research environment for network systems work that lives outside of day jobs and product roadmaps. Everything published here exists because something needed to be understood, built, or broken to find out what actually happens.

The work

The focus is on the hard edges: kernel-level packet processing, network control plane behavior under unusual physical constraints, and the places where protocol assumptions inherited from the 1980s and 90s quietly stop holding. Projects tend to be small, precise, and built to expose something specific rather than solve something general.

How it's done

Code is written in C and Python. The lab environment runs K3s with Cilium and Multus for multi-interface workloads. eBPF programs are compiled at load time with clang and attached via iproute2. Everything is designed to be readable and auditable — nothing is generated or hidden behind abstractions that can't be inspected.

.nodal

On-orbit network emulation lab exploring what actually breaks when routing packets through a LEO constellation moving at 17,000 mph. The question being answered is which forty-year-old terrestrial networking assumptions quietly stop being true when the topology never stays still. nodal.asmolab.net

rudder

A CLI tool for eBPF TC-hook packet steering and multicast-to-unicast replication. YAML rules match on interface, DSCP, IP prefix, and protocol. The kernel rewrites headers and redirects at wire speed without touching userspace. Useful for policy-based routing, traffic engineering, and multicast fan-out across heterogeneous egress paths. github.com/dotchance/rudder

Find the code

Everything lives at github.com/dotchance. No mailing list, no newsletter. Work appears when it's ready.