[ofa-general] bonding & ipoib patches to support bonding of ipoib devices (was: re [NET]: Fix neighbour destructor handling)

Or Gerlitz ogerlitz at voltaire.com
Sun Apr 22 03:58:22 PDT 2007


Michael S. Tsirkin wrote:
>> I did followed most of the discussions between you and MoniS re the 
>> ipoib/bonding integration in OFED 1.2 and elsewhere, however: i don't 
>> see why "bonding is basically broken for ipoib", if you don't mind, 
>> please tell me the bottom line from your perspective.
> 
> Here's a short summary of issues I saw last time, I'm not sure
> I haven't forgot something but here goes:
> 
> 1.Calling to_ipoib_neigh without device lock taken might be racy
>   I think you need to find another way to find the device.
> 2.Ah kept in the ipoib_neigh might belong to a device which is different
>   from the one start_xmit is called at.
> 3.When the slave device goes down, master does not, and since
>   neighbours are matched to the master there's no guarantee they will be
>   cleaned up.
> 4.Bonding module copies a pointer to the cleanup function in a manner
>   that is unsafe if ipoib is built as a module.
> 
> I think these need to be addressed somehow before the patch's reposted.

Michael, Roland,

Following the high-availability/bonding session at Sonoma, I'd like to 
have a BOF to discuss the issues which from your perspective should be 
addressed before the patch set is merged upstream. Will you be around?

Now, for 1,3,4 above i am quite confident to understand what Michael is 
saying, on what we agree and on what not...

I just need a clarification on (2), can you educate me how can it 
happen? looking on the code (eg the below chains) my understanding is 
that address handles and struct ipoib_neigh are allocated 1:1

Or.

> ipoib_neigh_alloc <-- neigh_add_path   <-- ipoib_path_lookup <-- ipoib_start_xmit
> ipoib_neigh_alloc <-- ipoib_mcast_send <-- ipoib_path_lookup <-- ipoib_start_xmit
> ipoib_neigh_alloc <-- ipoib_mcast_send <-- ipoib_start_xmit

> ipoib_create_ah <-- ipoib_mcast_join_finish
> ipoib_create_ah <-- path_rec_completion







More information about the general mailing list