Every packet tells a story — we read them all.

STATUS: ACTIVE

Every packet tells a story — we read them all. A network engineering blog covering routing protocols, automation, observability, and the art of solving problems at scale. Deep technical analysis, practical configs, and lessons from the wire.

/usr/log/entries

SYSTEM_TIME: 2026.Q7
2026-07-18
HOMELAB

The dev environment: a Nix shell that loads itself

Part 0 of the dev→Nix→k3s series — the foundation everything else builds on. A per-project Nix shell that direnv auto-loads when you cd in. Self-contained and beginner-friendly: set it up, run a Python hello world, and install packages without touching your system.

timer 7M_RD
2026-06-07
ROUTING

The Architectural Deep Dive: Demystifying Junos Local Routes and BGP Policy Chains

A deep dive into why an operational inline services /32 interface prefix failed to advertise across an iBGP full mesh, exposing the inner workings of the Junos routing engine.

timer 13M_RD
2026-06-05
ROUTING

Beyond BGP Path Selection: eBGP vs iBGP on Juniper Junos

A deep comparison of the BGP path selection process between eBGP and iBGP on Juniper platforms — tie-breakers, CLI output analysis, and production configs.

timer 9M_RD
2026-06-05
JUNOS

Juniper PFE Deep Dive: Diagnosing Silent Packet Drops When BGP Is Up

Move beyond show route — hardware-level diagnostics, FIB sync issues, ASIC discards, JSIM simulation, and packet-via-dmem captures on Juniper MX-Series.

timer 15M_RD
2026-05-30
OBSERVABILITY

Beyond the Ping: Mastering TWAMP on Juniper MX

A production hardware-accelerated TWAMP deployment on Juniper MX with inline services — three QoS classes (Voice, Video, Best Effort), bidirectional measurement, and line-by-line config explanation.

timer 15M_RD
2024-12-17
ROUTING

AS Path

Indicate path back to the route source and prevents routing loops.

timer 2M_RD