]> git.proxmox.com Git - mirror_frr.git/blobdiff - ldpd/lde.h
ldpd: fix fallouts from the rb-tree conversion
[mirror_frr.git] / ldpd / lde.h
index d1089b44f46edabf3cede6ec6c3abbaeaf3e286c..1cce483832d19283e81a1466f5d2530259faedf1 100644 (file)
@@ -95,6 +95,7 @@ struct lde_nbr {
        struct fec_tree          sent_req;
        struct fec_tree          recv_map;
        struct fec_tree          sent_map;
+       struct fec_tree          sent_map_pending;
        struct fec_tree          sent_wdraw;
        TAILQ_HEAD(, lde_addr)   addr_list;
 };
@@ -139,8 +140,10 @@ extern struct nbr_tree      lde_nbrs;
 extern struct thread   *gc_timer;
 
 /* lde.c */
-void            lde(const char *, const char *, u_short instance);
+void            lde(void);
+void            lde_init(struct ldpd_init *);
 int             lde_imsg_compose_parent(int, pid_t, void *, uint16_t);
+void            lde_imsg_compose_parent_sync(int, pid_t, void *, uint16_t);
 int             lde_imsg_compose_ldpe(int, uint32_t, pid_t, void *, uint16_t);
 int             lde_acl_check(char *, int, union ldpd_addr *, uint8_t);
 uint32_t        lde_update_label(struct fec_node *);
@@ -169,6 +172,8 @@ struct lde_nbr      *lde_nbr_find_by_lsrid(struct in_addr);
 struct lde_nbr *lde_nbr_find_by_addr(int, union ldpd_addr *);
 struct lde_map *lde_map_add(struct lde_nbr *, struct fec_node *, int);
 void            lde_map_del(struct lde_nbr *, struct lde_map *, int);
+struct fec     *lde_map_pending_add(struct lde_nbr *, struct fec_node *);
+void            lde_map_pending_del(struct lde_nbr *, struct fec *);
 struct lde_req *lde_req_add(struct lde_nbr *, struct fec *, int);
 void            lde_req_del(struct lde_nbr *, struct lde_req *, int);
 struct lde_wdraw *lde_wdraw_add(struct lde_nbr *, struct fec_node *);
@@ -212,13 +217,15 @@ struct l2vpn      *l2vpn_find(struct ldpd_conf *, const char *);
 void            l2vpn_del(struct l2vpn *);
 void            l2vpn_init(struct l2vpn *);
 void            l2vpn_exit(struct l2vpn *);
-struct l2vpn_if        *l2vpn_if_new(struct l2vpn *, struct kif *);
+struct l2vpn_if        *l2vpn_if_new(struct l2vpn *, const char *);
 struct l2vpn_if        *l2vpn_if_find(struct l2vpn *, const char *);
+void            l2vpn_if_update_info(struct l2vpn_if *, struct kif *);
 void            l2vpn_if_update(struct l2vpn_if *);
-struct l2vpn_pw        *l2vpn_pw_new(struct l2vpn *, struct kif *);
+struct l2vpn_pw        *l2vpn_pw_new(struct l2vpn *, const char *);
 struct l2vpn_pw *l2vpn_pw_find(struct l2vpn *, const char *);
 struct l2vpn_pw        *l2vpn_pw_find_active(struct l2vpn *, const char *);
 struct l2vpn_pw        *l2vpn_pw_find_inactive(struct l2vpn *, const char *);
+void            l2vpn_pw_update_info(struct l2vpn_pw *, struct kif *);
 void            l2vpn_pw_init(struct l2vpn_pw *);
 void            l2vpn_pw_exit(struct l2vpn_pw *);
 void            l2vpn_pw_reset(struct l2vpn_pw *);
@@ -231,7 +238,6 @@ void                 l2vpn_send_pw_status_wcard(struct lde_nbr *, uint32_t,
 void            l2vpn_recv_pw_status(struct lde_nbr *, struct notify_msg *);
 void            l2vpn_recv_pw_status_wcard(struct lde_nbr *,
                    struct notify_msg *);
-void            l2vpn_sync_pws(int, union ldpd_addr *);
 void            l2vpn_pw_ctl(pid_t);
 void            l2vpn_binding_ctl(pid_t);