net: lan966x: Add support for DSCP rewrite
authorHoratiu Vultur <horatiu.vultur@microchip.com>
Tue, 16 May 2023 20:14:08 +0000 (22:14 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 18 May 2023 13:32:10 +0000 (15:32 +0200)
commitd38ddd56d90eb156b2708637403fd8a936c0113a
tree839c8372813009ce57977e8a8dc8330e3c9efe2d
parent363f98b96a43f11cb4c6e4d69199d656d2e5b373
net: lan966x: Add support for DSCP rewrite

Add support for DSCP rewrite in lan966x driver. On egress DSCP is
rewritten from either classified DSCP, or frame DSCP. Classified DSCP is
determined by the Analyzer Classifier on ingress, and is mapped from
classified QoS class and DP level. Classification of DSCP is by default
enabled for all ports.

It is required that DSCP is trusted for the egress port *and* rewrite
table is not empty, in order to rewrite DSCP based on classified DSCP,
otherwise DSCP is always rewritten from frame DSCP.

Reviewed-by: Daniel Machon <daniel.machon@microchip.com>
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/microchip/lan966x/lan966x_dcb.c
drivers/net/ethernet/microchip/lan966x/lan966x_main.h
drivers/net/ethernet/microchip/lan966x/lan966x_port.c