diff options
-rw-r--r-- | table/path.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/table/path.go b/table/path.go index 83e442c0..b45b7f68 100644 --- a/table/path.go +++ b/table/path.go @@ -569,7 +569,11 @@ func (path *Path) SetExtCommunities(values []byte, doReplace bool) { idx, attr := path.getPathAttr(bgp.BGP_ATTR_TYPE_EXTENDED_COMMUNITIES) if attr != nil { l := attr.(*bgp.PathAttributeExtendedCommunities).Value - l = append(l, exts...) + if doReplace { + l = exts + } else { + l = append(l, exts...) + } path.pathAttrs[idx] = bgp.NewPathAttributeExtendedCommunities(l) } else { path.pathAttrs = append(path.pathAttrs, bgp.NewPathAttributeExtendedCommunities(exts)) |