San Francisco Metropolitan Internet eXchange — a community-driven and operated Internet Exchange in the San Francisco Bay Area since 2006. Keeping Bay Area traffic local since before it was cool.
🔗 sfmix.org · 📬 [email protected]
The public-facing Hugo static site now lives in its own repo: sfmix/website. Deployed to web.sfmix.org via GitHub Pages.
Ansible roles and playbooks that keep the lights on — network devices, servers, and services. Highlights include:
sfmix_arouteserver/sfmix_route_server_linux— route server config generation (ARouteServer) and BIRD deploymentsfmix_looking_glass— looking glass and participant data publishingsfmix_network_devices— peering switch configuration managementsfmix_website— provisions the web server (nginx, Let's Encrypt TLS, deploy user for CI/CD)sfmix_dns— authoritative DNS zone managementsnappy— the speed test stack (LibreSpeed, OpenSpeedTest, TAUC TR-143, iperf3)- …and more (monitoring, flow collection, RPKI, etc.)
A multi-frontend looking glass for IXP operations, written in Rust. Provides telnet (public), SSH (authenticated via OIDC), REST API, and MCP interfaces. Queries Arista EOS and Nokia SR-OS devices. Deployed on alice.sfmix.org as split-mode services (lg-server, lg-cli, lg-http).
Django-based IXP participant portal at portal.sfmix.org. Fetches participant and network data from the looking glass REST API.
Local development environment — Containerlab virtual network topologies, NetBox Docker, and monitoring stack for testing changes before production.
Terraform configs for managed services (Authentik SSO at login.sfmix.org).
Handy Python utilities for day-to-day IXP operations:
new_participant.py— interactively onboard a new participant in NetBox, finding available pre-patched switchportsdiscovery.py— ARP/NDP MAC discovery, VLAN→interface mapping, and NetBox updatesroute_server_parity.py— compare BGP session state across route servers to find participants missing parityparticipant_speeds.py— port speed reporting by site and in totalnetbox_ix_lint.py— lint and validate NetBox IX data
Public SFMIX docs — BGP community references, Nokia SR OS cheatsheet, NetBox conventions, and design docs. Private documentation lives in sfmix/documentation.
ESPHome configs for environmental sensors deployed at IX sites. Because even bits like it cool.