• Daniel Machon's avatar
    net: dcb: add new pcp selector to app object · ec32c0c4
    Daniel Machon authored
    Add new PCP selector for the 8021Qaz APP managed object.
    
    As the PCP selector is not part of the 8021Qaz standard, a new non-std
    extension attribute DCB_ATTR_DCB_APP has been introduced. Also two
    helper functions to translate between selector and app attribute type
    has been added. The new selector has been given a value of 255, to
    minimize the risk of future overlap of std- and non-std attributes.
    
    The new DCB_ATTR_DCB_APP is sent alongside the ieee std attribute in the
    app table. This means that the dcb_app struct can now both contain std-
    and non-std app attributes. Currently there is no overlap between the
    selector values of the two attributes.
    
    The purpose of adding the PCP selector, is to be able to offload
    PCP-based queue classification to the 8021Q Priority Code Point table,
    see 6.9.3 of IEEE Std 802.1Q-2018.
    
    PCP and DEI is encoded in the protocol field as 8*dei+pcp, so that a
    mapping of PCP 2 and DEI 1 to priority 3 is encoded as {255, 10, 3}.
    Signed-off-by: default avatarDaniel Machon <daniel.machon@microchip.com>
    Reviewed-by: default avatarPetr Machata <petrm@nvidia.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    ec32c0c4
dcbnl.c 54.4 KB