On Fri, Mar 23, 2018 at 03:39:12PM -0700, Saeed Mahameed wrote: > From: Inbar Karmy <inb...@mellanox.com> > > 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 <inb...@mellanox.com> > Cc: Michal Kubecek <mkube...@suse.cz> > Cc: Andrew Lunn <and...@lunn.ch> > Signed-off-by: Saeed Mahameed <sae...@mellanox.com> > --- > 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