Just to be sure (and so that I don't have to test it here :) ): When this patch is applied, batadv_softif_create would already fail when the two namespaces have a batadv interface with the same name because the debugfs function would fail. But it would work when the batman-adv interfaces + the slave interfaces (for per-slave interface information) have different names. Right?
That is correct. As far as i remember, it failed in a good way, i.e. not an opps. Which is why i put this patch first. We could swap the order, have the debugfs patch first, but i though the 'why' of the debugfs patch is probably clearer to somebody who has just reviewed this patch first.
It is currently not prevented that a slave device changes the namespace after it was added. But this should not be a problem because the device will be first removed from the original namespace (so it will be removed from batX) and later added to the target namespace (see dev_change_net_namespace).
Yes, and this is the same mechanism used for other master devices, like bridges, teams/bonding. The slave is hot-unplugged from one name space and hot-plugged into another name space.
Reviewed-by: Sven Eckelmann sven@narfation.org
Thanks Andrew