On Fri, Mar 23, 2018 at 03:39:12PM -0700, Saeed Mahameed wrote:
> From: Inbar Karmy <[email protected]>
>
> 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, when the device is stalled for a period
> longer than a pre-configured timeout, flow control mechanisms are
> automatically disabled.
>
> This patch adds support for the ETHTOOL_PFC_STALL_PREVENTION
> as a tunable.
> This API provides support for configuring flow control storm prevention
> timeout (msec).
>
> Signed-off-by: Inbar Karmy <[email protected]>
> Cc: Michal Kubecek <[email protected]>
> Cc: Andrew Lunn <[email protected]>
> Signed-off-by: Saeed Mahameed <[email protected]>
> ---
> include/uapi/linux/ethtool.h | 4 ++++
> net/core/ethtool.c | 6 ++++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/include/uapi/linux/ethtool.h b/include/uapi/linux/ethtool.h
> index 20da156aaf64..9dc63a14a747 100644
> --- a/include/uapi/linux/ethtool.h
> +++ b/include/uapi/linux/ethtool.h
> @@ -217,10 +217,14 @@ struct ethtool_value {
> __u32 data;
> };
>
> +#define PFC_STORM_PREVENTION_AUTO 0xffff
> +#define PFC_STORM_PREVENTION_DISABLE 0
> +
> enum tunable_id {
> ETHTOOL_ID_UNSPEC,
> ETHTOOL_RX_COPYBREAK,
> ETHTOOL_TX_COPYBREAK,
> + ETHTOOL_PFC_PREVENTION_TOUT,
Hi Inbar
Please could you add a comment here about the units. Ideally we want
this file to be self documenting.
Andrew