Fixed docker.internal.gateway not displaying properly on live restore

Also includes review suggestions in daemon.initNetworkController():

- update godoc for setHostGatewayIP()
- change setHostGatewayIP() to get config, instead of daemon
- remove redundant nil check for controller

Signed-off-by: sanchayanghosh <sanchayanghosh@outlook.com>
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
sanchayanghosh 2021-08-26 01:21:59 +05:30 committed by Sebastiaan van Stijn
parent aef8e48172
commit 894230b82d
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C

View file

@ -869,6 +869,7 @@ func (daemon *Daemon) initNetworkController(config *config.Config, activeSandbox
if len(activeSandboxes) > 0 {
logrus.Info("There are old running containers, the network config will not take affect")
setHostGatewayIP(daemon.configStore, controller)
return controller, nil
}
@ -906,21 +907,28 @@ func (daemon *Daemon) initNetworkController(config *config.Config, activeSandbox
}
// Set HostGatewayIP to the default bridge's IP if it is empty
if daemon.configStore.HostGatewayIP == nil && controller != nil {
if n, err := controller.NetworkByName("bridge"); err == nil {
v4Info, v6Info := n.Info().IpamInfo()
var gateway net.IP
if len(v4Info) > 0 {
gateway = v4Info[0].Gateway.IP
} else if len(v6Info) > 0 {
gateway = v6Info[0].Gateway.IP
}
daemon.configStore.HostGatewayIP = gateway
}
}
setHostGatewayIP(daemon.configStore, controller)
return controller, nil
}
// setHostGatewayIP sets cfg.HostGatewayIP to the default bridge's IP if it is empty.
func setHostGatewayIP(config *config.Config, controller libnetwork.NetworkController) {
if config.HostGatewayIP != nil {
return
}
if n, err := controller.NetworkByName("bridge"); err == nil {
v4Info, v6Info := n.Info().IpamInfo()
var gateway net.IP
if len(v4Info) > 0 {
gateway = v4Info[0].Gateway.IP
} else if len(v6Info) > 0 {
gateway = v6Info[0].Gateway.IP
}
config.HostGatewayIP = gateway
}
}
func driverOptions(config *config.Config) []nwconfig.Option {
bridgeConfig := options.Generic{
"EnableIPForwarding": config.BridgeConfig.EnableIPForward,