Add overlay network support in < 3.16 kernels#821
Merged
aboch merged 1 commit intomoby:masterfrom Dec 17, 2015
Merged
Conversation
Contributor
|
👍 This is a good news. We use 3.10.74 kernel on most of the machines in our company. |
drivers/overlay/filter.go
Outdated
Contributor
There was a problem hiding this comment.
I think it is better to name this DOCKER-OVERLAY ?
Contributor
Author
There was a problem hiding this comment.
Ok, will change name.
Contributor
|
@mrjana just some minor nits... but otherwise a big 👍 from me. |
Add support for overlay networking in older kernels.
Following were done to achieve this:
+ Create the vxlan network in host namespace.
+ This may create conflicts with other private
networks so check for conflicts and fail a
join if there is any conflict.
+ Add iptable based filtering to only allow
subnet bridges in the same network to forward
traffic while different network bridges will
not be able to forward b/w each other. Also
block traffic to overlay network originating
from the host itself.
Signed-off-by: Jana Radhakrishnan <mrjana@docker.com>
Contributor
Author
|
Updated with addressing the PR comments |
|
LGTM |
1 similar comment
Contributor
|
LGTM |
aboch
added a commit
that referenced
this pull request
Dec 17, 2015
Add overlay network support in < 3.16 kernels
Contributor
|
🎉 🎉 🎉 |
This was referenced Dec 17, 2015
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Feb 15, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. Thus, this host mode is considered dead. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Feb 16, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. Thus, this host mode is considered dead. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Feb 16, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. Thus, this host mode is considered dead. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Mar 2, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. Thus, this host mode is considered dead. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Mar 2, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. Thus, this host mode is considered dead. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Mar 31, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. This mode could be forced through the use of the env var _OVERLAY_HOST_MODE. However this env var has never been documented and is not referenced in any blog post, so there's little chance many people rely on it. Moreover, this host mode is deemed as an implementation details by maintainers. As such, we can consider it dead and we can remove it without a prior deprecation warning. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
akerouanton
added a commit
to akerouanton/docker
that referenced
this pull request
Apr 6, 2023
Linux kernel prior to v3.16 was not supporting netns for vxlan interfaces. As such, moby/libnetwork#821 introduced a "host mode" to the overlay driver. The related kernel fix is available for rhel7 users since v7.2. This mode could be forced through the use of the env var _OVERLAY_HOST_MODE. However this env var has never been documented and is not referenced in any blog post, so there's little chance many people rely on it. Moreover, this host mode is deemed as an implementation details by maintainers. As such, we can consider it dead and we can remove it without a prior deprecation warning. Signed-off-by: Albin Kerouanton <albinker@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add support for overlay networking in older kernels.
Following were done to achieve this:
+ Create the vxlan network in host namespace.
+ This may create conflicts with other private
networks so check for conflicts and fail a
join if there is any conflict.
+ Add iptable based filtering to only allow
subnet bridges in the same network to forward
traffic while different network bridges will
not be able to forward b/w each other. Also
block traffic to overlay network originating
from the host itself.
Signed-off-by: Jana Radhakrishnan mrjana@docker.com