• Vladimir Oltean's avatar
    net: dsa: don't use switchdev_notifier_fdb_info in dsa_switchdev_event_work · c4bb76a9
    Vladimir Oltean authored
    Currently DSA doesn't add FDB entries on the CPU port, because it only
    does so through switchdev, which is associated with a net_device, and
    there are none of those for the CPU port.
    
    But actually FDB addresses on the CPU port have some use cases of their
    own, if the switchdev operations are initiated from within the DSA
    layer. There is just one problem with the existing code: it passes a
    structure in dsa_switchdev_event_work which was retrieved directly from
    switchdev, so it contains a net_device. We need to generalize the
    contents to something that covers the CPU port as well: the "ds, port"
    tuple is fine for that.
    
    Note that the new procedure for notifying the successful FDB offload is
    inspired from the rocker model.
    
    Also, nothing was being done if added_by_user was false. Let's check for
    that a lot earlier, and don't actually bother to schedule the worker
    for nothing.
    Signed-off-by: default avatarVladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    c4bb76a9
slave.c 55.2 KB