From: Sven Eckelmann sven@narfation.org
If an interface changes the MTU, it is expected that an NETDEV_PRECHANGEMTU and NETDEV_CHANGEMTU notification events is triggered. This worked fine for .ndo_change_mtu based changes because core networking code took care of it. But for auto-adjustments after hard-interfaces changes, these events were simply missing.
Due to this problem, non-batman-adv components weren't aware of MTU changes and thus couldn't perform their own tasks correctly.
Fixes: c6c8fea29769 ("net: Add batman-adv meshing protocol") Cc: stable@vger.kernel.org Signed-off-by: Sven Eckelmann sven@narfation.org Signed-off-by: Simon Wunderlich sw@simonwunderlich.de --- net/batman-adv/hard-interface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c index 41c1ad33d009..ae5762af0146 100644 --- a/net/batman-adv/hard-interface.c +++ b/net/batman-adv/hard-interface.c @@ -630,7 +630,7 @@ int batadv_hardif_min_mtu(struct net_device *soft_iface) */ void batadv_update_min_mtu(struct net_device *soft_iface) { - soft_iface->mtu = batadv_hardif_min_mtu(soft_iface); + dev_set_mtu(soft_iface, batadv_hardif_min_mtu(soft_iface));
/* Check if the local translate table should be cleaned up to match a * new (and smaller) MTU.
Hello:
This series was applied to netdev/net.git (main) by Simon Wunderlich sw@simonwunderlich.de:
On Wed, 16 Aug 2023 18:33:14 +0200 you wrote:
From: Sven Eckelmann sven@narfation.org
If an interface changes the MTU, it is expected that an NETDEV_PRECHANGEMTU and NETDEV_CHANGEMTU notification events is triggered. This worked fine for .ndo_change_mtu based changes because core networking code took care of it. But for auto-adjustments after hard-interfaces changes, these events were simply missing.
[...]
Here is the summary with links: - [1/5] batman-adv: Trigger events for auto adjusted MTU https://git.kernel.org/netdev/net/c/c6a953cce8d0 - [2/5] batman-adv: Don't increase MTU when set by user https://git.kernel.org/netdev/net/c/d8e42a2b0add - [3/5] batman-adv: Do not get eth header before batadv_check_management_packet https://git.kernel.org/netdev/net/c/eac27a41ab64 - [4/5] batman-adv: Fix TT global entry leak when client roamed back https://git.kernel.org/netdev/net/c/d25ddb7e788d - [5/5] batman-adv: Fix batadv_v_ogm_aggr_send memory leak https://git.kernel.org/netdev/net/c/421d467dc2d4
You are awesome, thank you!
linux-stable-mirror@lists.linaro.org