• Maksym Glubokiy's avatar
    net: prestera: manage matchall and flower priorities · 44af9571
    Maksym Glubokiy authored
    matchall rules can be added only to chain 0 and their priorities have
    limitations:
     - new matchall ingress rule's priority must be higher (lower value)
       than any existing flower rule;
     - new matchall egress rule's priority must be lower (higher value)
       than any existing flower rule.
    
    The opposite works for flower rule adding:
     - new flower ingress rule's priority must be lower (higher value)
       than any existing matchall rule;
     - new flower egress rule's priority must be higher (lower value)
       than any existing matchall rule.
    
    This is a hardware limitation and thus must be properly handled in
    driver by reporting errors to the user when newly added rule has such a
    priority that cannot be installed into the hardware.
    
    To achieve this, the driver must maintain both min/max matchall
    priorities for every flower block when user adds/deletes a matchall
    rule, as well as both min/max flower priorities for chain 0 for every
    adding/deletion of flower rules for chain 0.
    
    Cc: Serhiy Boiko <serhiy.boiko@plvision.eu>
    Signed-off-by: default avatarMaksym Glubokiy <maksym.glubokiy@plvision.eu>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    44af9571
prestera_flower.c 15.4 KB