-
Notifications
You must be signed in to change notification settings - Fork 18.7k
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
Control plane mtu #34103
Conversation
Waiting for the vendoring of the libnetwork side, but will take CR or comments in the mean time |
@fcrisciani will this help with this problem? #33596 |
@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. |
@friism looks like we support MTU on the overlay: moby/libnetwork#1349, did they try this? |
daemon/config/config.go
Outdated
@@ -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"` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NetworkControlPlaneMTU
?
There was a problem hiding this comment.
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
cmd/dockerd/config.go
Outdated
@@ -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") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
network-control-plane-mtu
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok
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>
1010e70
to
f9f25ca
Compare
@cpuguy83 ready for a second pass |
There was a problem hiding this 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
LGTM |
@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) |
@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)
|
- 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)