[release] softlan-vpn v0.1.0

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"
This commit is contained in:
2026-08-16 10:39:04 +02:00
parent 16d0886f36
commit d836a10500
+47
View File
@@ -0,0 +1,47 @@
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [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.
- **Linux Physical Gateway Bridge (`lanparty-gateway`)**:
- Promiscuous `AF_PACKET` raw socket bridge connecting local physical LAN
networks to virtual relay rooms.
- Ingress/egress datagram budget enforcement, carrier validation, and
self-injection filtering.
- **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`).