]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/irdp.h
Merge pull request #5793 from ton31337/fix/formatting_show_bgp_summary_failed
[mirror_frr.git] / zebra / irdp.h
index 01308b915b3f4a316e142a771d465fb42b3fd6c5..c1ea34f3aa467e6d7a10ec9076a07bf67fd97b4d 100644 (file)
@@ -28,8 +28,9 @@
 
 #include "lib/vty.h"
 
-#define TRUE 1
-#define FALSE 0
+#ifdef __cplusplus
+extern "C" {
+#endif
 
 /* ICMP Messages */
 #ifndef ICMP_ROUTERADVERT
@@ -50,7 +51,7 @@
 #endif /* INADDR_ALLRTRS_GROUP */
 
 /* Default irdp packet interval */
-#define IRDP_DEFAULT_INTERVAL 300 
+#define IRDP_DEFAULT_INTERVAL 300
 
 /* Router constants from RFC1256 */
 #define MAX_INITIAL_ADVERT_INTERVAL 16
 */
 
 struct irdp_interface {
+       bool started;
+
        unsigned long MaxAdvertInterval;
        unsigned long MinAdvertInterval;
        unsigned long Preference;
 
-       u_int32_t flags;
+       uint32_t flags;
 
 #define IF_ACTIVE               (1<<0) /* ICMP Active */
 #define IF_BROADCAST            (1<<1) /* 255.255.255.255 */
 #define IF_SOLICIT              (1<<2) /* Solicit active */
-#define IF_DEBUG_MESSAGES       (1<<3) 
-#define IF_DEBUG_PACKET         (1<<4) 
-#define IF_DEBUG_MISC           (1<<5) 
-#define IF_SHUTDOWN             (1<<6) 
+#define IF_DEBUG_MESSAGES       (1<<3)
+#define IF_DEBUG_PACKET         (1<<4)
+#define IF_DEBUG_MISC           (1<<5)
+#define IF_SHUTDOWN             (1<<6)
 
        struct interface *ifp;
        struct thread *t_advertise;
        unsigned long irdp_sent;
-       u_int16_t Lifetime;
+       uint16_t Lifetime;
 
        struct list *AdvPrefList;
 };
@@ -138,16 +141,18 @@ struct Adv {
        int pref;
 };
 
-extern void irdp_init(void);
+extern void irdp_if_init(void);
 extern int irdp_sock_init(void);
-extern void irdp_finish(void);
-extern void irdp_config_write(struct vty *, struct interface *);
+extern int irdp_config_write(struct vty *, struct interface *);
 extern int irdp_send_thread(struct thread *t_advert);
 extern void irdp_advert_off(struct interface *ifp);
 extern void process_solicit(struct interface *ifp);
 extern int irdp_read_raw(struct thread *r);
-extern void send_packet(struct interface *ifp, struct stream *s, u_int32_t dst,
-                       struct prefix *p, u_int32_t ttl);
+extern void send_packet(struct interface *ifp, struct stream *s, uint32_t dst,
+                       struct prefix *p, uint32_t ttl);
 
+#ifdef __cplusplus
+}
+#endif
 
 #endif /* _IRDP_H */