• John Hurley's avatar
    net: sched: allow indirect blocks to bind to clsact in TC · 25a443f7
    John Hurley authored
    When a device is bound to a clsact qdisc, bind events are triggered to
    registered drivers for both ingress and egress. However, if a driver
    registers to such a device using the indirect block routines then it is
    assumed that it is only interested in ingress offload and so only replays
    ingress bind/unbind messages.
    
    The NFP driver supports the offload of some egress filters when
    registering to a block with qdisc of type clsact. However, on unregister,
    if the block is still active, it will not receive an unbind egress
    notification which can prevent proper cleanup of other registered
    callbacks.
    
    Modify the indirect block callback command in TC to send messages of
    ingress and/or egress bind depending on the qdisc in use. NFP currently
    supports egress offload for TC flower offload so the changes are only
    added to TC.
    
    Fixes: 4d12ba42 ("nfp: flower: allow offloading of matches on 'internal' ports")
    Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
    Acked-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    25a443f7
cls_api.c 90.3 KB