feat: add Go-based eBPF helper using AF_PACKET raw sockets with automatic build in agent installer

Add nexafabric-ebpf.go implementing flow collection via Linux raw packet sockets (AF_PACKET) instead of tc/eBPF to enable immediate Proxmox deployment without kernel dependencies, implement packet parsing with VLAN/IP/TCP/UDP/ICMP support and flow aggregation by 5-tuple with vmid/nic/interface/direction metadata extraction from tap/fwbr interface names, add /agents/download/nexafabric-ebpf.go endpoint
This commit is contained in:
2026-07-10 14:19:28 +02:00
parent e6c9a92ff0
commit 3aa7ae0c65
3 changed files with 354 additions and 1 deletions
@@ -1,6 +1,9 @@
# NexaFabric eBPF helper contract
Agent 0.3.0 can call an optional helper binary at `/opt/nexafabric-agent/nexafabric-ebpf`.
The repository includes a dependency-free Go helper source at `nexafabric-ebpf.go`.
The first implementation uses Linux raw packet sockets on the selected VM/LXC interfaces and prints the same JSON contract that a tc/eBPF implementation should print. This keeps the helper installable on Proxmox immediately while preserving the agent integration point for a later kernel eBPF loader.
The helper is invoked as:
@@ -28,7 +31,7 @@ It must print JSON to stdout:
}
],
"diagnostics": {
"attach_mode": "tc",
"attach_mode": "af_packet_raw_socket",
"interfaces_attached": ["tap100i0"]
}
}