• Alex Vesker's avatar
    net/mlx5e: IPoIB, Modify add/remove underlay QPN flows · 58569ef8
    Alex Vesker authored
    On interface remove, the clean-up was done incorrectly causing
    an error in the log:
    "SET_FLOW_TABLE_ROOT(0x92f) op_mod(0x0) failed...syndrome (0x7e9f14)"
    
    This was caused by the following flow:
    -ndo_uninit:
     Move QP state to RST (this disconnects the QP from FT),
     the QP cannot be attached to any FT unless it is in RTS.
    
    -mlx5_rdma_netdev_free:
     cleanup_rx: Destroy FT
     cleanup_tx: Destroy QP and remove QPN from FT
    
    This caused a problem when destroying current FT we tried to
    re-attach the QP to the next FT which is not needed.
    
    The correct flow is:
    -mlx5_rdma_netdev_free:
    	cleanup_rx: remove QPN from FT & Destroy FT
    	cleanup_tx: Destroy QP
    
    Fixes: 50854114 ("net/mlx5: Use underlay QPN from the root name space")
    Signed-off-by: default avatarAlex Vesker <valex@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    58569ef8
ipoib.c 15.5 KB