-
Why is ebpf masquerade slow on some adapters? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment
-
The likely issue is Generic Receive Offload (GRO) and/or Large Receive Offload(LRO) . GRO allows the network interface card (NIC) to combine multiple incoming packets into larger ones before passing them to the CPU. GRO might interfere with eBPF programs that rely on processing individual packets, causing them to behave incorrectly or inefficiently. This setting is by default on for some NIC cards. It can be disabled with ethtool via sudo ethtool -K gro off. LRO reassembles incoming network packets into larger buffers before passing them to the network stack which can cause issues for ebpf, routing and bridging and can be disabled via sudo ethtool -K lro off. Both can be placed in /opt/openziti/bin/user/user_rules.sh or other system startup scripts. Note: LRO can also be turned off when compiling the ixgbe driver via IXGBE_NO_LRO compile time flag. |
Beta Was this translation helpful? Give feedback.
The likely issue is Generic Receive Offload (GRO) and/or Large Receive Offload(LRO) . GRO allows the network interface card (NIC) to combine multiple incoming packets into larger ones before passing them to the CPU. GRO might interfere with eBPF programs that rely on processing individual packets, causing them to behave incorrectly or inefficiently. This setting is by default on for some NIC cards. It can be disabled with ethtool via sudo ethtool -K gro off. LRO reassembles incoming network packets into larger buffers before passing them to the network stack which can cause issues for ebpf, routing and bridging and can be disabled via sudo ethtool -K lro off. Both can be placed in /opt/op…