Patch "mlxsw: spectrum: Check requested ageing time is valid" has been added to the 4.4-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
mlxsw: spectrum: Check requested ageing time is valid
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mlxsw-spectrum-check-requested-ageing-time-is-valid.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From foo@baz Sat Apr 16 10:02:53 PDT 2016
From: Ido Schimmel <[email protected]>
Date: Tue, 8 Mar 2016 12:59:33 -0800
Subject: mlxsw: spectrum: Check requested ageing time is valid
From: Ido Schimmel <[email protected]>
[ Upstream commit 869f63a4d28144c03c8f4a4c0d1e8f31f8c11a10 ]
Commit c62987bbd8a1 ("bridge: push bridge setting ageing_time down to switchdev") added a check for minimum and maximum ageing time, but this breaks existing behaviour where one can set ageing time to 0 for a non-learning bridge.
Push this check down to the driver and allow the check in the bridge layer to be removed. Currently ageing time 0 is refused by the driver, but we can later add support for this functionality.
--- drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 2 ++ drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-)
drivers/net/ethernet/mellanox/mlxsw/spectrum.h +2 -0
@@ -61,6 +61,8 @@ struct mlxsw_sp {#define MLXSW_SP_DEFAULT_LEARNING_INTERVAL 100unsigned int interval;/* ms */ } fdb_notify; +#define MLXSW_SP_MIN_AGEING_TIME 10 +#define MLXSW_SP_MAX_AGEING_TIME 1000000#define MLXSW_SP_DEFAULT_AGEING_TIME 300u32 ageing_time;struct {
drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +7 -2
@@ -232,8 +232,13 @@ static int mlxsw_sp_port_attr_br_ageing_unsigned long ageing_jiffies =clock_t_to_jiffies (ageing_clock_t);u32 ageing_time =jiffies_to_msecs (ageing_jiffies) /1000 ; -if (switchdev_trans_ph_prepare (trans)) -return 0 ; +if (switchdev_trans_ph_prepare (trans)) { +if (ageing_time <MLXSW_SP_MIN_AGEING_TIME || + ageing_time >MLXSW_SP_MAX_AGEING_TIME ) +return -ERANGE ; +else +return 0 ; + }return mlxsw_sp_ageing_set (mlxsw_sp, ageing_time); }
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/rocker-set-fdb-cleanup-timer-according-to-lowest-ageing-time.patch queue-4.4/bridge-allow-set-bridge-ageing-time-when-switchdev-disabled.patch queue-4.4/mlxsw-spectrum-check-requested-ageing-time-is-valid.patch