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

Allow bridge net driver to skip IPv4 configuration of bridge interface #2317

Merged
merged 1 commit into from
Feb 14, 2020

Conversation

gsomlo
Copy link
Contributor

@gsomlo gsomlo commented Dec 24, 2018

Introduce "com.docker.network.bridge.inhibit_ipv4" option to the bridge
network driver. If set, this option will prevent docker from setting or
modifying Layer-3 (IP) configuration on the bridge interface in any way.

This option should allow connecting containers to pre-existing network
segments (with e.g., pre-existing default gateways) while simultaneously
preserving our ability to communicate with the host and/or configure the
properties of the host-side container virtual network interface (e.g.,
delay/loss/jitter via netem), which can not be done using macvlan.

Also see following Moby project issue: moby/moby#37430

Introduce "com.docker.network.bridge.inhibit_ipv4" option to the bridge
network driver. If set, this option will prevent docker from setting or
modifying Layer-3 (IP) configuration on the bridge interface in any way.

This option should allow connecting containers to pre-existing network
segments (with e.g., pre-existing default gateways) while simultaneously
preserving our ability to communicate with the host and/or configure the
properties of the host-side container virtual network interface (e.g.,
delay/loss/jitter via netem), which can not be done using macvlan.

Signed-off-by: Gabriel Somlo <gsomlo@gmail.com>
@thaJeztah
Copy link
Member

ping @fcrisciani PTAL

Copy link
Contributor

@selansen selansen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry took a while to review this. Thanks for adding this change.

LGTM

@selansen
Copy link
Contributor

selansen commented Jul 7, 2019

@gsomlo , Can you pls add one test case to cover this new change and make sure we don't regress?

@arkodg
Copy link
Contributor

arkodg commented Jul 12, 2019

@gsomlo this PR looks good for East-West traffic (pinging between two Docker containers on the same bridge network) has North-South (ping www.google.com) been verified as well ?

Copy link
Contributor

@arkodg arkodg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@gsomlo approving this PR, assuming that its the user's job to take of the Host Layer-3 plumbing for this case

@terryburton
Copy link

If the patches look good, is there a next step that the community can do to help progress this and the corresponding Moby commit, moby/moby#37430?

@arkodg arkodg merged commit 062641d into moby:master Feb 14, 2020
thaJeztah added a commit to thaJeztah/docker that referenced this pull request Feb 17, 2020
full diff: moby/libnetwork@feeff4f...6659f7f

includes:

- moby/libnetwork#2317 Allow bridge net driver to skip IPv4 configuration of bridge interface
    - adds support for a `com.docker.network.bridge.inhibit_ipv4` label/configuration
    - addresses moby#37430 Prevent bridge network driver from setting IPv4 address on bridge interface
- moby/libnetwork#2454 Support for com.docker.network.host_ipv4 driver label
    - addresses moby#30053 Unable to choose outbound (external) IP for containers
- moby/libnetwork#2491 Improving load balancer performance
    - addresses moby#35082 [SWARM] Very poor performance for ingress network with lots of parallel requests

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
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.

5 participants