mirror of
				https://github.com/moby/moby.git
				synced 2022-11-09 12:21:53 -05:00 
			
		
		
		
	Merge pull request #34539 from fcrisciani/ln-vendoring
Libnetwork vendoring
This commit is contained in:
		
						commit
						0e0b853021
					
				
					 6 changed files with 22 additions and 24 deletions
				
			
		| 
						 | 
				
			
			@ -27,7 +27,7 @@ github.com/imdario/mergo 0.2.1
 | 
			
		|||
golang.org/x/sync de49d9dcd27d4f764488181bea099dfe6179bcf0
 | 
			
		||||
 | 
			
		||||
#get libnetwork packages
 | 
			
		||||
github.com/docker/libnetwork 2719c60fbd40d894a9cdabf95d2facbd14d2ba75
 | 
			
		||||
github.com/docker/libnetwork 5b28c0ec98236c489e39ae6a9e1aeb802e071681
 | 
			
		||||
github.com/docker/go-events 9461782956ad83b30282bf90e31fa6a70c255ba9
 | 
			
		||||
github.com/armon/go-radix e39d623f12e8e41c7b5529e9a9dd67a1e2261f80
 | 
			
		||||
github.com/armon/go-metrics eb0af217e5e9747e41dd5303755356b62d28e3ec
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										6
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/joinleave.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/joinleave.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -120,7 +120,7 @@ func (d *driver) Join(nid, eid string, sboxKey string, jinfo driverapi.JoinInfo,
 | 
			
		|||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	d.peerAdd(nid, eid, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), true, false, false, true)
 | 
			
		||||
	d.peerAdd(nid, eid, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), false, false, true)
 | 
			
		||||
 | 
			
		||||
	if err := d.checkEncryption(nid, nil, n.vxlanID(s), true, true); err != nil {
 | 
			
		||||
		logrus.Warn(err)
 | 
			
		||||
| 
						 | 
				
			
			@ -200,11 +200,11 @@ func (d *driver) EventNotify(etype driverapi.EventType, nid, tableName, key stri
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	if etype == driverapi.Delete {
 | 
			
		||||
		d.peerDelete(nid, eid, addr.IP, addr.Mask, mac, vtep, true)
 | 
			
		||||
		d.peerDelete(nid, eid, addr.IP, addr.Mask, mac, vtep)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	d.peerAdd(nid, eid, addr.IP, addr.Mask, mac, vtep, true, false, false, false)
 | 
			
		||||
	d.peerAdd(nid, eid, addr.IP, addr.Mask, mac, vtep, false, false, false)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Leave method is invoked when a Sandbox detaches from an endpoint.
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										7
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										7
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/ov_network.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -8,6 +8,7 @@ import (
 | 
			
		|||
	"os"
 | 
			
		||||
	"os/exec"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"runtime"
 | 
			
		||||
	"strconv"
 | 
			
		||||
	"strings"
 | 
			
		||||
	"sync"
 | 
			
		||||
| 
						 | 
				
			
			@ -81,6 +82,10 @@ func setDefaultVlan() {
 | 
			
		|||
		logrus.Error("insufficient number of arguments")
 | 
			
		||||
		os.Exit(1)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	runtime.LockOSThread()
 | 
			
		||||
	defer runtime.UnlockOSThread()
 | 
			
		||||
 | 
			
		||||
	nsPath := os.Args[1]
 | 
			
		||||
	ns, err := netns.GetFromPath(nsPath)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
| 
						 | 
				
			
			@ -767,7 +772,7 @@ func (n *network) watchMiss(nlSock *nl.NetlinkSocket) {
 | 
			
		|||
					logrus.Errorf("could not resolve peer %q: %v", ip, err)
 | 
			
		||||
					continue
 | 
			
		||||
				}
 | 
			
		||||
				n.driver.peerAdd(n.id, "dummy", ip, IPmask, mac, vtep, true, l2Miss, l3Miss, false)
 | 
			
		||||
				n.driver.peerAdd(n.id, "dummy", ip, IPmask, mac, vtep, l2Miss, l3Miss, false)
 | 
			
		||||
			} else {
 | 
			
		||||
				// If the gc_thresh values are lower kernel might knock off the neighor entries.
 | 
			
		||||
				// When we get a L3 miss check if its a valid peer and reprogram the neighbor
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										5
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/ov_serf.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										5
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/ov_serf.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -120,10 +120,9 @@ func (d *driver) processEvent(u serf.UserEvent) {
 | 
			
		|||
 | 
			
		||||
	switch action {
 | 
			
		||||
	case "join":
 | 
			
		||||
		d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr),
 | 
			
		||||
			true, false, false, false)
 | 
			
		||||
		d.peerAdd(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), false, false, false)
 | 
			
		||||
	case "leave":
 | 
			
		||||
		d.peerDelete(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr), true)
 | 
			
		||||
		d.peerDelete(nid, eid, net.ParseIP(ipStr), net.IPMask(net.ParseIP(maskStr).To4()), mac, net.ParseIP(vtepStr))
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										2
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/overlay.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/overlay.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -170,7 +170,7 @@ func (d *driver) restoreEndpoints() error {
 | 
			
		|||
		}
 | 
			
		||||
 | 
			
		||||
		n.incEndpointCount()
 | 
			
		||||
		d.peerAdd(ep.nid, ep.id, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), true, false, false, true)
 | 
			
		||||
		d.peerAdd(ep.nid, ep.id, ep.addr.IP, ep.addr.Mask, ep.mac, net.ParseIP(d.advertiseAddress), false, false, true)
 | 
			
		||||
	}
 | 
			
		||||
	return nil
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										24
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go
									
										
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								vendor/github.com/docker/libnetwork/drivers/overlay/peerdb.go
									
										
									
										generated
									
									
										vendored
									
									
								
							| 
						 | 
				
			
			@ -234,7 +234,6 @@ type peerOperation struct {
 | 
			
		|||
	peerIPMask net.IPMask
 | 
			
		||||
	peerMac    net.HardwareAddr
 | 
			
		||||
	vtepIP     net.IP
 | 
			
		||||
	updateDB   bool
 | 
			
		||||
	l2Miss     bool
 | 
			
		||||
	l3Miss     bool
 | 
			
		||||
	localPeer  bool
 | 
			
		||||
| 
						 | 
				
			
			@ -252,9 +251,9 @@ func (d *driver) peerOpRoutine(ctx context.Context, ch chan *peerOperation) {
 | 
			
		|||
			case peerOperationINIT:
 | 
			
		||||
				err = d.peerInitOp(op.networkID)
 | 
			
		||||
			case peerOperationADD:
 | 
			
		||||
				err = d.peerAddOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.updateDB, op.l2Miss, op.l3Miss, op.localPeer)
 | 
			
		||||
				err = d.peerAddOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.l2Miss, op.l3Miss, true, op.localPeer)
 | 
			
		||||
			case peerOperationDELETE:
 | 
			
		||||
				err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP, op.updateDB)
 | 
			
		||||
				err = d.peerDeleteOp(op.networkID, op.endpointID, op.peerIP, op.peerIPMask, op.peerMac, op.vtepIP)
 | 
			
		||||
			}
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				logrus.Warnf("Peer operation failed:%s op:%v", err, op)
 | 
			
		||||
| 
						 | 
				
			
			@ -279,14 +278,14 @@ func (d *driver) peerInitOp(nid string) error {
 | 
			
		|||
			return false
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		d.peerAddOp(nid, pEntry.eid, pKey.peerIP, pEntry.peerIPMask, pKey.peerMac, pEntry.vtep, false, false, false, false)
 | 
			
		||||
		d.peerAddOp(nid, pEntry.eid, pKey.peerIP, pEntry.peerIPMask, pKey.peerMac, pEntry.vtep, false, false, false, pEntry.isLocal)
 | 
			
		||||
		// return false to loop on all entries
 | 
			
		||||
		return false
 | 
			
		||||
	})
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, updateDb, l2Miss, l3Miss, localPeer bool) {
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, l2Miss, l3Miss, localPeer bool) {
 | 
			
		||||
	callerName := common.CallerName(1)
 | 
			
		||||
	d.peerOpCh <- &peerOperation{
 | 
			
		||||
		opType:     peerOperationADD,
 | 
			
		||||
| 
						 | 
				
			
			@ -296,7 +295,6 @@ func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		|||
		peerIPMask: peerIPMask,
 | 
			
		||||
		peerMac:    peerMac,
 | 
			
		||||
		vtepIP:     vtep,
 | 
			
		||||
		updateDB:   updateDb,
 | 
			
		||||
		l2Miss:     l2Miss,
 | 
			
		||||
		l3Miss:     l3Miss,
 | 
			
		||||
		localPeer:  localPeer,
 | 
			
		||||
| 
						 | 
				
			
			@ -305,13 +303,13 @@ func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, updateDb, l2Miss, l3Miss, updateOnlyDB bool) error {
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, l2Miss, l3Miss, updateDB, updateOnlyDB bool) error {
 | 
			
		||||
 | 
			
		||||
	if err := validateID(nid, eid); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if updateDb {
 | 
			
		||||
	if updateDB {
 | 
			
		||||
		d.peerDbAdd(nid, eid, peerIP, peerIPMask, peerMac, vtep, false)
 | 
			
		||||
		if updateOnlyDB {
 | 
			
		||||
			return nil
 | 
			
		||||
| 
						 | 
				
			
			@ -368,7 +366,7 @@ func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask
 | 
			
		|||
}
 | 
			
		||||
 | 
			
		||||
func (d *driver) peerDelete(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, updateDb bool) {
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP) {
 | 
			
		||||
	callerName := common.CallerName(1)
 | 
			
		||||
	d.peerOpCh <- &peerOperation{
 | 
			
		||||
		opType:     peerOperationDELETE,
 | 
			
		||||
| 
						 | 
				
			
			@ -378,22 +376,18 @@ func (d *driver) peerDelete(nid, eid string, peerIP net.IP, peerIPMask net.IPMas
 | 
			
		|||
		peerIPMask: peerIPMask,
 | 
			
		||||
		peerMac:    peerMac,
 | 
			
		||||
		vtepIP:     vtep,
 | 
			
		||||
		updateDB:   updateDb,
 | 
			
		||||
		callerName: callerName,
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (d *driver) peerDeleteOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask,
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP, updateDb bool) error {
 | 
			
		||||
	peerMac net.HardwareAddr, vtep net.IP) error {
 | 
			
		||||
 | 
			
		||||
	if err := validateID(nid, eid); err != nil {
 | 
			
		||||
		return err
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var pEntry peerEntry
 | 
			
		||||
	if updateDb {
 | 
			
		||||
		pEntry = d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep)
 | 
			
		||||
	}
 | 
			
		||||
	pEntry := d.peerDbDelete(nid, eid, peerIP, peerIPMask, peerMac, vtep)
 | 
			
		||||
 | 
			
		||||
	n := d.network(nid)
 | 
			
		||||
	if n == nil {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue