diff --git a/proto/bmp/bmp.c b/proto/bmp/bmp.c index eff62410..319339a5 100644 --- a/proto/bmp/bmp.c +++ b/proto/bmp/bmp.c @@ -212,6 +212,7 @@ enum bmp_term_reason { IF_COND_TRUE_PRINT_ERR_MSG_AND_RETURN_OPT_VAL(!(p), msg, rv); \ } while (0) +static const struct ea_class *bgp_next_hop_ea_class = NULL; static void bmp_connected(struct birdsock *sk); static void bmp_sock_err(sock *sk, int err); @@ -1506,6 +1507,9 @@ bmp_init(struct proto_config *CF) struct bmp_proto *p = (void *) P; struct bmp_config *cf = (void *) CF; + if (!bgp_next_hop_ea_class) + bgp_next_hop_ea_class = ea_class_find_by_name("bgp_next_hop"); + P->rt_notify = bmp_rt_notify; P->preexport = bmp_preexport; //P->feed_end = bmp_feed_end; I am confused. It looks like feed_end and bmp_feed_end exist only here