Pavel Emelianov wrote: > Patrick McHardy wrote: > >>No, to get unique names the sequence has to be: >> >>dev_alloc_name >>register_netdevice >>dev_alloc_name >>register_netdevice >> >>But you have: >> >>dev_alloc_name >>dev_alloc_name (<- might allocate same name as first call) >>register_netdevice >>register_netdevice > > > Oops :) You're right. That's the problem. I was carried away by > testing the "peer" options and checking for names rather than > "veth%d" to work... > > By the way, that will create some problems. You see, your patches > imply that the register_netdevice() will be called at the very end > of the ->newlink callback. Otherwise, the error path of any code > following the registering will have to call unregister_netdevice() > which will BUG() in free_netdev() in rtnl_newlink() - the device > state will be neither UNINITIALIZED nor UNREGISTERED :(
Thats true. I think you could do: - use name of the supplied device for the second device - register second device - allocate new name for first device - register first device - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html