]> git.proxmox.com Git - mirror_frr.git/blobdiff - ldpd/ldpe.h
ldpd: implement RFC 5561 (LDP Capabilities)
[mirror_frr.git] / ldpd / ldpe.h
index d79c9a82ca8b1697d85942feb3cca7f2c199eb87..ce1b700228607d085c748f45b39ab2f729089b4c 100644 (file)
@@ -111,6 +111,7 @@ struct nbr {
        int                      flags;
 };
 #define F_NBR_GTSM_NEGOTIATED   0x01
+#define F_NBR_CAP_DYNAMIC       0x02
 
 RB_HEAD(nbr_id_head, nbr);
 RB_PROTOTYPE(nbr_id_head, nbr, id_tree, nbr_id_compare)
@@ -159,6 +160,8 @@ void         recv_hello(struct in_addr, struct ldp_msg *, int, union ldpd_addr *,
 /* init.c */
 void    send_init(struct nbr *);
 int     recv_init(struct nbr *, char *, uint16_t);
+void    send_capability(struct nbr *, uint16_t, int);
+int     recv_capability(struct nbr *, char *, uint16_t);
 
 /* keepalive.c */
 void    send_keepalive(struct nbr *);
@@ -167,6 +170,8 @@ int  recv_keepalive(struct nbr *, char *, uint16_t);
 /* notification.c */
 void    send_notification_full(struct tcp_conn *, struct notify_msg *);
 void    send_notification(struct tcp_conn *, uint32_t, uint32_t, uint16_t);
+void    send_notification_rtlvs(struct nbr *, uint32_t, uint32_t, uint16_t,
+           uint16_t, uint16_t, char *);
 int     recv_notification(struct nbr *, char *, uint16_t);
 int     gen_status_tlv(struct ibuf *, uint32_t, uint32_t, uint16_t);