• John Hurley's avatar
    nfp: flower: offload tunnel decap rules via indirect TC blocks · 3166dd07
    John Hurley authored
    Previously, TC block tunnel decap rules were only offloaded when a
    callback was triggered through registration of the rules egress device.
    This meant that the driver had no access to the ingress netdev and so
    could not verify it was the same tunnel type that the rule implied.
    
    Register tunnel devices for indirect TC block offloads in NFP, giving
    access to new rules based on the ingress device rather than egress. Use
    this to verify the netdev type of VXLAN and Geneve based rules and offload
    the rules to HW if applicable.
    
    Tunnel registration is done via a netdev notifier. On notifier
    registration, this is triggered for already existing netdevs. This means
    that NFP can register for offloads from devices that exist before it is
    loaded (filter rules will be replayed from the TC core). Similarly, on
    notifier unregister, a call is triggered for each currently active netdev.
    This allows the driver to unregister any indirect block callbacks that may
    still be active.
    Signed-off-by: default avatarJohn Hurley <john.hurley@netronome.com>
    Reviewed-by: default avatarJakub Kicinski <jakub.kicinski@netronome.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    3166dd07
offload.c 21.9 KB