• Ido Schimmel's avatar
    mlxsw: spectrum: Map all switch priorities to priority group 0 · dd6cb0f9
    Ido Schimmel authored
    During transmission, the skb's priority is used to map the skb to a
    traffic class, where the idea is to group priorities with similar
    characteristics (e.g. lossy, lossless) to the same traffic class. By
    default, all priorities are mapped to traffic class 0.
    
    In the device, we model the skb's priority as the switch priority, which
    is assigned to a packet according to its PCP value and ingress port
    (untagged packets are assigned the port's default switch priority - 0).
    
    At ingress, the packet is directed to a priority group (PG) buffer in
    the port's headroom buffer according to the packet's switch priority and
    switch priority to buffer mapping.
    
    While it's possible to configure the egress mapping between skb's
    priority (switch priority) and traffic class, there is no mechanism to
    configure the ingress mapping to a PG.
    
    In order to keep things simple and since grouping certain priorities into
    a traffic class at egress also implies they should be grouped the same
    at ingress, treat a PG as the ingress counterpart of an egress traffic
    class.
    
    Having established the above, during initialization map all the switch
    priorities to PG0 in accordance with the Linux defaults for traffic
    class mapping.
    Signed-off-by: default avatarIdo Schimmel <idosch@mellanox.com>
    Signed-off-by: default avatarJiri Pirko <jiri@mellanox.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    dd6cb0f9
spectrum_buffers.c 13 KB