Diff for /embedaddon/quagga/isisd/isis_circuit.h between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 17:26:11 version 1.1.1.3, 2016/11/02 10:09:10
Line 23 Line 23
 #ifndef ISIS_CIRCUIT_H  #ifndef ISIS_CIRCUIT_H
 #define ISIS_CIRCUIT_H  #define ISIS_CIRCUIT_H
   
   #include "vty.h"
   
 #define CIRCUIT_MAX 255  #define CIRCUIT_MAX 255
   
 struct password  struct password
Line 52  struct isis_bcast_info Line 54  struct isis_bcast_info
   u_char l1_desig_is[ISIS_SYS_ID_LEN + 1];      /* level-1 DR */    u_char l1_desig_is[ISIS_SYS_ID_LEN + 1];      /* level-1 DR */
   u_char l2_desig_is[ISIS_SYS_ID_LEN + 1];      /* level-2 DR */    u_char l2_desig_is[ISIS_SYS_ID_LEN + 1];      /* level-2 DR */
   struct thread *t_refresh_pseudo_lsp[2];       /* refresh pseudo-node LSPs */    struct thread *t_refresh_pseudo_lsp[2];       /* refresh pseudo-node LSPs */
   int pad_hellos;               /* add padding to Hello PDUs ? */  
   u_char priority[2];           /* l1/2 IS Priority */  
 };  };
   
 struct isis_p2p_info  struct isis_p2p_info
Line 78  struct isis_circuit Line 78  struct isis_circuit
   struct thread *t_send_csnp[2];    struct thread *t_send_csnp[2];
   struct thread *t_send_psnp[2];    struct thread *t_send_psnp[2];
   struct list *lsp_queue;       /* LSPs to be txed (both levels) */    struct list *lsp_queue;       /* LSPs to be txed (both levels) */
     time_t lsp_queue_last_cleared;/* timestamp used to enforce transmit interval;
                                    * for scalability, use one timestamp per 
                                    * circuit, instead of one per lsp per circuit
                                    */
   /* there is no real point in two streams, just for programming kicker */    /* there is no real point in two streams, just for programming kicker */
   int (*rx) (struct isis_circuit * circuit, u_char * ssnpa);    int (*rx) (struct isis_circuit * circuit, u_char * ssnpa);
   struct stream *rcv_stream;    /* Stream for receiving */    struct stream *rcv_stream;    /* Stream for receiving */
   int (*tx) (struct isis_circuit * circuit, int level);    int (*tx) (struct isis_circuit * circuit, int level);
   struct stream *snd_stream;    /* Stream for sending */    struct stream *snd_stream;    /* Stream for sending */
   int idx;                      /* idx in S[RM|SN] flags */    int idx;                      /* idx in S[RM|SN] flags */
#define CIRCUIT_T_BROADCAST  0#define CIRCUIT_T_UNKNOWN    0
#define CIRCUIT_T_P2P        1#define CIRCUIT_T_BROADCAST  1
#define CIRCUIT_T_STATIC_IN  2#define CIRCUIT_T_P2P        2
#define CIRCUIT_T_STATIC_OUT 3#define CIRCUIT_T_LOOPBACK   3
#define CIRCUIT_T_DA         4 
   int circ_type;                /* type of the physical interface */    int circ_type;                /* type of the physical interface */
     int circ_type_config;         /* config type of the physical interface */
   union    union
   {    {
     struct isis_bcast_info bc;      struct isis_bcast_info bc;
     struct isis_p2p_info p2p;      struct isis_p2p_info p2p;
   } u;    } u;
     u_char priority[2];           /* l1/2 IS configured priority */
     int pad_hellos;               /* add padding to Hello PDUs ? */
   char ext_domain;              /* externalDomain   (boolean) */    char ext_domain;              /* externalDomain   (boolean) */
     int lsp_regenerate_pending[ISIS_LEVELS];
   /*     /* 
    * Configurables      * Configurables 
    */     */
   struct isis_passwd passwd;    /* Circuit rx/tx password */    struct isis_passwd passwd;    /* Circuit rx/tx password */
  long lsp_interval;  int is_type;                        /* circuit is type == level of circuit
  int manual_l2_only;         /* manualL2OnlyMode (boolean) */ 
  int circuit_is_type;                /* circuit is type == level of circuit 
                                  * diffrenciated from circuit type (media) */                                   * diffrenciated from circuit type (media) */
   u_int32_t hello_interval[2];  /* l1HelloInterval in msecs */    u_int32_t hello_interval[2];  /* l1HelloInterval in msecs */
   u_int16_t hello_multiplier[2];        /* l1HelloMultiplier */    u_int16_t hello_multiplier[2];        /* l1HelloMultiplier */
Line 110  struct isis_circuit Line 115  struct isis_circuit
   u_int16_t psnp_interval[2];   /* level-1 psnp-interval in seconds */    u_int16_t psnp_interval[2];   /* level-1 psnp-interval in seconds */
   struct metric metrics[2];     /* l1XxxMetric */    struct metric metrics[2];     /* l1XxxMetric */
   u_int32_t te_metric[2];    u_int32_t te_metric[2];
   struct password *c_rx_passwds;        /* circuitReceivePasswords */  
   struct password *c_tc_passwd; /* circuitTransmitPassword */  
   int ip_router;                /* Route IP ? */    int ip_router;                /* Route IP ? */
     int is_passive;               /* Is Passive ? */
   struct list *ip_addrs;        /* our IP addresses */    struct list *ip_addrs;        /* our IP addresses */
 #ifdef HAVE_IPV6  #ifdef HAVE_IPV6
   int ipv6_router;              /* Route IPv6 ? */    int ipv6_router;              /* Route IPv6 ? */
   struct list *ipv6_link;       /* our link local IPv6 addresses */    struct list *ipv6_link;       /* our link local IPv6 addresses */
   struct list *ipv6_non_link;   /* our non-link local IPv6 addresses */    struct list *ipv6_non_link;   /* our non-link local IPv6 addresses */
 #endif                          /* HAVE_IPV6 */  #endif                          /* HAVE_IPV6 */
   /*   
    * RFC 2973 IS-IS Mesh Groups   
    */  
 #define MESH_INACTIVE 0  
 #define MESH_BLOCKED  1  
 #define MESH_SET      2  
   int mesh_enabled;             /* meshGroupEnabled */  
   u_int16_t mesh_group;         /* meshGroup */  
   u_int16_t upadjcount[2];    u_int16_t upadjcount[2];
   #define ISIS_CIRCUIT_FLAPPED_AFTER_SPF 0x01
     u_char flags;
   /*    /*
    * Counters as in 10589--11.2.5.9     * Counters as in 10589--11.2.5.9
    */     */
Line 141  struct isis_circuit Line 139  struct isis_circuit
   
 void isis_circuit_init (void);  void isis_circuit_init (void);
 struct isis_circuit *isis_circuit_new (void);  struct isis_circuit *isis_circuit_new (void);
   void isis_circuit_del (struct isis_circuit *circuit);
 struct isis_circuit *circuit_lookup_by_ifp (struct interface *ifp,  struct isis_circuit *circuit_lookup_by_ifp (struct interface *ifp,
                                             struct list *list);                                              struct list *list);
 struct isis_circuit *circuit_scan_by_ifp (struct interface *ifp);  struct isis_circuit *circuit_scan_by_ifp (struct interface *ifp);
 void isis_circuit_del (struct isis_circuit *circuit);  
 void isis_circuit_configure (struct isis_circuit *circuit,  void isis_circuit_configure (struct isis_circuit *circuit,
                              struct isis_area *area);                               struct isis_area *area);
 void isis_circuit_up (struct isis_circuit *circuit);  
 void isis_circuit_deconfigure (struct isis_circuit *circuit,  void isis_circuit_deconfigure (struct isis_circuit *circuit,
                                struct isis_area *area);                                 struct isis_area *area);
   
 int isis_circuit_destroy (struct isis_circuit *circuit);  
 void isis_circuit_if_add (struct isis_circuit *circuit,  void isis_circuit_if_add (struct isis_circuit *circuit,
                           struct interface *ifp);                            struct interface *ifp);
void isis_circuit_if_del (struct isis_circuit *circuit);void isis_circuit_if_del (struct isis_circuit *circuit,
void circuit_update_nlpids (struct isis_circuit *circuit);                          struct interface *ifp);
void isis_circuit_update_params (struct isis_circuit *circuit,void isis_circuit_if_bind (struct isis_circuit *circuit,
                                 struct interface *ifp);                           struct interface *ifp);
 void isis_circuit_if_unbind (struct isis_circuit *circuit,
                              struct interface *ifp);
 void isis_circuit_add_addr (struct isis_circuit *circuit,  void isis_circuit_add_addr (struct isis_circuit *circuit,
                             struct connected *conn);                              struct connected *conn);
 void isis_circuit_del_addr (struct isis_circuit *circuit,  void isis_circuit_del_addr (struct isis_circuit *circuit,
                             struct connected *conn);                              struct connected *conn);
   int isis_circuit_up (struct isis_circuit *circuit);
   void isis_circuit_down (struct isis_circuit *);
   void circuit_update_nlpids (struct isis_circuit *circuit);
   void isis_circuit_print_vty (struct isis_circuit *circuit, struct vty *vty,
                                char detail);
   size_t isis_circuit_pdu_size(struct isis_circuit *circuit);
   void isis_circuit_stream(struct isis_circuit *circuit, struct stream **stream);
   
 #endif /* _ZEBRA_ISIS_CIRCUIT_H */  #endif /* _ZEBRA_ISIS_CIRCUIT_H */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


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