First release of softlan-vpn, a low-latency virtual Layer 2 gaming VPN and Ethernet bridge built on QUIC datagrams. This release introduces the initial workspace architecture, crates, and operational components: - lanparty-relay: QUIC-based Layer 2 VPN relay server with room-level isolation, learning switch (CAM table), anti-spoofing MAC validation, safety filters against rogue DHCP servers and IPv6 Router Advertisements, token-bucket rate limiters, and development TLS certificate generation. - lanparty-gateway: Linux Layer 2 gateway bridge utilizing raw AF_PACKET sockets in promiscuous mode to bridge physical LAN segments to remote VPN rooms with carrier checking and datagram budget enforcement. - lanparty-client-win: Windows client CLI and session engine integrating TAP-Windows6 adapter I/O, scoped IP route management (relay host route pinning, default route suppression, metric configuration), and real-time terminal diagnostics. - lanparty-proto, lanparty-ctrl, lanparty-obs, lanparty-net: Protocol primitives, control stream codec, observability reporting, and network resolution helpers. Initial release is documented in CHANGELOG.md adhering to Keep a Changelog and Semantic Versioning. Test Plan: - `just clippy` -- passed - `just fmt` -- passed - `just test` -- passed (118 tests across all crates) - `git diff --cached --check` -- passed Refs: CHANGELOG.md "[0.1.0]", AGENTS.md "Versioning Policy"
2.1 KiB
2.1 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[0.1.0] - 2026-08-16
Added
- QUIC-based Layer 2 VPN Relay (
lanparty-relay):- Room-isolated virtual Layer 2 Ethernet switching over QUIC datagrams
(
quinn/rustls). - Learning switch (CAM table) for unicast frame forwarding and broadcast/multicast flooding.
- L2 safety filters: client source MAC anti-spoofing, rogue DHCPv4/DHCPv6 server reply filtering, IPv6 Router Advertisement suppression (including behind extension headers), IPv6 fragment filtering, remote VLAN tag filtering, and malformed frame rejection.
- Token-bucket rate limiting for broadcast, unknown unicast, and total client bandwidth.
- Development TLS certificate generation helper.
- Room-isolated virtual Layer 2 Ethernet switching over QUIC datagrams
(
- Linux Physical Gateway Bridge (
lanparty-gateway):- Promiscuous
AF_PACKETraw socket bridge connecting local physical LAN networks to virtual relay rooms. - Ingress/egress datagram budget enforcement, carrier validation, and self-injection filtering.
- Promiscuous
- Windows Client (
lanparty-client-win,lanparty-client-core,lanparty-client-tap,lanparty-client-route):- TAP-Windows6 adapter management and Ethernet frame I/O.
- Scoped Windows IP route management: relay host route pinning, TAP default route suppression, and interface metric configuration.
- Virtual MAC persistence and reconnect handling.
- Real-time diagnostic reporting for RTT, LAN DHCP lease state, gateway presence, and frame flow counters.
- Shared Infrastructure:
- Protocol primitives (
lanparty-proto) for datagram framing, MTU negotiation, and safety classifications. - Control plane (
lanparty-ctrl) for room admission, peer lifecycle events, and stats snapshots. - Observability suite (
lanparty-obs) for structured frame logging and diagnostic formatting. - Network address resolution utilities (
lanparty-net).
- Protocol primitives (