ethtool -K … lro off` doesn't stick once an ntuple LRO rule exists - #195
Open
meehien wants to merge 1 commit into
Open
ethtool -K … lro off` doesn't stick once an ntuple LRO rule exists#195meehien wants to merge 1 commit into
meehien wants to merge 1 commit into
Conversation
meehien
commented
Jul 30, 2026
mtk_fix_features() forces NETIF_F_LRO back on whenever the netdev has an LRO destination address programmed, so a request to disable LRO is silently reverted. ndo_fix_features() is not a veto, it is where a driver resolves dependencies between features, and the stack treats a request it did not honour as a driver bug. dev_disable_lro() is the caller that matters here. The bridge, the routing path and every other forwarding user call it to guarantee that receive aggregation is off, because a device that coalesces segments it is going to forward will re-segment them wrongly. It clears NETIF_F_LRO from wanted_features, calls netdev_update_features(), and warns if the feature survives - which is exactly what happens on this driver once an ntuple LRO rule exists: the port is enslaved to a bridge, netdev_WARN() fires, and hardware LRO stays enabled on a forwarding path. Programmed destination addresses are inert while LRO is disabled and are re-applied by mtk_hwlro_netdev_enable() if it is turned back on, so nothing is lost by honouring the request. Drop the override. Signed-off-by: Mihai Ordean <research@mihaiordean.com>
Owner
|
Is lro still working when this flag is dropped? |
Author
|
yes, LRO still works, the patch only removes the veto in mtk_fix_features(), and the enable path (ethtool -K … lro on → mtk_set_features() → mtk_hwlro_netdev_enable()) is not affected. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.