Diff for /embedaddon/quagga/ospf6d/ospf6_spf.h between versions 1.1 and 1.1.1.2

version 1.1, 2012/02/21 17:26:12 version 1.1.1.2, 2016/11/02 10:09:11
Line 22 Line 22
 #ifndef OSPF6_SPF_H  #ifndef OSPF6_SPF_H
 #define OSPF6_SPF_H  #define OSPF6_SPF_H
   
   #include "ospf6_top.h"
   
 /* Debug option */  /* Debug option */
 extern unsigned char conf_debug_ospf6_spf;  extern unsigned char conf_debug_ospf6_spf;
 #define OSPF6_DEBUG_SPF_PROCESS   0x01  #define OSPF6_DEBUG_SPF_PROCESS   0x01
Line 77  struct ospf6_vertex Line 79  struct ospf6_vertex
 #define VERTEX_IS_TYPE(t, v) \  #define VERTEX_IS_TYPE(t, v) \
   ((v)->type == OSPF6_VERTEX_TYPE_ ## t ? 1 : 0)    ((v)->type == OSPF6_VERTEX_TYPE_ ## t ? 1 : 0)
   
   /* What triggered the SPF? */
   #define OSPF6_SPF_FLAGS_ROUTER_LSA_ADDED         (1 << 0)
   #define OSPF6_SPF_FLAGS_ROUTER_LSA_REMOVED       (1 << 1)
   #define OSPF6_SPF_FLAGS_NETWORK_LSA_ADDED        (1 << 2)
   #define OSPF6_SPF_FLAGS_NETWORK_LSA_REMOVED      (1 << 3)
   #define OSPF6_SPF_FLAGS_LINK_LSA_ADDED           (1 << 4)
   #define OSPF6_SPF_FLAGS_LINK_LSA_REMOVED         (1 << 5)
   #define OSPF6_SPF_FLAGS_ROUTER_LSA_ORIGINATED    (1 << 6)
   #define OSPF6_SPF_FLAGS_NETWORK_LSA_ORIGINATED   (1 << 7)
   
   static inline void
   ospf6_set_spf_reason (struct ospf6* ospf, unsigned int reason)
   {
     ospf->spf_reason |= reason;
   }
   
   static inline void
   ospf6_reset_spf_reason (struct ospf6 *ospf)
   {
     ospf->spf_reason = 0;
   }
   
   static inline unsigned int
   ospf6_lsadd_to_spf_reason (struct ospf6_lsa *lsa)
   {
     unsigned int reason = 0;
   
     switch (ntohs (lsa->header->type))
       {
       case OSPF6_LSTYPE_ROUTER:
         reason = OSPF6_SPF_FLAGS_ROUTER_LSA_ADDED;
         break;
       case OSPF6_LSTYPE_NETWORK:
         reason = OSPF6_SPF_FLAGS_NETWORK_LSA_ADDED;
         break;
       case OSPF6_LSTYPE_LINK:
         reason = OSPF6_SPF_FLAGS_LINK_LSA_ADDED;
         break;
       default:
         break;
       }
     return (reason);
   }
   
   static inline unsigned int
   ospf6_lsremove_to_spf_reason (struct ospf6_lsa *lsa)
   {
     unsigned int reason = 0;
   
     switch (ntohs (lsa->header->type))
       {
       case OSPF6_LSTYPE_ROUTER:
         reason = OSPF6_SPF_FLAGS_ROUTER_LSA_REMOVED;
         break;
       case OSPF6_LSTYPE_NETWORK:
         reason = OSPF6_SPF_FLAGS_NETWORK_LSA_REMOVED;
         break;
       case OSPF6_LSTYPE_LINK:
         reason = OSPF6_SPF_FLAGS_LINK_LSA_REMOVED;
         break;
       default:
         break;
       }
     return (reason);
   }
   
 extern void ospf6_spf_table_finish (struct ospf6_route_table *result_table);  extern void ospf6_spf_table_finish (struct ospf6_route_table *result_table);
 extern void ospf6_spf_calculation (u_int32_t router_id,  extern void ospf6_spf_calculation (u_int32_t router_id,
                                    struct ospf6_route_table *result_table,                                     struct ospf6_route_table *result_table,
                                    struct ospf6_area *oa);                                     struct ospf6_area *oa);
extern void ospf6_spf_schedule (struct ospf6_area *oa);extern void ospf6_spf_schedule (struct ospf6 *ospf, unsigned int reason);
   
 extern void ospf6_spf_display_subtree (struct vty *vty, const char *prefix,  extern void ospf6_spf_display_subtree (struct vty *vty, const char *prefix,
                                        int rest, struct ospf6_vertex *v);                                         int rest, struct ospf6_vertex *v);
   
   extern void ospf6_spf_config_write (struct vty *vty);
 extern int config_write_ospf6_debug_spf (struct vty *vty);  extern int config_write_ospf6_debug_spf (struct vty *vty);
 extern void install_element_ospf6_debug_spf (void);  extern void install_element_ospf6_debug_spf (void);
 extern void ospf6_spf_init (void);  extern void ospf6_spf_init (void);
   extern void ospf6_spf_reason_string (unsigned int reason, char *buf, int size);
   
 #endif /* OSPF6_SPF_H */  #endif /* OSPF6_SPF_H */
   

Removed from v.1.1  
changed lines
  Added in v.1.1.1.2


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>