mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
Ipvlan internal network should not change gw
Since docker container can be connected to combination of several internal and external networks change of default gateway of the internal ones breaks communication via the external ones. This fixes only ipvlan network type Signed-off-by: Pavel Matěja <pavel@verotel.cz>
This commit is contained in:
parent
66a82d7268
commit
76bccc5ad4
1 changed files with 62 additions and 51 deletions
|
@ -50,6 +50,7 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo,
|
|||
if ep == nil {
|
||||
return fmt.Errorf("could not find endpoint with id %s", eid)
|
||||
}
|
||||
if !n.config.Internal {
|
||||
if n.config.IpvlanMode == modeL3 {
|
||||
// disable gateway services to add a default gw using dev eth0 only
|
||||
jinfo.DisableGatewayService()
|
||||
|
@ -111,6 +112,16 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo,
|
|||
ep.addrv6.IP.String(), v6gw.String(), n.config.IpvlanMode, n.config.Parent)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if len(n.config.Ipv4Subnets) > 0 {
|
||||
logrus.Debugf("Ipvlan Endpoint Joined with IPv4_Addr: %s, IpVlan_Mode: %s, Parent: %s",
|
||||
ep.addr.IP.String(), n.config.IpvlanMode, n.config.Parent)
|
||||
}
|
||||
if len(n.config.Ipv6Subnets) > 0 {
|
||||
logrus.Debugf("Ipvlan Endpoint Joined with IPv6_Addr: %s IpVlan_Mode: %s, Parent: %s",
|
||||
ep.addrv6.IP.String(), n.config.IpvlanMode, n.config.Parent)
|
||||
}
|
||||
}
|
||||
iNames := jinfo.InterfaceName()
|
||||
err = iNames.SetNames(vethName, containerVethPrefix)
|
||||
if err != nil {
|
||||
|
|
Loading…
Add table
Reference in a new issue