diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2015-11-07 17:04:08 +0900 |
---|---|---|
committer | FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> | 2015-11-08 05:05:36 -0800 |
commit | d53a5d11d9f3b0ee762a0510ff6608e69ed595ff (patch) | |
tree | e108b9cf26a3d65198a6ac5cf0c8f669194eccaf /config/util.go | |
parent | 2db916a4d3e5783ae3ac68bb436722fea0bbe925 (diff) |
table: fix local-pref handling for external peer
remove a local-pref path attribute when peer is external and
not a confederation member.
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'config/util.go')
-rw-r--r-- | config/util.go | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/config/util.go b/config/util.go new file mode 100644 index 00000000..26ab7004 --- /dev/null +++ b/config/util.go @@ -0,0 +1,27 @@ +// Copyright (C) 2015 Nippon Telegraph and Telephone Corporation. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +// implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package config + +func IsConfederationMember(g *Global, p *Neighbor) bool { + if p.NeighborConfig.PeerAs != g.GlobalConfig.As { + for _, member := range g.Confederation.ConfederationConfig.MemberAs { + if member == p.NeighborConfig.PeerAs { + return true + } + } + } + return false +} |