summaryrefslogtreecommitdiffhomepage
path: root/gobgpd
diff options
context:
space:
mode:
Diffstat (limited to 'gobgpd')
-rw-r--r--gobgpd/main.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/gobgpd/main.go b/gobgpd/main.go
index cf327f61..7a3b3ef2 100644
--- a/gobgpd/main.go
+++ b/gobgpd/main.go
@@ -167,14 +167,16 @@ func main() {
case newConfig := <-configCh:
var added []config.Neighbor
var deleted []config.Neighbor
+ var updated []config.Neighbor
if bgpConfig == nil {
bgpServer.SetGlobalType(newConfig.Bgp.Global)
bgpConfig = &newConfig.Bgp
added = newConfig.Bgp.Neighbors.NeighborList
deleted = []config.Neighbor{}
+ updated = []config.Neighbor{}
} else {
- bgpConfig, added, deleted = config.UpdateConfig(bgpConfig, &newConfig.Bgp)
+ bgpConfig, added, deleted, updated = config.UpdateConfig(bgpConfig, &newConfig.Bgp)
}
if policyConfig == nil {
@@ -195,6 +197,10 @@ func main() {
log.Infof("Peer %v is deleted", p.NeighborConfig.NeighborAddress)
bgpServer.PeerDelete(p)
}
+ for _, p := range updated {
+ log.Infof("Peer %v is updated", p.NeighborConfig.NeighborAddress)
+ bgpServer.PeerUpdate(p)
+ }
case sig := <-sigCh:
switch sig {
case syscall.SIGHUP: