1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Delete veth on ep leave in overlay driver

Signed-off-by: Alessandro Boch <aboch@docker.com>
This commit is contained in:
Alessandro Boch 2016-01-06 13:30:03 -08:00
parent dfea2836a5
commit fe2fa218d8
2 changed files with 15 additions and 3 deletions

View file

@ -54,6 +54,8 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo,
return err
}
ep.ifName = name2
// Set the container interface and its peer MTU to 1450 to allow
// for 50 bytes vxlan encap (inner eth header(14) + outer IP(20) +
// outer UDP(8) + vxlan header(8))
@ -134,5 +136,14 @@ func (d *driver) Leave(nid, eid string) error {
n.leaveSandbox()
link, err := netlink.LinkByName(ep.ifName)
if err != nil {
log.Warnf("Failed to retrieve interface link for interface removal on endpoint leave: %v", err)
return nil
}
if err := netlink.LinkDel(link); err != nil {
log.Warnf("Failed to delete interface link on endpoint leave: %v", err)
}
return nil
}

View file

@ -11,9 +11,10 @@ import (
type endpointTable map[string]*endpoint
type endpoint struct {
id string
mac net.HardwareAddr
addr *net.IPNet
id string
ifName string
mac net.HardwareAddr
addr *net.IPNet
}
func (n *network) endpoint(eid string) *endpoint {