Kmod-nft-offload
First, let's decode the name:
In strict terms, kmod-nft-offload is not a standalone piece of software you install via yum or apt-get. Instead, it is a collective term used within distributions like Fedora, CentOS, RHEL, and Arch Linux to represent the kernel module supporting the NETDEV flow offload mechanism for nftables.
When you run modprobe nft-offload, you are loading the subsystem that allows nftables rules to be translated into low-level flow entries (TC flower rules) that NIC hardware can understand. kmod-nft-offload
nft add chain netdev filter ingress type filter hook ingress device eth0 priority 0;
# Load the offload module (usually auto-loaded)
modprobe kmod-nft-offload
If rules aren’t offloading, check:
Not all rules can offload:
✅ Supported: IP forwarding, MAC rewrite, basic VLAN
❌ Unsupported: Stateful matching (ct), logging, dynamic sets, NAT (on some hardware)
opkg install kmod-nft-offload
Check if module loaded:
lsmod | grep nft_offload
Driver must advertise offload capability: First, let's decode the name:
ethtool -k eth0 | grep hw-tc-offload
# Must show "on"
Common failures:
Debugging:
echo 'file nft_offload.c +p' > /sys/kernel/debug/dynamic_debug/control
dmesg -w | grep -i offload