mirror of
https://gitlab.nic.cz/labs/bird.git
synced 2024-12-22 17:51:53 +00:00
BGP: Add counter of FSM established transitions
The counter is persistent through protocol up/down/restart events.
This commit is contained in:
parent
623e41cc50
commit
ee13f35d34
@ -504,6 +504,8 @@ bgp_conn_enter_established_state(struct bgp_conn *conn)
|
|||||||
struct bgp_channel *c;
|
struct bgp_channel *c;
|
||||||
|
|
||||||
BGP_TRACE(D_EVENTS, "BGP session established");
|
BGP_TRACE(D_EVENTS, "BGP session established");
|
||||||
|
p->last_established = current_time();
|
||||||
|
p->fsm_established_transitions++;
|
||||||
|
|
||||||
/* For multi-hop BGP sessions */
|
/* For multi-hop BGP sessions */
|
||||||
if (ipa_zero(p->source_addr))
|
if (ipa_zero(p->source_addr))
|
||||||
@ -616,6 +618,7 @@ static void
|
|||||||
bgp_conn_leave_established_state(struct bgp_proto *p)
|
bgp_conn_leave_established_state(struct bgp_proto *p)
|
||||||
{
|
{
|
||||||
BGP_TRACE(D_EVENTS, "BGP session closed");
|
BGP_TRACE(D_EVENTS, "BGP session closed");
|
||||||
|
p->last_established = current_time();
|
||||||
p->conn = NULL;
|
p->conn = NULL;
|
||||||
|
|
||||||
if (p->p.proto_state == PS_UP)
|
if (p->p.proto_state == PS_UP)
|
||||||
@ -2156,6 +2159,9 @@ bgp_show_proto_info(struct proto *P)
|
|||||||
tm_remains(p->conn->keepalive_timer), p->conn->keepalive_time);
|
tm_remains(p->conn->keepalive_timer), p->conn->keepalive_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
cli_msg(-1006, " FSM established transitions: %u",
|
||||||
|
p->fsm_established_transitions);
|
||||||
|
|
||||||
struct bgp_stats *s = &p->stats;
|
struct bgp_stats *s = &p->stats;
|
||||||
cli_msg(-1006, " Statistics:");
|
cli_msg(-1006, " Statistics:");
|
||||||
cli_msg(-1006, " rx-open %u rx-update %u rx-notify %u rx-keepalive %u rx-refresh %u",
|
cli_msg(-1006, " rx-open %u rx-update %u rx-notify %u rx-keepalive %u rx-refresh %u",
|
||||||
|
@ -267,6 +267,8 @@ struct bgp_proto {
|
|||||||
struct bgp_socket *sock; /* Shared listening socket */
|
struct bgp_socket *sock; /* Shared listening socket */
|
||||||
struct bfd_request *bfd_req; /* BFD request, if BFD is used */
|
struct bfd_request *bfd_req; /* BFD request, if BFD is used */
|
||||||
struct bgp_stats stats; /* Packet statistics */
|
struct bgp_stats stats; /* Packet statistics */
|
||||||
|
uint fsm_established_transitions; /* Number of established transitions */
|
||||||
|
btime last_established; /* Last time of enter/leave of established state */
|
||||||
ip_addr source_addr; /* Local address used as an advertised next hop */
|
ip_addr source_addr; /* Local address used as an advertised next hop */
|
||||||
ip_addr link_addr; /* Link-local version of source_addr */
|
ip_addr link_addr; /* Link-local version of source_addr */
|
||||||
event *event; /* Event for respawning and shutting process */
|
event *event; /* Event for respawning and shutting process */
|
||||||
|
Loading…
Reference in New Issue
Block a user