From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jiri Pirko Subject: [patch net-next 00/11] mlxsw qdisc refactoring Date: Wed, 10 Jan 2018 14:59:56 +0100 Message-ID: <20180110140007.28924-1-jiri@resnulli.us> Cc: nogahf@mellanox.com, davem@davemloft.net, idosch@mellanox.com, mlxsw@mellanox.com, jhs@mojatatu.com, xiyou.wangcong@gmail.com To: netdev@vger.kernel.org Return-path: Received: from mail-wr0-f194.google.com ([209.85.128.194]:40248 "EHLO mail-wr0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751062AbeAJOAJ (ORCPT ); Wed, 10 Jan 2018 09:00:09 -0500 Received: by mail-wr0-f194.google.com with SMTP id 100so1459726wrb.7 for ; Wed, 10 Jan 2018 06:00:08 -0800 (PST) Sender: netdev-owner@vger.kernel.org List-ID: From: Jiri Pirko This patchset refactors the qdisc handling in mlxsw driver in order to make it more object oriented like. It helps readability, laying the groundwork for the offloading of additional qdiscs by the driver This patchset also makes the qdiscs statistics more generic. Patch 1 moves the qdiscs declaration to the spectrum_qdisc.c Patches 2-3 clean the offloaded stats requests. Patch 2 changes the RED generic stats struct to be sharable by other offloaded qdiscs. Patch 3 changes the xstats request to be like the stats. Note that these patches are outside the driver scope. Patches 4-5 clean the statistics related functions and structs within the driver. Patches 6-7 decrease the need for the same parameters to be sent to many functions. Patches 8-11 create a functions pointers struct, to make the qdiscs handling more object oriented like. Nogah Frankel (11): mlxsw: spectrum: qdiscs: Move qdisc's declarations to its designated file net: sch: red: Change the name of the stats struct to be generic net: sch: red: Change offloaded xstats to be incremental mlxsw: spectrum: qdiscs: Clean qdisc statistics structs mlxsw: spectrum: qdiscs: Make the clean stats function to be for RED only mlxsw: spectrum: qdiscs: Add tclass number to the mlxsw_sp_qdisc mlxsw: spectrum: qdiscs: Unite all handle checks mlxsw: spectrum: qdiscs: Add an ops struct mlxsw: spectrum: qdiscs: Create a generic destroy function mlxsw: spectrum: qdiscs: Create a generic replace function mlxsw: spectrum: qdiscs: Remove qdisc before setting a new one drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 10 + drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 27 +- .../net/ethernet/mellanox/mlxsw/spectrum_qdisc.c | 362 ++++++++++++++------- include/net/pkt_cls.h | 11 +- net/sched/sch_red.c | 24 +- 5 files changed, 280 insertions(+), 154 deletions(-) -- 2.14.3