diff options
| author | Russ White <russ@riw.us> | 2023-02-21 08:01:03 -0500 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-21 08:01:03 -0500 | 
| commit | ba755d35e508c2452e5459bdd7c0dd67a70a88a4 (patch) | |
| tree | adc08f46788b8012240faec23ae7e7271bb0d40d /bgpd/bgp_evpn_mh.c | |
| parent | 39c664c4ea530a9460efa1a78fe669ae56c85f83 (diff) | |
| parent | 616e9f0d9f0458788adf4b30707016c8db383b02 (diff) | |
Merge pull request #12248 from pguibert6WIND/bgpasdot
lib, bgp: add initial support for asdot format
Diffstat (limited to 'bgpd/bgp_evpn_mh.c')
| -rw-r--r-- | bgpd/bgp_evpn_mh.c | 28 | 
1 files changed, 19 insertions, 9 deletions
diff --git a/bgpd/bgp_evpn_mh.c b/bgpd/bgp_evpn_mh.c index fa913016fb..391ca4cd19 100644 --- a/bgpd/bgp_evpn_mh.c +++ b/bgpd/bgp_evpn_mh.c @@ -2395,7 +2395,8 @@ static void bgp_evpn_es_json_frag_fill(json_object *json_frags,  	for (ALL_LIST_ELEMENTS_RO(es->es_frag_list, node, es_frag)) {  		json_frag = json_object_new_object(); -		json_object_string_addf(json_frag, "rd", "%pRD", &es_frag->prd); +		json_object_string_addf(json_frag, "rd", "%pRDP", +					&es_frag->prd);  		json_object_int_add(json_frag, "eviCount",  				    listcount(es_frag->es_evi_frag_list)); @@ -2410,7 +2411,7 @@ static void bgp_evpn_es_frag_show_detail(struct vty *vty,  	struct bgp_evpn_es_frag *es_frag;  	for (ALL_LIST_ELEMENTS_RO(es->es_frag_list, node, es_frag)) { -		vty_out(vty, "  %pRD EVIs: %d\n", &es_frag->prd, +		vty_out(vty, "  %pRDP EVIs: %d\n", &es_frag->prd,  			listcount(es_frag->es_evi_frag_list));  	}  } @@ -2524,7 +2525,7 @@ static void bgp_evpn_es_show_entry(struct vty *vty,  		json_object_string_add(json, "esi", es->esi_str);  		if (es->es_base_frag) -			json_object_string_addf(json, "rd", "%pRD", +			json_object_string_addf(json, "rd", "%pRDP",  						&es->es_base_frag->prd);  		if (es->flags & (BGP_EVPNES_LOCAL | BGP_EVPNES_REMOTE)) { @@ -2562,7 +2563,7 @@ static void bgp_evpn_es_show_entry(struct vty *vty,  		bgp_evpn_es_vteps_str(vtep_str, es, sizeof(vtep_str)); -		vty_out(vty, "%-30s %-5s %-21pRD %-8d %s\n", es->esi_str, +		vty_out(vty, "%-30s %-5s %-21pRDP %-8d %s\n", es->esi_str,  			type_str, &es->es_base_frag->prd,  			listcount(es->es_evi_list), vtep_str);  	} @@ -2639,7 +2640,7 @@ static void bgp_evpn_es_show_entry_detail(struct vty *vty,  		vty_out(vty, "ESI: %s\n", es->esi_str);  		vty_out(vty, " Type: %s\n", type_str); -		vty_out(vty, " RD: %pRD\n", &es->es_base_frag->prd); +		vty_out(vty, " RD: %pRDP\n", &es->es_base_frag->prd);  		vty_out(vty, " Originator-IP: %pI4\n", &es->originator_ip);  		if (es->flags & BGP_EVPNES_LOCAL)  			vty_out(vty, " Local ES DF preference: %u\n", @@ -3958,7 +3959,8 @@ static void bgp_evpn_es_evi_show_entry(struct vty *vty,  		json_object *json_types;  		json_object_string_add(json, "esi", es_evi->es->esi_str); -		json_object_int_add(json, "vni", es_evi->vpn->vni); +		if (es_evi->vpn) +			json_object_int_add(json, "vni", es_evi->vpn->vni);  		if (es_evi->flags & (BGP_EVPNES_EVI_LOCAL |  					BGP_EVPNES_EVI_REMOTE)) { @@ -4002,13 +4004,18 @@ static void bgp_evpn_es_evi_show_entry(struct vty *vty,  static void bgp_evpn_es_evi_show_entry_detail(struct vty *vty,  		struct bgp_evpn_es_evi *es_evi, json_object *json)  { +	enum asnotation_mode mode; + +	mode = bgp_get_asnotation(es_evi->vpn->bgp_vrf); +  	if (json) {  		json_object *json_flags;  		/* Add the "brief" info first */  		bgp_evpn_es_evi_show_entry(vty, es_evi, json);  		if (es_evi->es_frag) -			json_object_string_addf(json, "esFragmentRd", "%pRD", +			json_object_string_addf(json, "esFragmentRd", +						BGP_RD_AS_FORMAT(mode),  						&es_evi->es_frag->prd);  		if (es_evi->flags & BGP_EVPNES_EVI_INCONS_VTEP_LIST) {  			json_flags = json_object_new_array(); @@ -4032,9 +4039,12 @@ static void bgp_evpn_es_evi_show_entry_detail(struct vty *vty,  		vty_out(vty, "VNI: %d ESI: %s\n",  				es_evi->vpn->vni, es_evi->es->esi_str);  		vty_out(vty, " Type: %s\n", type_str); -		if (es_evi->es_frag) -			vty_out(vty, " ES fragment RD: %pRD\n", +		if (es_evi->es_frag) { +			vty_out(vty, " ES fragment RD: "); +			vty_out(vty, BGP_RD_AS_FORMAT(mode),  				&es_evi->es_frag->prd); +			vty_out(vty, "\n"); +		}  		vty_out(vty, " Inconsistencies: %s\n",  			(es_evi->flags & BGP_EVPNES_EVI_INCONS_VTEP_LIST) ?  			"es-vtep-mismatch":"-");  | 
