From: Inbar Karmy <[email protected]>
This RFC adds support for configuring PFC stall prevention through ethtool.
In the event where the device unexpectedly becomes unresponsive for a long
period of time, flow control mechanism may propagate pause frames which will
cause congestion spreading to the entire network.
To prevent this scenario, the device may implement a protection mechanism for
monitoring and resolving such state. The following patches allow the user to
control the stall prevention functionality.
PFC stall prevention configuration is done via ethtool -a (pause).
Two modes are introduced:
Default - current behavior per driver.
Auto - protection mechanism controlled automatically by the driver.
Due to lack of extension ability of ethtool_ops set_pauseparam, a new
ethtool_ops get_pfc_prevention_mode is introduced.
I based this patch set on net-next commit 50895b9de1d3("tcp: highest_sack fix
").
Inbar Karmy (2):
ethtool: Add support for configuring PFC stall prevention in ethtool
net/mlx5e: PFC stall prevention support
.../net/ethernet/mellanox/mlx5/core/en_ethtool.c | 51 ++++++++++++++++++++
drivers/net/ethernet/mellanox/mlx5/core/port.c | 56 ++++++++++++++++++----
include/linux/ethtool.h | 8 ++++
include/linux/mlx5/mlx5_ifc.h | 22 +++++++--
include/linux/mlx5/port.h | 5 ++
include/uapi/linux/ethtool.h | 20 ++++++++
net/core/ethtool.c | 39 +++++++++++++++
7 files changed, 188 insertions(+), 13 deletions(-)
--
1.8.3.1