diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index c108fbc96a3e..d32a6aed459a 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -2883,7 +2883,7 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, json_path = json_object_new_array(); route_vty_out_detail(vty, bgp, dest, pi, AFI_L2VPN, - SAFI_EVPN, /* RPKI_NOT_BEING_USED, */ + SAFI_EVPN, RPKI_NOT_BEING_USED, json_path); if (json) diff --git a/bgpd/bgp_fsm.c b/bgpd/bgp_fsm.c index a04bab69a201..3b49f4f93607 100644 --- a/bgpd/bgp_fsm.c +++ b/bgpd/bgp_fsm.c @@ -2744,7 +2744,11 @@ int bgp_gr_update_all(struct bgp *bgp, int global_gr_cmd) "%s [BGP_GR] global_new_state == global_old_state :%s", __func__, print_global_gr_mode(global_new_state)); - return BGP_GR_NO_OPERATION; + /* Next state 'invalid' is actually an 'ignore' */ + if (global_new_state == GLOBAL_INVALID) + return BGP_GR_NO_OPERATION; + + return BGP_GR_NO_OPERATION; } return bgp_gr_lookup_n_update_all_peer(bgp, global_new_state, @@ -2892,6 +2896,10 @@ int bgp_neighbor_graceful_restart(struct peer *peer, int peer_gr_cmd) return BGP_ERR_GR_INVALID_CMD; } + /* Next state 'invalid' is actually an 'ignore' */ + if (peer_new_state == PEER_INVALID) + return BGP_GR_NO_OPERATION; + if (peer_new_state != peer_old_state) { result = peer_state.action_fun(peer, peer_old_state, peer_new_state); @@ -2940,6 +2948,9 @@ unsigned int bgp_peer_gr_action(struct peer *peer, int old_peer_state, return BGP_ERR_GR_INVALID_CMD; } + if (new_peer_state == PEER_INVALID) + return BGP_GR_NO_OPERATION; + bgp_gr_global_mode = bgp_global_gr_mode_get(peer->bgp); if ((old_peer_state == PEER_GLOBAL_INHERIT) diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index c50fe60b44ab..11f781d321fd 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -14579,7 +14579,7 @@ DEFUN (show_bgp_afi_vpn_rd_route, if (!strcmp(argv[5]->arg, "all")) return bgp_show_route(vty, NULL, argv[6]->arg, afi, SAFI_MPLS_VPN, NULL, 0, BGP_PATH_SHOW_ALL, - /* RPKI_NOT_BEING_USED,*/ + RPKI_NOT_BEING_USED, use_json(argc, argv)); ret = str2prefix_rd(argv[5]->arg, &prd);