bgpd: Format properly show bgp neighbors for graceful restart stuff

Before:

```
  Graceful restart informations:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode  : Helper*
    Remote GR Mode : Helper
    R bit          : False
    Timers :
     Configured Restart Time(sec)  : 120
     Received Restart Time(sec)    : 120
    IPv4 Unicast :
     F bit                 : False
     End-of-RIB Received   : Yes
     End-of-RIB Send       : Yes
     EoRSentAfterUpdate   : Yes
     Timers:
      Configured Stale Path Time(sec)        : 360
```

After:

```
  Graceful restart informations:
    End-of-RIB send: IPv4 Unicast
    End-of-RIB received: IPv4 Unicast
    Local GR Mode: Helper*
    Remote GR Mode: Helper
    R bit: False
    Timers:
      Configured Restart Time(sec): 120
      Received Restart Time(sec): 120
    IPv4 Unicast:
      F bit: False
      End-of-RIB sent: Yes
      End-of-RIB sent after update: Yes
      End-of-RIB received: Yes
      Timers:
        Configured Stale Path Time(sec): 360
```

Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
This commit is contained in:
Donatas Abraitis 2020-02-10 13:59:05 +02:00
parent f94ed830df
commit a53ca37b89

View File

@ -9606,7 +9606,41 @@ static void bgp_show_neighbor_graceful_restart_capability_per_afi_safi(
}
if (!use_json)
vty_out(vty, " End-of-RIB Received : ");
vty_out(vty, " End-of-RIB sent: ");
if (CHECK_FLAG(peer->af_sflags[afi][safi],
PEER_STATUS_EOR_SEND)) {
if (use_json) {
json_object_boolean_true_add(
json_endofrib_status,
"endOfRibSend");
PRINT_EOR_JSON(eor_flag);
} else {
vty_out(vty, "Yes\n");
vty_out(vty,
" End-of-RIB sent after update: ");
PRINT_EOR(eor_flag);
}
} else {
if (use_json) {
json_object_boolean_false_add(
json_endofrib_status,
"endOfRibSend");
json_object_boolean_false_add(
json_endofrib_status,
"endOfRibSentAfterUpdate");
} else {
vty_out(vty, "No\n");
vty_out(vty,
" End-of-RIB sent after update: ");
vty_out(vty, "No\n");
}
}
if (!use_json)
vty_out(vty, " End-of-RIB received: ");
if (CHECK_FLAG(peer->af_sflags[afi][safi],
PEER_STATUS_EOR_RECEIVED)) {
@ -9625,40 +9659,6 @@ static void bgp_show_neighbor_graceful_restart_capability_per_afi_safi(
vty_out(vty, "No\n");
}
if (!use_json)
vty_out(vty, " End-of-RIB Send : ");
if (CHECK_FLAG(peer->af_sflags[afi][safi],
PEER_STATUS_EOR_SEND)) {
if (use_json) {
json_object_boolean_true_add(
json_endofrib_status,
"endOfRibSend");
PRINT_EOR_JSON(eor_flag);
} else {
vty_out(vty, "Yes\n");
vty_out(vty,
" EoRSentAfterUpdate : ");
PRINT_EOR(eor_flag);
}
} else {
if (use_json) {
json_object_boolean_false_add(
json_endofrib_status,
"endOfRibSend");
json_object_boolean_false_add(
json_endofrib_status,
"endOfRibSentAfterUpdate");
} else {
vty_out(vty, "No\n");
vty_out(vty,
" EoRSentAfterUpdate : ");
vty_out(vty, "No\n");
}
}
if (use_json) {
json_object_int_add(json_timer,
"stalePathTimer",
@ -9699,37 +9699,28 @@ static void bgp_show_neighbor_graceful_restart_capability_per_afi_safi(
}
} else {
vty_out(vty, " Timers:\n");
vty_out(vty, "%*s", 6, "");
vty_out(vty,
"Configured Stale Path Time(sec)%*s: %u\n",
8, "", peer->bgp->stalepath_time);
" Configured Stale Path Time(sec): %u\n",
peer->bgp->stalepath_time);
if (peer->t_gr_stale != NULL) {
vty_out(vty, "%*s", 6, "");
if (peer->t_gr_stale != NULL)
vty_out(vty,
"Stale Path Remaining(sec)%*s: %ld\n",
14, "",
" Stale Path Remaining(sec): %ld\n",
thread_timer_remain_second(
peer->t_gr_stale));
}
/* Display Configured Selection
* Deferral only when when
* Gr mode is enabled.
*/
if (CHECK_FLAG(peer->flags,
PEER_FLAG_GRACEFUL_RESTART)) {
vty_out(vty, "%*s", 6, "");
PEER_FLAG_GRACEFUL_RESTART))
vty_out(vty,
" Configured Selection Deferral Time(sec): %u\n",
peer->bgp->select_defer_time);
}
if (peer->bgp->gr_info[afi][safi]
.t_select_deferral
!= NULL) {
vty_out(vty, "%*s", 6, "");
!= NULL)
vty_out(vty,
" Selection Deferral Time Remaining(sec): %ld\n",
thread_timer_remain_second(
@ -9738,7 +9729,6 @@ static void bgp_show_neighbor_graceful_restart_capability_per_afi_safi(
[safi]
.t_select_deferral));
}
}
if (use_json) {
json_object_object_add(json_afi_safi,
"endOfRibStatus",
@ -9784,12 +9774,10 @@ static void bgp_show_neighbor_graceful_restart_time(struct vty *vty,
vty_out(vty, " Received Restart Time(sec): %u\n",
p->v_gr_restart);
if (p->t_gr_restart != NULL)
vty_out(vty,
" Restart Time Remaining(sec) : %ld\n",
vty_out(vty, " Restart Time Remaining(sec): %ld\n",
thread_timer_remain_second(p->t_gr_restart));
if (p->t_gr_restart != NULL) {
vty_out(vty,
" Restart Time Remaining(sec) : %ld\n",
vty_out(vty, " Restart Time Remaining(sec): %ld\n",
thread_timer_remain_second(p->t_gr_restart));
}
}