While standard nftables rules are processed by the system's CPU, kmod-nft-offload allows the kernel to "offload" established network flows directly to compatible Network Interface Cards (NICs). This means once a connection is verified and established, the hardware takes over the heavy lifting, bypassing the CPU for subsequent packets in that stream. How Flow Offloading Works
High-traffic gateways that move massive amounts of data between networks.
By moving packet processing to the NIC, the CPU is freed up to handle application-level tasks, which is critical for high-load servers or virtualized environments. kmod-nft-offload
table inet filter { flowtable f { hook ingress priority 0 devices = { eth0, eth1 } } chain forward { type filter hook forward priority 0; policy accept; ip protocol { tcp, udp } flow offload @f } } Use code with caution. When to Use It
When a new connection (like a TCP handshake) arrives, it is processed by the CPU. The nftables engine checks the rules, determines if the traffic is allowed, and sets up a connection tracking entry. While standard nftables rules are processed by the
If hardware offloading is enabled via kmod-nft-offload , the kernel sends a message to the NIC's firmware. The hardware then creates a shortcut for that specific flow.
Processing packets in specialized silicon is generally more power-efficient than using general-purpose CPU cycles. Prerequisites and Compatibility By moving packet processing to the NIC, the
To utilize kmod-nft-offload , you typically need three things: