diff options
author | Timo Teräs <timo.teras@iki.fi> | 2016-03-30 13:44:03 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2016-03-30 14:29:40 +0300 |
commit | 8cb40c91cdfb00ddf04e88d3ecd40403890d90f7 (patch) | |
tree | 6d6a3de27525820abb740f1fa8347b6f03986bad /zebra/zserv.h | |
parent | 86c5d2ee68f7b9c00ae4aeb5c8b3c5d82c5ebffc (diff) | |
download | quagga-8cb40c91cdfb00ddf04e88d3ecd40403890d90f7.tar.bz2 quagga-8cb40c91cdfb00ddf04e88d3ecd40403890d90f7.tar.xz |
cumulus take-3cumulus-take-3
Diffstat (limited to 'zebra/zserv.h')
-rw-r--r-- | zebra/zserv.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/zebra/zserv.h b/zebra/zserv.h index fc01f961..3f8af08e 100644 --- a/zebra/zserv.h +++ b/zebra/zserv.h @@ -26,6 +26,7 @@ #include "if.h" #include "workqueue.h" #include "vrf.h" +#include "routemap.h" /* Default port information. */ #define ZEBRA_VTY_PORT 2601 @@ -33,6 +34,8 @@ /* Default configuration filename. */ #define DEFAULT_CONFIG_FILE "zebra.conf" +#define ZEBRA_RMAP_DEFAULT_UPDATE_TIMER 5 /* disabled by default */ + /* Client structure. */ struct zserv { @@ -67,6 +70,37 @@ struct zserv /* Router-id information. */ vrf_bitmap_t ridinfo; + + /* client's protocol */ + u_char proto; + + /* 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; + + 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 */ @@ -105,6 +139,9 @@ extern int zsend_interface_add (struct zserv *, struct interface *); extern int zsend_interface_delete (struct zserv *, struct interface *); extern int zsend_interface_address (int, struct zserv *, struct interface *, struct connected *); +extern void nbr_connected_replacement_add_ipv6 (struct interface *, + struct in6_addr *, u_char); +extern void nbr_connected_delete_ipv6 (struct interface *, struct in6_addr *, u_char); extern int zsend_interface_update (int, struct zserv *, struct interface *); extern int zsend_route_multipath (int, struct zserv *, struct prefix *, struct rib *); @@ -113,4 +150,18 @@ extern int zsend_router_id_update (struct zserv *, struct prefix *, extern pid_t pid; +extern void zserv_create_header(struct stream *s, uint16_t cmd, vrf_id_t); +extern int zebra_server_send_message(struct zserv *client); + +extern void zebra_route_map_write_delay_timer(struct vty *); +extern route_map_result_t zebra_route_map_check (int family, int rib_type, + struct prefix *p, + struct nexthop *nexthop, + vrf_id_t vrf_id); +extern route_map_result_t zebra_nht_route_map_check (int family, + int client_proto, + struct prefix *p, + struct rib *, + struct nexthop *nexthop); + #endif /* _ZEBRA_ZEBRA_H */ |