A clean, cross-platform Layer-2 VPN implemented in pure C — minimal, modular, and designed for real-world use.
- switchd — virtual Ethernet switch with MAC learning, broadcast and unicast forwarding
- vportd — virtual port daemon with platform-specific backends (TAP, UTUN, Wintun)
- Modular architecture:
core/— shared protocol + switching logicos/— platform abstraction layerssrc/— daemons (switchd, vportd)
- Custom UDP-based VPN transport, optimized for simplicity and portability
- Targeted platforms: Linux, macOS, Windows
- Early development
- Architecture fully planned
- Foundational components implemented
- Focus on:
- clean abstractions
- cross-platform portability
- small, auditable codebase
- Contributions, feedback, and design ideas are welcome
- Check issues for current goals & tasks
- Ideal for:
- systems programmers
- networking people
- anyone wanting lightweight virtual L2 networking