summaryrefslogtreecommitdiff
path: root/lib/nexthop.h
diff options
context:
space:
mode:
authorStephen Worley <sworley@cumulusnetworks.com>2019-06-24 11:37:49 -0400
committerStephen Worley <sworley@cumulusnetworks.com>2019-06-25 22:58:47 -0400
commit504d0a409627e21167233e538dbc49af59fbdd99 (patch)
tree4e2f55ce358933db01c6645b172af9f2a8505995 /lib/nexthop.h
parente7addf02a1164499c515fdcfc8c8bb75c383ff90 (diff)
lib: Add a nexthop_dup() that allocates and copies
Add a nexthop_dup() api that both allocates and copies a new nexthop from an old one. Still retain the old exposed function nexthop_copy() so we can copy without allocation. Signed-off-by: Stephen Worley <sworley@cumulusnetworks.com>
Diffstat (limited to 'lib/nexthop.h')
-rw-r--r--lib/nexthop.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/nexthop.h b/lib/nexthop.h
index ada7317a58..20401cd581 100644
--- a/lib/nexthop.h
+++ b/lib/nexthop.h
@@ -152,8 +152,12 @@ extern const char *nexthop2str(const struct nexthop *nexthop,
char *str, int size);
extern struct nexthop *nexthop_next(struct nexthop *nexthop);
extern unsigned int nexthop_level(struct nexthop *nexthop);
+/* Copies to an already allocated nexthop struct */
extern void nexthop_copy(struct nexthop *copy, const struct nexthop *nexthop,
struct nexthop *rparent);
+/* Duplicates a nexthop and returns the newly allocated nexthop */
+extern struct nexthop *nexthop_dup(const struct nexthop *nexthop,
+ struct nexthop *rparent);
#ifdef __cplusplus
}