Skip to content
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

Fix #3200: Generate local mac address for the bridge #3414

Closed
wants to merge 1 commit into from
Closed

Fix #3200: Generate local mac address for the bridge #3414

wants to merge 1 commit into from

Conversation

roylee17
Copy link
Contributor

@roylee17 roylee17 commented Jan 1, 2014

Fix #3200. (require kernel v3.3 or later)

By default, the bridge attaches to the lowest mac address of the
interfaces it enslaves. However, the interfaces are added or deleted
as containers start or stop. So the bridge changes its mac address
from time to time, and causes the network disrupted temporarily.

Kernel 3.3+ and later allows the bridge to have its own mac address.
Once the bridge has its own mac address, it will stick with that one.

Signed-off-by: Tzu-Jung Lee roylee17@gmail.com

Fix #3200. (require kernel v3.3 or later)

By default, the bridge attaches to the lowest mac address of the
interfaces it enslaves. However, the interfaces are added or deleted
as containers start or stop. So the bridge changes its mac address
from time to time, and causes the network disrupted temporarially.

Kernel 3.3+ and later allows the bridge to have its own mac address.
Once the bridge has its own mac address, it will stick with that one.

Signed-off-by: Tzu-Jung Lee <roylee17@gmail.com>
@crosbymichael
Copy link
Contributor

ping @tianon What is our minimum kernel version? 2.4??

@tianon
Copy link
Member

tianon commented Jan 5, 2014

I thought we still had very major cgroups or namespace related issues with lower kernels, and only allowed an explicit exception for RedHat because they've backported fixes?

I know Docker definitely works on a very, very broad spread of kernels now, but I don't know where we've got issues (especially since we've even got kernel panic type issues on 3.10). I think we need to beef up our integration tests and then run them across tons of kernel versions to try and figure out how low we can reasonably support, long term.

So in the context of this specific issue, we can't just assume 3.3+ (and I think that code needs a gofmt as well as a kernel version check).

@crosbymichael
Copy link
Contributor

@roylee17 As of right now we cannot require a kernel of 3.3 as the minimum, sorry.

@roylee17
Copy link
Contributor Author

roylee17 commented Jan 8, 2014

No problem.

Just for future reference, for users hitting this issue as #3200, they can workaround with
setting the mac address for docker0 (kernel v3.3+)

For those with older kernel, the workaround can be adding an dummy interface to the docker0 bridge, and set it to a lower MAC address.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Container networking stops after starting another container on the same host.
3 participants