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