1b00deb419
The gateway now has a small Linux PacketSocket wrapper for raw Ethernet frame I/O. It resolves the configured interface with if_nametoindex, opens an AF_PACKET/SOCK_RAW socket for ETH_P_ALL, binds it to the interface, and exposes thin send_frame and recv_frame helpers around the owned file descriptor. The gateway binary opens this socket after completing the relay control handshake. The frame bridge loop is still intentionally left for a later slice, but the process now proves the two required resources are available: relay admission and raw L2 access on the LAN interface. Tests cover interface-name validation and missing-interface lookup without requiring root or CAP_NET_RAW. Test Plan: - cargo fmt --check - cargo test --workspace - cargo clippy --workspace --all-targets -- -D warnings Refs: PLAN.md Linux AF_PACKET gateway socket
17 lines
329 B
TOML
17 lines
329 B
TOML
[package]
|
|
name = "lanparty-gateway"
|
|
version.workspace = true
|
|
edition.workspace = true
|
|
|
|
[dependencies]
|
|
anyhow.workspace = true
|
|
clap.workspace = true
|
|
lanparty-ctrl = { path = "../lanparty-ctrl" }
|
|
libc.workspace = true
|
|
quinn.workspace = true
|
|
rustls.workspace = true
|
|
tokio.workspace = true
|
|
|
|
[dev-dependencies]
|
|
rcgen.workspace = true
|