I'm creating a completely virtual network between different network namespaces on the same host. I'm going to be telling programs to use IPv6 link-local addresses for networking.
One problem I currently have is that the virtual network devices are assigned an initial link-local address but are set in the 'tentative' state while DAD (Duplicate Address Discovery) is done. I would like to assume that this address will not be replaced or removed from the interface.
How bad of an assumption is this if the devices only interact with other virtual devices running on the same host? Is there any way for the kernel to assign the same MAC address to two different virtual devices?
I could just wait for DAD to complete. But that takes 1.8 seconds, and for this application, that is FAR too long. Ideally a program would be up and running in the new network namespace within 10s of µsecs, though 100s of µsecs would probably be acceptable.