diff options
Diffstat (limited to 'config')
-rw-r--r-- | config/bgp_configs.go | 6 | ||||
-rw-r--r-- | config/default.go | 1 | ||||
-rw-r--r-- | config/serve.go | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/config/bgp_configs.go b/config/bgp_configs.go index c259d426..57866339 100644 --- a/config/bgp_configs.go +++ b/config/bgp_configs.go @@ -2307,6 +2307,9 @@ type NeighborConfig struct { // original -> bgp:neighbor-address //bgp:neighbor-address's original type is inet:ip-address NeighborAddress string `mapstructure:"neighbor-address"` + // original -> gobgp:admin-down + //gobgp:admin-down's original type is boolean + AdminDown bool `mapstructure:"admin-down"` } func (lhs *NeighborConfig) Equal(rhs *NeighborConfig) bool { @@ -2343,6 +2346,9 @@ func (lhs *NeighborConfig) Equal(rhs *NeighborConfig) bool { if lhs.NeighborAddress != rhs.NeighborAddress { return false } + if lhs.AdminDown != rhs.AdminDown { + return false + } return true } diff --git a/config/default.go b/config/default.go index 102621eb..24dc08c7 100644 --- a/config/default.go +++ b/config/default.go @@ -141,6 +141,7 @@ func SetDefaultConfigValues(v *viper.Viper, b *BgpConfigSet) error { n.State.Description = n.Config.Description n.Config.Description = "" + n.State.AdminDown = n.Config.AdminDown if !vv.IsSet("neighbor.config.local-as") { n.Config.LocalAs = b.Global.Config.As diff --git a/config/serve.go b/config/serve.go index 21196433..6f49d0da 100644 --- a/config/serve.go +++ b/config/serve.go @@ -86,6 +86,8 @@ func UpdateConfig(curC, newC *BgpConfigSet) ([]Neighbor, []Neighbor, []Neighbor, if idx := inSlice(n, curC.Neighbors); idx < 0 { added = append(added, n) } else if !n.Equal(&curC.Neighbors[idx]) { + log.Debug("current neighbor config:", curC.Neighbors[idx]) + log.Debug("new neighbor config:", n) updated = append(updated, n) } } |