diff options
Diffstat (limited to 'zebra/zserv.h')
| -rw-r--r-- | zebra/zserv.h | 261 | 
1 files changed, 130 insertions, 131 deletions
diff --git a/zebra/zserv.h b/zebra/zserv.h index 2d6f6fae77..a2cf5d9f41 100644 --- a/zebra/zserv.h +++ b/zebra/zserv.h @@ -39,152 +39,151 @@  #define ZEBRA_RMAP_DEFAULT_UPDATE_TIMER 5 /* disabled by default */  /* Client structure. */ -struct zserv -{ -  /* Client file descriptor. */ -  int sock; - -  /* Input/output buffer to the client. */ -  struct stream *ibuf; -  struct stream *obuf; - -  /* Buffer of data waiting to be written to client. */ -  struct buffer *wb; - -  /* Threads for read/write. */ -  struct thread *t_read; -  struct thread *t_write; - -  /* Thread for delayed close. */ -  struct thread *t_suicide; - -  /* default routing table this client munges */ -  int rtm_table; - -  /* This client's redistribute flag. */ -  struct redist_proto mi_redist[AFI_MAX][ZEBRA_ROUTE_MAX]; -  vrf_bitmap_t redist[AFI_MAX][ZEBRA_ROUTE_MAX]; - -  /* Redistribute default route flag. */ -  vrf_bitmap_t redist_default; - -  /* Interface information. */ -  vrf_bitmap_t ifinfo; - -  /* Router-id information. */ -  vrf_bitmap_t ridinfo; - -  /* client's protocol */ -  u_char proto; -  u_short instance; -  u_char is_synchronous; - -  /* Statistics */ -  u_int32_t redist_v4_add_cnt; -  u_int32_t redist_v4_del_cnt; -  u_int32_t redist_v6_add_cnt; -  u_int32_t redist_v6_del_cnt; -  u_int32_t v4_route_add_cnt; -  u_int32_t v4_route_upd8_cnt; -  u_int32_t v4_route_del_cnt; -  u_int32_t v6_route_add_cnt; -  u_int32_t v6_route_del_cnt; -  u_int32_t v6_route_upd8_cnt; -  u_int32_t connected_rt_add_cnt; -  u_int32_t connected_rt_del_cnt; -  u_int32_t ifup_cnt; -  u_int32_t ifdown_cnt; -  u_int32_t ifadd_cnt; -  u_int32_t ifdel_cnt; -  u_int32_t if_bfd_cnt; -  u_int32_t bfd_peer_add_cnt; -  u_int32_t bfd_peer_upd8_cnt; -  u_int32_t bfd_peer_del_cnt; -  u_int32_t bfd_peer_replay_cnt; -  u_int32_t vrfadd_cnt; -  u_int32_t vrfdel_cnt; -  u_int32_t if_vrfchg_cnt; -  u_int32_t bfd_client_reg_cnt; -  u_int32_t vniadd_cnt; -  u_int32_t vnidel_cnt; -  u_int32_t macipadd_cnt; -  u_int32_t macipdel_cnt; - -  time_t connect_time; -  time_t last_read_time; -  time_t last_write_time; -  time_t nh_reg_time; -  time_t nh_dereg_time; -  time_t nh_last_upd_time; - -  int last_read_cmd; -  int last_write_cmd; +struct zserv { +	/* Client file descriptor. */ +	int sock; + +	/* Input/output buffer to the client. */ +	struct stream *ibuf; +	struct stream *obuf; + +	/* Buffer of data waiting to be written to client. */ +	struct buffer *wb; + +	/* Threads for read/write. */ +	struct thread *t_read; +	struct thread *t_write; + +	/* Thread for delayed close. */ +	struct thread *t_suicide; + +	/* default routing table this client munges */ +	int rtm_table; + +	/* This client's redistribute flag. */ +	struct redist_proto mi_redist[AFI_MAX][ZEBRA_ROUTE_MAX]; +	vrf_bitmap_t redist[AFI_MAX][ZEBRA_ROUTE_MAX]; + +	/* Redistribute default route flag. */ +	vrf_bitmap_t redist_default; + +	/* Interface information. */ +	vrf_bitmap_t ifinfo; + +	/* Router-id information. */ +	vrf_bitmap_t ridinfo; + +	/* client's protocol */ +	u_char proto; +	u_short instance; +	u_char is_synchronous; + +	/* Statistics */ +	u_int32_t redist_v4_add_cnt; +	u_int32_t redist_v4_del_cnt; +	u_int32_t redist_v6_add_cnt; +	u_int32_t redist_v6_del_cnt; +	u_int32_t v4_route_add_cnt; +	u_int32_t v4_route_upd8_cnt; +	u_int32_t v4_route_del_cnt; +	u_int32_t v6_route_add_cnt; +	u_int32_t v6_route_del_cnt; +	u_int32_t v6_route_upd8_cnt; +	u_int32_t connected_rt_add_cnt; +	u_int32_t connected_rt_del_cnt; +	u_int32_t ifup_cnt; +	u_int32_t ifdown_cnt; +	u_int32_t ifadd_cnt; +	u_int32_t ifdel_cnt; +	u_int32_t if_bfd_cnt; +	u_int32_t bfd_peer_add_cnt; +	u_int32_t bfd_peer_upd8_cnt; +	u_int32_t bfd_peer_del_cnt; +	u_int32_t bfd_peer_replay_cnt; +	u_int32_t vrfadd_cnt; +	u_int32_t vrfdel_cnt; +	u_int32_t if_vrfchg_cnt; +	u_int32_t bfd_client_reg_cnt; +	u_int32_t vniadd_cnt; +	u_int32_t vnidel_cnt; +	u_int32_t macipadd_cnt; +	u_int32_t macipdel_cnt; + +	time_t connect_time; +	time_t last_read_time; +	time_t last_write_time; +	time_t nh_reg_time; +	time_t nh_dereg_time; +	time_t nh_last_upd_time; + +	int last_read_cmd; +	int last_write_cmd;  };  /* Zebra instance */ -struct zebra_t -{ -  /* Thread master */ -  struct thread_master *master; -  struct list *client_list; +struct zebra_t { +	/* Thread master */ +	struct thread_master *master; +	struct list *client_list; -  /* default table */ -  u_int32_t rtm_table_default; +	/* default table */ +	u_int32_t rtm_table_default; -  /* rib work queue */ -  struct work_queue *ribq; -  struct meta_queue *mq; +	/* rib work queue */ +	struct work_queue *ribq; +	struct meta_queue *mq; -  /* LSP work queue */ -  struct work_queue *lsp_process_q; +	/* LSP work queue */ +	struct work_queue *lsp_process_q;  };  extern struct zebra_t zebrad;  extern unsigned int multipath_num;  /* Prototypes. */ -extern void zebra_init (void); -extern void zebra_if_init (void); -extern void zebra_zserv_socket_init (char *path); -extern void hostinfo_get (void); -extern void rib_init (void); -extern void interface_list (struct zebra_ns *); -extern void route_read (struct zebra_ns *); -extern void macfdb_read (struct zebra_ns *); -extern void macfdb_read_for_bridge (struct zebra_ns *, struct interface *, -                                    struct interface *); -extern void neigh_read (struct zebra_ns *); -extern void neigh_read_for_vlan (struct zebra_ns *, struct interface *); -extern void kernel_init (struct zebra_ns *); -extern void kernel_terminate (struct zebra_ns *); -extern void zebra_route_map_init (void); -extern void zebra_vty_init (void); - -extern int zsend_vrf_add (struct zserv *, struct zebra_vrf *); -extern int zsend_vrf_delete (struct zserv *, struct zebra_vrf *); - -extern int zsend_interface_add (struct zserv *, struct interface *); -extern int zsend_interface_delete (struct zserv *, struct interface *); -extern int zsend_interface_addresses (struct zserv *, struct interface *); -extern int zsend_interface_address (int, struct zserv *, struct interface *, -                                    struct connected *); -extern void nbr_connected_add_ipv6 (struct interface *, struct in6_addr *); -extern void nbr_connected_delete_ipv6 (struct interface *, struct in6_addr *); -extern int zsend_interface_update (int, struct zserv *, struct interface *); -extern int zsend_redistribute_route (int, struct zserv *, struct prefix *, -                                     struct prefix *, struct route_entry *); -extern int zsend_router_id_update (struct zserv *, struct prefix *, -                                   vrf_id_t); -extern int zsend_interface_vrf_update (struct zserv *, struct interface *, -                                       vrf_id_t); - -extern int zsend_interface_link_params (struct zserv *, struct interface *); +extern void zebra_init(void); +extern void zebra_if_init(void); +extern void zebra_zserv_socket_init(char *path); +extern void hostinfo_get(void); +extern void rib_init(void); +extern void interface_list(struct zebra_ns *); +extern void route_read(struct zebra_ns *); +extern void macfdb_read(struct zebra_ns *); +extern void macfdb_read_for_bridge(struct zebra_ns *, struct interface *, +				   struct interface *); +extern void neigh_read(struct zebra_ns *); +extern void neigh_read_for_vlan(struct zebra_ns *, struct interface *); +extern void kernel_init(struct zebra_ns *); +extern void kernel_terminate(struct zebra_ns *); +extern void zebra_route_map_init(void); +extern void zebra_vty_init(void); + +extern int zsend_vrf_add(struct zserv *, struct zebra_vrf *); +extern int zsend_vrf_delete(struct zserv *, struct zebra_vrf *); + +extern int zsend_interface_add(struct zserv *, struct interface *); +extern int zsend_interface_delete(struct zserv *, struct interface *); +extern int zsend_interface_addresses(struct zserv *, struct interface *); +extern int zsend_interface_address(int, struct zserv *, struct interface *, +				   struct connected *); +extern void nbr_connected_add_ipv6(struct interface *, struct in6_addr *); +extern void nbr_connected_delete_ipv6(struct interface *, struct in6_addr *); +extern int zsend_interface_update(int, struct zserv *, struct interface *); +extern int zsend_redistribute_route(int, struct zserv *, struct prefix *, +				    struct prefix *, struct route_entry *); +extern int zsend_router_id_update(struct zserv *, struct prefix *, vrf_id_t); +extern int zsend_interface_vrf_update(struct zserv *, struct interface *, +				      vrf_id_t); + +extern int zsend_interface_link_params(struct zserv *, struct interface *);  extern pid_t pid; -extern void zserv_create_header(struct stream *s, uint16_t cmd, vrf_id_t vrf_id); -extern void zserv_nexthop_num_warn(const char *, const struct prefix *, const unsigned int); +extern void zserv_create_header(struct stream *s, uint16_t cmd, +				vrf_id_t vrf_id); +extern void zserv_nexthop_num_warn(const char *, const struct prefix *, +				   const unsigned int);  extern int zebra_server_send_message(struct zserv *client); -extern struct zserv *zebra_find_client (u_char proto); +extern struct zserv *zebra_find_client(u_char proto);  #endif /* _ZEBRA_ZEBRA_H */  | 
