diff options
author | Petr Machata <petrm@mellanox.com> | 2020-03-05 09:16:43 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2020-03-05 14:03:32 -0800 |
commit | 7bec1a45d5708a19154b94758802d7c599b99119 (patch) | |
tree | 716a635159e1c2c93130d264b4db6634a43ea80e /drivers/net/ethernet/mellanox/mlxsw/spectrum.c | |
parent | c4e372e2ac7c9752ded23f24d718cad4a8234077 (diff) | |
download | lwn-7bec1a45d5708a19154b94758802d7c599b99119.tar.gz lwn-7bec1a45d5708a19154b94758802d7c599b99119.zip |
mlxsw: spectrum_qdisc: Support offloading of FIFO Qdisc
There are two peculiarities about offloading FIFO:
- sometimes the qdisc has an unspecified handle (it is "invisible")
- it may be created before the qdisc that it will be a child of
These features make the offload a bit more tricky. The approach chosen in
this patch is to make note of all the FIFOs that needed to be rejected
because their parents were not known. Later when the parent is created,
they are offloaded
FIFO is only offloaded for its counters, queue length is ignored.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Signed-off-by: Ido Schimmel <idosch@mellanox.com>
Acked-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlxsw/spectrum.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 673fa2fd995c..51709012593e 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -1783,6 +1783,8 @@ static int mlxsw_sp_setup_tc(struct net_device *dev, enum tc_setup_type type, return mlxsw_sp_setup_tc_ets(mlxsw_sp_port, type_data); case TC_SETUP_QDISC_TBF: return mlxsw_sp_setup_tc_tbf(mlxsw_sp_port, type_data); + case TC_SETUP_QDISC_FIFO: + return mlxsw_sp_setup_tc_fifo(mlxsw_sp_port, type_data); default: return -EOPNOTSUPP; } |