From: Maria Matejka Date: Tue, 4 Oct 2022 13:53:12 +0000 (+0200) Subject: Merge commit '71b434a9' into HEAD X-Git-Tag: v3.0-alpha1~105^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4e1c582caddb6876b9fcbdc29b8bad5ab0b09ee7;p=thirdparty%2Fbird.git Merge commit '71b434a9' into HEAD --- 4e1c582caddb6876b9fcbdc29b8bad5ab0b09ee7 diff --cc nest/protocol.h index 3c823ae11,709d64157..b47301262 --- a/nest/protocol.h +++ b/nest/protocol.h @@@ -182,15 -182,15 +182,12 @@@ struct proto * Routing entry hooks (called only for routes belonging to this protocol): * * rte_recalculate Called at the beginning of the best route selection -- * rte_better Compare two rte's and decide which one is better (1=first, 0=second). -- * rte_same Compare two rte's and decide whether they are identical (1=yes, 0=no). * rte_mergable Compare two rte's and decide whether they could be merged (1=yes, 0=no). * rte_insert Called whenever a rte is inserted to a routing table. * rte_remove Called whenever a rte is removed from the routing table. */ int (*rte_recalculate)(struct rtable *, struct network *, struct rte *, struct rte *, struct rte *); -- int (*rte_better)(struct rte *, struct rte *); int (*rte_mergable)(struct rte *, struct rte *); void (*rte_insert)(struct network *, struct rte *); void (*rte_remove)(struct network *, struct rte *); diff --cc sysdep/unix/krt.c index dd2c63c4f,f796a1593..471efebaf --- a/sysdep/unix/krt.c +++ b/sysdep/unix/krt.c @@@ -811,6 -804,6 +812,10 @@@ krt_postconfig(struct proto_config *CF krt_sys_postconfig(cf); } ++struct rte_owner_class krt_rte_owner_class = { ++ .rte_better = krt_rte_better, ++}; ++ static struct proto * krt_init(struct proto_config *CF) { @@@ -824,8 -817,7 +829,9 @@@ p->p.if_notify = krt_if_notify; p->p.reload_routes = krt_reload_routes; p->p.feed_end = krt_feed_end; - p->p.rte_better = krt_rte_better; + ++ p->p.sources.class = &krt_rte_owner_class; + krt_sys_init(p); return &p->p; }