summaryrefslogtreecommitdiffstats
path: root/zebra/zserv.h
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/zserv.h')
-rw-r--r--zebra/zserv.h261
1 files changed, 130 insertions, 131 deletions
diff --git a/zebra/zserv.h b/zebra/zserv.h
index 2d6f6fae7..a2cf5d9f4 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 */