|
@@ -256,22 +256,22 @@ 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, pEntry.isLocal)
|
|
|
+ d.peerAddOp(nid, pEntry.eid, pKey.peerIP, pEntry.peerIPMask, pKey.peerMac, pEntry.vtep, 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, l2Miss, l3Miss, localPeer bool) {
|
|
|
+func (d *driver) peerAdd(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, peerMac net.HardwareAddr, vtep net.IP, localPeer bool) {
|
|
|
d.peerOpMu.Lock()
|
|
|
defer d.peerOpMu.Unlock()
|
|
|
- err := d.peerAddOp(nid, eid, peerIP, peerIPMask, peerMac, vtep, l2Miss, l3Miss, true, localPeer)
|
|
|
+ err := d.peerAddOp(nid, eid, peerIP, peerIPMask, peerMac, vtep, true, localPeer)
|
|
|
if err != nil {
|
|
|
log.G(context.TODO()).WithError(err).Warn("Peer add operation failed")
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, peerMac net.HardwareAddr, vtep net.IP, l2Miss, l3Miss, updateDB, localPeer bool) error {
|
|
|
+func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask, peerMac net.HardwareAddr, vtep net.IP, updateDB, localPeer bool) error {
|
|
|
if err := validateID(nid, eid); err != nil {
|
|
|
return err
|
|
|
}
|
|
@@ -323,7 +323,7 @@ func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask
|
|
|
}
|
|
|
|
|
|
// Add neighbor entry for the peer IP
|
|
|
- if err := sbox.AddNeighbor(peerIP, peerMac, l3Miss, osl.WithLinkName(s.vxlanName)); err != nil {
|
|
|
+ if err := sbox.AddNeighbor(peerIP, peerMac, false, osl.WithLinkName(s.vxlanName)); err != nil {
|
|
|
if _, ok := err.(osl.NeighborSearchError); ok && dbEntries > 1 {
|
|
|
// We are in the transient case so only the first configuration is programmed into the kernel
|
|
|
// Upon deletion if the active configuration is deleted the next one from the database will be restored
|
|
@@ -334,7 +334,7 @@ func (d *driver) peerAddOp(nid, eid string, peerIP net.IP, peerIPMask net.IPMask
|
|
|
}
|
|
|
|
|
|
// Add fdb entry to the bridge for the peer mac
|
|
|
- if err := sbox.AddNeighbor(vtep, peerMac, l2Miss, osl.WithLinkName(s.vxlanName), osl.WithFamily(syscall.AF_BRIDGE)); err != nil {
|
|
|
+ if err := sbox.AddNeighbor(vtep, peerMac, false, osl.WithLinkName(s.vxlanName), osl.WithFamily(syscall.AF_BRIDGE)); err != nil {
|
|
|
return fmt.Errorf("could not add fdb entry for nid:%s eid:%s into the sandbox:%v", nid, eid, err)
|
|
|
}
|
|
|
|
|
@@ -405,7 +405,7 @@ func (d *driver) peerDeleteOp(nid, eid string, peerIP net.IP, peerIPMask net.IPM
|
|
|
log.G(context.TODO()).Errorf("peerDeleteOp unable to restore a configuration for nid:%s ip:%v mac:%v err:%s", nid, peerIP, peerMac, err)
|
|
|
return err
|
|
|
}
|
|
|
- return d.peerAddOp(nid, peerEntry.eid, peerIP, peerEntry.peerIPMask, peerKey.peerMac, peerEntry.vtep, false, false, false, peerEntry.isLocal)
|
|
|
+ return d.peerAddOp(nid, peerEntry.eid, peerIP, peerEntry.peerIPMask, peerKey.peerMac, peerEntry.vtep, false, peerEntry.isLocal)
|
|
|
}
|
|
|
|
|
|
func (d *driver) peerFlush(nid string) {
|