feat(gateway): open AF_PACKET sockets
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
This commit is contained in:
@@ -18,6 +18,7 @@ edition = "2024"
|
||||
anyhow = "1"
|
||||
bytes = "1"
|
||||
clap = { version = "4.6.1", features = ["derive"] }
|
||||
libc = "0.2"
|
||||
quinn = "0.11.9"
|
||||
rcgen = "0.14.8"
|
||||
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
|
||||
|
||||
Reference in New Issue
Block a user