#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp_drop_ip")
int xdp_prog(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto != __constant_htons(ETH_P_IP)) return XDP_PASS; struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Block IP address 192.168.1.100 (0x6401A8C0 in hex, little endian) if (iph->saddr == 0x6401A8C0) { return XDP_DROP; } return XDP_PASS;
} char _license[] SEC("license") = "GPL";
#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp_drop_ip")
int xdp_prog(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto != __constant_htons(ETH_P_IP)) return XDP_PASS; struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Block IP address 192.168.1.100 (0x6401A8C0 in hex, little endian) if (iph->saddr == 0x6401A8C0) { return XDP_DROP; } return XDP_PASS;
} char _license[] SEC("license") = "GPL";
#include <linux/bpf.h>
#include <linux/if_ether.h>
#include <linux/ip.h>
#include <bpf/bpf_helpers.h> SEC("xdp_drop_ip")
int xdp_prog(struct xdp_md *ctx) { void *data_end = (void *)(long)ctx->data_end; void *data = (void *)(long)ctx->data; struct ethhdr *eth = data; if (data + sizeof(*eth) > data_end) return XDP_PASS; if (eth->h_proto != __constant_htons(ETH_P_IP)) return XDP_PASS; struct iphdr *iph = data + sizeof(*eth); if (data + sizeof(*eth) + sizeof(*iph) > data_end) return XDP_PASS; // Block IP address 192.168.1.100 (0x6401A8C0 in hex, little endian) if (iph->saddr == 0x6401A8C0) { return XDP_DROP; } return XDP_PASS;
} char _license[] SEC("license") = "GPL"; - Ingest POD: Handles high-speed packet capture using eBPF and XDP.- Pre-processor POD: Normalizes traffic and extracts relevant features for the AI engine.- NAPSE AI POD: The core inference engine that identifies anomalies and malicious intent.- Policy POD: Applies organizational security rules and compliance checks.- AEGIS Reflex POD: Executes autonomous defense actions (e.g., blocking IPs, terminating sessions).- Telemetry POD: Manages metadata and logs for long-term storage and forensics.- Management POD: Provides a centralized interface for orchestration and updates. - Prepare the OS: Use a 64-bit version of Raspberry Pi OS or Ubuntu Server.- Install Dependencies: Ensure clang, llvm, and libbpf are installed for eBPF support.- Deploy HookProbe Agent: Download the binary from our documentation portal.- Configure Network Mirroring: Use a managed switch with a SPAN/Mirror port to send traffic to the Pi's Ethernet interface.- Enable NAPSE: Activate the AI-native engine to begin baseline learning of your network environment.