summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--gobgp/cmd/common.go14
-rw-r--r--gobgp/cmd/global.go2
-rw-r--r--table/path.go14
3 files changed, 7 insertions, 23 deletions
diff --git a/gobgp/cmd/common.go b/gobgp/cmd/common.go
index a10460fd..a430cbbb 100644
--- a/gobgp/cmd/common.go
+++ b/gobgp/cmd/common.go
@@ -219,20 +219,6 @@ func ApiStruct2Path(p *gobgpapi.Path) ([]*Path, error) {
return paths, nil
}
-type pathAttrs []bgp.PathAttributeInterface
-
-func (p pathAttrs) Len() int {
- return len(p)
-}
-
-func (p pathAttrs) Swap(i, j int) {
- p[i], p[j] = p[j], p[i]
-}
-
-func (p pathAttrs) Less(i, j int) bool {
- return p[i].GetType() < p[j].GetType()
-}
-
type paths []*Path
func (p paths) Len() int {
diff --git a/gobgp/cmd/global.go b/gobgp/cmd/global.go
index add15339..84fa4c19 100644
--- a/gobgp/cmd/global.go
+++ b/gobgp/cmd/global.go
@@ -498,7 +498,7 @@ func ParsePath(rf bgp.RouteFamily, args []string) (*api.Path, error) {
var nlri bgp.AddrPrefixInterface
var extcomms []string
var err error
- attrs := pathAttrs(make([]bgp.PathAttributeInterface, 0, 1))
+ attrs := table.PathAttrs(make([]bgp.PathAttributeInterface, 0, 1))
path := &api.Path{
Pattrs: make([][]byte, 0),
diff --git a/table/path.go b/table/path.go
index e48b7258..dd510692 100644
--- a/table/path.go
+++ b/table/path.go
@@ -398,17 +398,17 @@ func (path *Path) GetNlri() bgp.AddrPrefixInterface {
return path.OriginInfo().nlri
}
-type attrs []bgp.PathAttributeInterface
+type PathAttrs []bgp.PathAttributeInterface
-func (a attrs) Len() int {
+func (a PathAttrs) Len() int {
return len(a)
}
-func (a attrs) Swap(i, j int) {
+func (a PathAttrs) Swap(i, j int) {
a[i], a[j] = a[j], a[i]
}
-func (a attrs) Less(i, j int) bool {
+func (a PathAttrs) Less(i, j int) bool {
return a[i].GetType() < a[j].GetType()
}
@@ -421,7 +421,7 @@ func (path *Path) GetPathAttrs() []bgp.PathAttributeInterface {
deleted.Flag(uint(t))
}
if p.parent == nil {
- list := make([]bgp.PathAttributeInterface, 0, len(p.pathAttrs))
+ list := PathAttrs(make([]bgp.PathAttributeInterface, 0, len(p.pathAttrs)))
// we assume that the original pathAttrs are
// in order, that is, other bgp speakers send
// attributes in order.
@@ -440,9 +440,7 @@ func (path *Path) GetPathAttrs() []bgp.PathAttributeInterface {
for _, m := range modified {
list = append(list, m)
}
- var sorted attrs
- sorted = list
- sort.Sort(sorted)
+ sort.Sort(list)
}
return list
} else {