Skip to content

A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN

Notifications You must be signed in to change notification settings

StandartCoder/l2-vpn-vs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

vpnet – Cross-Platform Layer-2 VPN in Pure C

A clean, cross-platform Layer-2 VPN implemented in pure C — minimal, modular, and designed for real-world use.

Key features

  • 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 logic
    • os/ — platform abstraction layers
    • src/ — daemons (switchd, vportd)
  • Custom UDP-based VPN transport, optimized for simplicity and portability
  • Targeted platforms: Linux, macOS, Windows

Status

  • Early development
  • Architecture fully planned
  • Foundational components implemented
  • Focus on:
    • clean abstractions
    • cross-platform portability
    • small, auditable codebase

Get involved

  • 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

About

A minimal virtual Layer-2 VPN that links machines via TAP and UDP as if they were on the same LAN

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published