From 09181e98e8468df4c35c6fc3f01e5fc635604494 Mon Sep 17 00:00:00 2001 From: Maximilian Wilhelm <max@sdn.clinic> Date: Sun, 1 Jul 2018 04:14:43 +0200 Subject: [PATCH] Add Route.NewRouteAddPath(pfx net.Prefix, p []*Path) Signed-off-by: Maximilian Wilhelm <max@sdn.clinic> --- route/route.go | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/route/route.go b/route/route.go index f9251bbc..e6b46ee6 100644 --- a/route/route.go +++ b/route/route.go @@ -28,7 +28,7 @@ type Route struct { ecmpPaths uint } -// NewRoute generates a new route with paths p +// NewRoute generates a new route with path p func NewRoute(pfx net.Prefix, p *Path) *Route { r := &Route{ pfx: pfx, @@ -43,6 +43,23 @@ func NewRoute(pfx net.Prefix, p *Path) *Route { return r } +// NewRouteAddPath generates a new route with paths p +func NewRouteAddPath(pfx net.Prefix, p []*Path) *Route { + r := &Route{ + pfx: pfx, + } + + if p == nil { + r.paths = make([]*Path, 0) + return r + } + + for _, path := range p { + r.paths = append(r.paths, path) + } + return r +} + // Copy returns a copy of route r func (r *Route) Copy() *Route { if r == nil { -- GitLab