This function is reserved for being used when capnp API will need to retrieve information.
Signed-off-by: David Lamparter <[email protected]> Signed-off-by: Philippe Guibert <[email protected]> --- bgpd/bgp_route.c | 17 +++++++++++++++++ bgpd/bgpd.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 652c47e6274a..c892fe690b28 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -1596,6 +1596,23 @@ bool bgp_api_route_get (struct bgp_api_route *out, struct bgp_node *bn, return true; } +bool bgp_api_static_get (struct bgp_api_route *out, struct bgp_node *bn) +{ + struct bgp_static *bgp_static; + + memset(out, 0, sizeof (*out)); + if (bn->p.family != AF_INET) + return false; + if (!bn->info) + return false; + bgp_static = bn->info; + + prefix_copy ((struct prefix *)&out->prefix, &bn->p); + out->nexthop = bgp_static->igpnexthop; + out->label = bgp_static->nlabels ? (bgp_static->labels[0] >> 4) : 0; + return true; +} + static bool rd_same (const struct prefix_rd *a, const struct prefix_rd *b) { return !memcmp(&a->val, &b->val, sizeof(a->val)); diff --git a/bgpd/bgpd.h b/bgpd/bgpd.h index 4c79071abe2f..ad6a6652784e 100644 --- a/bgpd/bgpd.h +++ b/bgpd/bgpd.h @@ -1129,4 +1129,6 @@ extern bool bgp_api_route_get (struct bgp_api_route *out, struct bgp_node *bn, int iter_on_multipath, void **next); +extern bool bgp_api_static_get (struct bgp_api_route *out, struct bgp_node *bn); + #endif /* _QUAGGA_BGPD_H */ -- 2.1.4 _______________________________________________ Quagga-dev mailing list [email protected] https://lists.quagga.net/mailman/listinfo/quagga-dev
