-
Notifications
You must be signed in to change notification settings - Fork 64
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deterministic MAC addresses #137
Comments
Hi @nopid, We create a veth pair with random names (automatically assigned by Linux), then one end of the veth is attached to the Linux bridge corresponding to the requested collision domain, and then we just say to Docker: "the other end will be attached to this endpoint", without specifying the interface name, but only the prefix So, during the process we don't know the name of the container (but only the ID of the "network endpoint") and the final name of the network interface. However, we generate the MAC address from the network ID and the endpoint ID (here). I don't know if you can retrieve such information from About |
Hi @Skazza94, Thank you for the explanation and the pointer to the code where you generate the mac address from the network ID and endpoint ID. Of course, as these IDs vary on lab restart the provided mac addresses cannot be used for static DHCP configuration. Reading through both the Docker SDK for Python documentation and the network package for Go documentation, it looks like the Network Plugin can receive drivers options during Join Requests (see |
Hi @nopid, We can pass the dict only with the EDIT: I opened an issue on Dockerpy, let's see what happens! |
Hi @Skazza94, |
Hi @nopid, Some time ago I implemented the Best regards. |
Co-Authored-By: Tommaso Caiazzi <tommasocaiazzi@gmail.com>
Kathará currently has two limitations with respect to Netkit that complicate the deployment of a DHCP server inside a lab.
/etc/hosts
and/etc/resolv.conf
limiting the ability of the DHCP client to change the last one when a DNS server is specified ;To circumvent these limitations, we currently invoke the following shell script from
shared.startup
:where
macaddr
is a small Python script:It might be possible to directly provide these functionality inside Kathará.
The text was updated successfully, but these errors were encountered: