diff options
author | Maria Matejka <mq@ucw.cz> | 2022-10-04 15:53:12 +0200 |
---|---|---|
committer | Maria Matejka <mq@ucw.cz> | 2022-10-04 15:53:12 +0200 |
commit | 4e1c582caddb6876b9fcbdc29b8bad5ab0b09ee7 (patch) | |
tree | c46d8e5337bc12ec01e3d91b9c2f5f6dd61eb8ad /proto/bgp/bgp.c | |
parent | becca314e2546d6005a23398ce2d3012d4b396cb (diff) | |
parent | 71b434a987067475b517792360f58dbe03bfee9e (diff) |
Merge commit '71b434a9' into HEAD
Diffstat (limited to 'proto/bgp/bgp.c')
-rw-r--r-- | proto/bgp/bgp.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c index 33849b0b..d240112c 100644 --- a/proto/bgp/bgp.c +++ b/proto/bgp/bgp.c @@ -1710,6 +1710,13 @@ done: return p->p.proto_state; } +struct rte_owner_class bgp_rte_owner_class = { + .get_route_info = bgp_get_route_info, + .rte_better = bgp_rte_better, + .rte_mergable = bgp_rte_mergable, + .rte_igp_metric = bgp_rte_igp_metric, +}; + static struct proto * bgp_init(struct proto_config *CF) { @@ -1723,10 +1730,9 @@ bgp_init(struct proto_config *CF) P->reload_routes = bgp_reload_routes; P->feed_begin = bgp_feed_begin; P->feed_end = bgp_feed_end; - P->rte_better = bgp_rte_better; - P->rte_mergable = bgp_rte_mergable; - P->rte_recalculate = cf->deterministic_med ? bgp_rte_recalculate : NULL; - P->rte_igp_metric = bgp_rte_igp_metric; + + P->sources.class = &bgp_rte_owner_class; + P->sources.rte_recalculate = cf->deterministic_med ? bgp_rte_recalculate : NULL; p->cf = cf; p->is_internal = (cf->local_as == cf->remote_as); @@ -2638,7 +2644,6 @@ struct protocol proto_bgp = { .reconfigure = bgp_reconfigure, .copy_config = bgp_copy_config, .get_status = bgp_get_status, - .get_route_info = bgp_get_route_info, .show_proto_info = bgp_show_proto_info }; |