From: Jiri Pirko <j...@mellanox.com> 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