-
Notifications
You must be signed in to change notification settings - Fork 18.6k
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
ARP send request to wrong ip #8269
Comments
Thanks @flycatr for the bug report. Could you provide some additional information (docker version etc), as described in: |
Here are more informations (my machine is ubuntu 14.04):
... and here are how my arp cache looks like during the process: Before running any container.
Start a container, and run pptp client. Client connected to ppp server.
Re-run again (stop & start the same container).
Something is very wrong if arp result is showing Here is my
|
This is my docker command:
|
@flycatr: Can you retry out of master? |
It works! Problem solved. Thank you!!!!
Here are my arp results: Before running any container
Container first run
The same container, stop and start again
Good job @aluzzardi & friends ! 👍 |
Right now, MAC addresses are randomly generated by the kernel when creating the veth interfaces. This causes different issues related to ARP, such as moby#4581, moby#5737 and moby#8269. This change adds support for consistent MAC addresses, guaranteeing that an IP address will always end up with the same MAC address, no matter what. Since IP addresses are already guaranteed to be unique by the IPAllocator, MAC addresses will inherit this property as well for free. Consistent mac addresses is also a requirement for stable networking (moby#8297) since re-using the same IP address on a different MAC address triggers the ARP issue. Finally, this change makes the MAC address accessible through docker inspect, which fixes moby#4033. Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
How to reproduce:
ifconfig
). Check container ip (e.g172.17.0.2
)172.17.0.3
)Analysis:
From tcpdump (
tcpdump -i vethxxxx
), arp is sending request to previous ip172.17.0.2
, but the current container ip is172.17.0.3
. Below is an excerpt from tcpdump output:Workaround:
Restart docker service before running again container -
service docker restart
The text was updated successfully, but these errors were encountered: