summaryrefslogtreecommitdiff
path: root/lib/nexthop.h
diff options
context:
space:
mode:
authorßingen <bingen@voltanet.io>2017-06-27 12:49:49 +0200
committerßingen <bingen@voltanet.io>2017-06-28 21:32:18 +0200
commitf9e1b38e1a48b72cac7caaded16b9355c80d7899 (patch)
tree78ad561127d3cf9e3ba6d58972c21cc40a87d326 /lib/nexthop.h
parent3d07d27345fe5832045632d292ac6cdfabbc75e0 (diff)
Allow for more than 1 NH recursion level
Before, only one level of recursive resolution was supported. Signed-off-by: ßingen <bingen@voltanet.io>
Diffstat (limited to 'lib/nexthop.h')
-rw-r--r--lib/nexthop.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/nexthop.h b/lib/nexthop.h
index 8c9c801c91..f48c41dc55 100644
--- a/lib/nexthop.h
+++ b/lib/nexthop.h
@@ -81,8 +81,10 @@ struct nexthop
* If the nexthop struct needs to be resolved recursively,
* NEXTHOP_FLAG_RECURSIVE will be set in flags and the nexthops
* obtained by recursive resolution will be added to `resolved'.
- * Only one level of recursive resolution is currently supported. */
+ */
struct nexthop *resolved;
+ /* Recursive parent */
+ struct nexthop *rparent;
/* Type of label(s), if any */
enum lsp_types_t nh_label_type;
@@ -107,7 +109,7 @@ nh_resolve_via_default(int family)
struct nexthop *nexthop_new (void);
void nexthop_add (struct nexthop **target, struct nexthop *nexthop);
-void copy_nexthops (struct nexthop **tnh, struct nexthop *nh);
+void copy_nexthops (struct nexthop **tnh, struct nexthop *nh, struct nexthop *rparent);
void nexthop_free (struct nexthop *nexthop);
void nexthops_free (struct nexthop *nexthop);