Correctness: - ml/config_loader: gate output_names check on adapter kind so Binary/Multiclass/Autoencoder manifests load cleanly - ml/model_watcher: try_send in notify callback (no more inotify-thread stall on burst) + spawn_blocking around try_reload (no more tokio executor stall on ONNX load) - http/fusion: truncated flag now reflects real overflow, not matches.len() == cap - http/soar: reject empty sources[] in dry-run instead of synthesising an inconsistent active_source_count=1 event - detection/attack_type: port_scan now maps to CanonicalAttackType::PortScan across ML / Correlation / Suricata so cross-source fusion fires - detection/orchestrator: full-scan cleanup_expired, since LRU order reflects access time not insertion time - soar/actions: block_ip/unblock_ip via spawn_blocking so parking_lot + aya syscalls never run on a tokio worker - ml/flow_tracker: fwd/bwd total bytes use packet_length (full IP), matching user intuition and on-wire byte counts - ebpf/xsk_manager: userspace DNS-blacklist drops now update DropMonitor; TX drop accounting uses nb_submitted so ring backpressure is counted - config_service: scrub plaintext smtp_password on SecretStore write - utils/logging: preserve RUST_LOG per-target directives across set_level - Cargo.toml: let notify auto-select FS backend — previous macos_kqueue-only feature meant ModelWatcher silently failed on Linux Cleanup: - Remove #[allow(dead_code)] from 9 port traits; delete the genuinely dead trait methods + associated Database impl stubs this revealed - detection/orchestrator: MAX_DEDUP_ENTRIES becomes const NonZero; tuple-style log! constructors per CODE_STYLE - model/system/health: drop unused is_healthy + task-ref comment - observability/log_buffer: document why parking_lot::Mutex is required - http/model_upload: module doc now correctly describes PromoteGate as AtomicBool reject-not-queue (not a mutex) All 289 tests pass; cargo clippy --tests -- -D warnings clean. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
NetGuardia
Project Overview
NetGuardia is a high-performance network security solution that combines eBPF XDP technology with deep learning models to provide advanced network protection. The system operates as a standalone network appliance that can run on any Ubuntu-based system with compatible network hardware.
Core Technologies
- eBPF XDP Technology - Provides high-performance packet processing directly at the data link layer
- Deep Learning Models - Identifies and predicts potential network attacks with intelligent threat detection
- Hardware Integration - Designed to work with Intel i350 T2 and similar enterprise-grade network interface cards
Functional Modules
Resource Overview
- Real-time control system occupancy rate
Dashboard Overview
- Real-time network traffic monitoring and visualization
- Recent traffic statistics and trend analysis
Detailed Traffic Statistics
- Detailed traffic usage information per IP address
Network Access Control
- IPv4/IPv6 whitelist and blacklist management
- Precise port-level access control
System Features
- High Performance - Low-latency packet processing with minimal network performance impact
- User-Friendly - Cross-platform web management interface with intuitive operation
- Reliability - Hardware-accelerated processing ensures stable operation
- Scalability - Modular design supports functional expansion
System Requirements
NetGuardia requires the combination of a kernel with eBPF support and a NIC driver that implements AF_XDP on that kernel. There is no single "minimum kernel version" — it depends on which NIC driver you use.
- Linux with eBPF + AF_XDP support for your NIC driver. Any modern distribution (Ubuntu 22.04+, Debian 12+, RHEL 9+, Fedora recent) is fine as long as the driver matrix below lines up.
- Dual-port NIC with an AF_XDP-capable driver (see matrix).
- Root / sudo access for eBPF program loading.
NIC driver / kernel matrix (AF_XDP)
| Driver | NIC family (examples) | Min kernel for AF_XDP |
|---|---|---|
| mlx5 | Mellanox ConnectX-4/5/6/7 | 5.x (early) |
| ixgbe | Intel 82599, X520, X540, X550 | 5.x |
| i40e | Intel X710, XL710, XXV710 | 5.x |
| ice | Intel E810 | 5.5+ |
| igb | Intel i350 T2 (reference hardware) | 6.17 |
| igc | Intel I225/I226 | 6.x |
| virtio_net | QEMU/KVM virtual NICs | varies; AF_XDP is limited |
If you are using the reference Intel i350 T2, you need Linux 6.17 or newer because
igb AF_XDP support landed in that release. On a kernel older than 6.17 the system
will still build, but ingress/egress setup will fail at runtime when AF_XDP
binding is attempted — check driver support with ethtool -i <iface> and confirm
against the matrix above before deploying.
Hardware Compatibility
- Network Interface: dual-port NIC with an AF_XDP-capable driver on your kernel (see matrix above). Intel i350 T2 is the reference hardware.
- CPU: multi-core recommended; XDP scales with RX queue count.
- Memory: 8 GB minimum, 16 GB+ for high-traffic environments.
NetGuardia is not limited to embedded platforms — it runs on standard server hardware, virtual machines, or dedicated appliances as long as the driver/kernel requirement above is met.



