Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Control plane mtu #34103

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

Merged
merged 2 commits into from
Jul 28, 2017
Merged

Control plane mtu #34103

merged 2 commits into from
Jul 28, 2017

Conversation

fcrisciani
Copy link
Contributor

- What I did
Add the control plane MTU option in the daemon config. This will be useful in clusters with
MTU higher than 1500. The first user of this option will be libnetwork that will use it to
seed the networkDB library.

- Description for the changelog

Add the control plane MTU option in the daemon config

- A picture of a cute animal (not mandatory but encouraged)

funny-cute-animal-pics-part119-17-w630

@fcrisciani
Copy link
Contributor Author

Waiting for the vendoring of the libnetwork side, but will take CR or comments in the mean time

@friism
Copy link
Contributor

friism commented Jul 14, 2017

@fcrisciani will this help with this problem? #33596

@fcrisciani
Copy link
Contributor Author

@friism unfortunately nope, this is for control plane traffic, that is instead data plane traffic issue. Good to know though because gossip cap the packet at 1400, so this feature with Microsoft node most likely won't work till they fix it.

@fcrisciani
Copy link
Contributor Author

@friism looks like we support MTU on the overlay: moby/libnetwork#1349, did they try this?

@@ -168,6 +168,9 @@ type CommonConfig struct {
ValuesSet map[string]interface{}

Experimental bool `json:"experimental"` // Experimental indicates whether experimental features should be exposed or not

// ControlPlaneMTU allows to specify the control plane MTU, this will allow to optimize the network use in some components
ControlPlaneMTU int `json:"control-plane-mtu,omitempty"`
Copy link
Member

Choose a reason for hiding this comment

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

NetworkControlPlaneMTU?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

sure, I will update it with once the libnetwork side is ready

@@ -62,6 +62,8 @@ func installCommonConfigFlags(conf *config.Config, flags *pflag.FlagSet) {

flags.StringVar(&conf.MetricsAddress, "metrics-addr", "", "Set default address and port to serve the metrics api on")

flags.IntVar(&conf.ControlPlaneMTU, "control-plane-mtu", config.DefaultNetworkMtu, "Control plane MTU")
Copy link
Member

Choose a reason for hiding this comment

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

network-control-plane-mtu?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok

Flavio Crisciani added 2 commits July 28, 2017 13:51
Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
Add daemon config to allow the user to specify the MTU of the control plane network.
The first user of this new parameter is actually libnetwork that can seed the
gossip with the proper MTU value allowing to pack multiple messages per UDP packet sent.
If the value is not specified or is lower than 1500 the logic will set it to the default.

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
@fcrisciani
Copy link
Contributor Author

@cpuguy83 ready for a second pass

Copy link
Member

@cpuguy83 cpuguy83 left a comment

Choose a reason for hiding this comment

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

Code and Design LGTM

@vieux
Copy link
Contributor

vieux commented Jul 28, 2017

LGTM

@thaJeztah
Copy link
Member

If the value is not specified or is lower than 1500 the logic will set it to the default.

@fcrisciani should values lower than 1500 produce an error instead of silently ignoring? I can see it being unexpected if someone sets a lower value and it's not being used (or; if lower values become valid in future, they become active after updating to a newer version)

@fcrisciani
Copy link
Contributor Author

@thaJeztah in reality that is a comment that did not get updated, on the libnetwork side we decided to allow any configuration but we will log a warning (https://github.com/docker/libnetwork/blob/bump_17.07/config/config.go#L231)

if exp < 1500 {
     logrus.Warnf("Received a MTU of %d, this value is very low, the network control plane can misbehave", exp)
}

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

Successfully merging this pull request may close these issues.

7 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.