table: initialize the destinations when the destinations is empty

In the current implementation, the destinations map management area in the table has not been initialized even if destinations removed all.
Therefore, to explicitly initialize the destinations.
This commit is contained in:
Naoto Hanaue
2016-03-25 16:11:31 +09:00
parent 506d03c92f
commit e9b32cb56e
+6
View File
@@ -122,6 +122,9 @@ func (t *Table) deleteDestByNlri(nlri bgp.AddrPrefixInterface) *Destination {
dest := destinations[t.tableKey(nlri)]
if dest != nil {
delete(destinations, t.tableKey(nlri))
if len(destinations) == 0 {
t.destinations = make(map[string]*Destination)
}
}
return dest
}
@@ -129,6 +132,9 @@ func (t *Table) deleteDestByNlri(nlri bgp.AddrPrefixInterface) *Destination {
func (t *Table) deleteDest(dest *Destination) {
destinations := t.GetDestinations()
delete(destinations, t.tableKey(dest.GetNlri()))
if len(destinations) == 0 {
t.destinations = make(map[string]*Destination)
}
}
func (t *Table) validatePath(path *Path) {