[openib-general] [PATCH] IB/ipoib get net_device from ipoib_neigh instead of linux neighbour
Moni Shoua
monis at voltaire.com
Wed Feb 7 07:35:58 PST 2007
> Another concern: assume that one device goes away (e.g. hotplug).
> It seems that neighbours whose dev field point to another device, will not be destroyed.
> Correct?
I agree.
>
> Therefore in your design, it seems that to_ipoib_neigh()->dev
> will get us a pointer to device that has been removed already.
>
I agree that this is a problem. It think it would be best to prevent an IPoIB device
from disappearing or from ib_ipoib from being unloaded as long as IPoIB
device is a slave. Unfortunately, I don't see how this can be done just
by fixing something in bonding or IPoIB.
However, any slave knows he has a master (dev->master).
What do you think about a solution where IPoIB first tries to clean up the
neighbours that belong to it's master before deleting the IPoIB device?
>> Furthermore, bond_setup_by_slave is called only for non
>> Ethernet devices (we consider to change the logic to "called only for
>> IPoIB devices just for safety).
>
> Why is this necessary, BTW?
>
If we don't do that, we get a memory leak because the neigh destructor will
never be called for non IPoIB devices although they carry ipoib_neigh
with them.
More information about the general
mailing list