• Matan Barak's avatar
    IB/core: Add RoCE table bonding support · 238fdf48
    Matan Barak authored
    Handling bonding and other devices require us to all all GIDs of the
    net-devices which are upper-devices of the RoCE port related
    net-device.
    
    Active-backup configurations imposes even more challenges as the
    default GID should only be set on the active devices (this is
    necessary as otherwise the same MAC could be used for several
    slaves and thus several slaves will have identical GIDs).
    
    Managing these configurations are done by listening to:
    (a) NETDEV_CHANGEUPPER event
    	(1) if a related net-device is linked, delete all inactive
    	    slaves default GIDs and add the upper device GIDs.
    	(2) if a related net-device is unlinked, delete all upper GIDs
    	    and add the default GIDs.
    (b) NETDEV_BONDING_FAILOVER:
    	(1) delete the bond GIDs from inactive slaves
    	(2) delete the inactive slave's default GIDs
    	(3) Add the bond GIDs to the active slave.
    Signed-off-by: default avatarMatan Barak <matanb@mellanox.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    238fdf48
roce_gid_mgmt.c 18.8 KB