• Daniel Machon's avatar
    net: microchip: sparx5: add support for DSCP rewrite · 246c77f6
    Daniel Machon authored
    Add support for DSCP rewrite in Sparx5 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.
    
    classified_dscp = qos_dscp_map[8 * dp_level + qos_class];
    if (active_mappings && dscp_is_trusted)
    	rewritten_dscp = classified_dscp
    else
    	rewritten_dscp = frame_dscp
    
    To rewrite DSCP to 20 for any frames with priority 7:
    
    $ dcb apptrust set dev eth0 order dscp
    $ dcb rewr add dev eth0 7:20 <-- not in iproute2/dcb yet
    Signed-off-by: default avatarDaniel Machon <daniel.machon@microchip.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    246c77f6
sparx5_port.c 36.9 KB