On Wed, Nov 27, 2024 at 07:46:39PM +0000, Long Li wrote: > > > > > I think Konstantin's suggestion makes sense, how about we do this > > > > (don't need to define netdev_is_slave(dev)): > > > > > > > > --- a/drivers/infiniband/core/roce_gid_mgmt.c > > > > +++ b/drivers/infiniband/core/roce_gid_mgmt.c > > > > @@ -161,7 +161,7 @@ is_eth_port_of_netdev_filter(struct ib_device > > > > *ib_dev, u32 port, > > > > res = ((rdma_is_upper_dev_rcu(rdma_ndev, cookie) && > > > > (is_eth_active_slave_of_bonding_rcu(rdma_ndev, real_dev) & > > > > REQUIRED_BOND_STATES)) || > > > > - real_dev == rdma_ndev); > > > > + (real_dev == rdma_ndev && > > > > + !netif_is_bond_slave(rdma_ndev))); > > > > > > > > rcu_read_unlock(); > > > > return res; > > > > > > > > > > > > is_eth_port_of_netdev_filter() should not return true if this netdev > > > > is a bonded slave. In this case, only use the address of its bonded master. > > > > > > > Right. This change makes sense to me. > > > I don't have a setup presently to verify it to ensure I didn't miss a corner case. > > > Leon, > > > Can you or others please test the regression once with the formal patch? > > > > Sure, once Long will send the patch, I'll make sure that it is tested. > > > > Thanks > > > > I posted patches for discussion. > https://lore.kernel.org/linux-rdma/1732736619-19941-1-git-send-email-longli@xxxxxxxxxxxxxxxxx/T/#t Please resend these patches as series with cover letter and don't embed extra patch (the one which is not numbered) into the series. Thanks > > Thank you, > Long >