diff options
Diffstat (limited to 'table/path.go')
-rw-r--r-- | table/path.go | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/table/path.go b/table/path.go index d4946e8d..1d0765d4 100644 --- a/table/path.go +++ b/table/path.go @@ -160,6 +160,13 @@ func cloneAsPath(asAttr *bgp.PathAttributeAsPath) *bgp.PathAttributeAsPath { } func (path *Path) UpdatePathAttrs(global *config.Global, peer *config.Neighbor) { + for _, a := range path.GetPathAttrs() { + if _, y := bgp.PathAttrFlags[a.GetType()]; !y { + if a.GetFlags()&bgp.BGP_ATTR_FLAG_TRANSITIVE == 0 { + path.delPathAttr(a.GetType()) + } + } + } if peer.RouteServer.Config.RouteServerClient { return |