diff options
| author | Louis Scalbert <louis.scalbert@6wind.com> | 2024-02-26 10:42:42 +0100 | 
|---|---|---|
| committer | Louis Scalbert <louis.scalbert@6wind.com> | 2024-06-05 11:08:46 +0200 | 
| commit | 64fe15fd28774333c51352ed53022014ee090ade (patch) | |
| tree | 1b2a972176ce06eab16b7fe09dc6c8216d1dfad7 /bgpd/rfapi | |
| parent | 1fcedd00d150ada5526e9f4b5dd86cfdc1218daa (diff) | |
bgpd: add bgp_path_info_num_labels()
Add bgp_path_info_num_labels() to get the number of labels stored in
a path_info structure.
Signed-off-by: Louis Scalbert <louis.scalbert@6wind.com>
Diffstat (limited to 'bgpd/rfapi')
| -rw-r--r-- | bgpd/rfapi/rfapi_import.c | 4 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_rib.c | 2 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_vty.c | 7 | ||||
| -rw-r--r-- | bgpd/rfapi/vnc_import_bgp.c | 21 | 
4 files changed, 18 insertions, 16 deletions
diff --git a/bgpd/rfapi/rfapi_import.c b/bgpd/rfapi/rfapi_import.c index 7fb7d5d7aa..7e19fb8c97 100644 --- a/bgpd/rfapi/rfapi_import.c +++ b/bgpd/rfapi/rfapi_import.c @@ -1271,7 +1271,7 @@ rfapiRouteInfo2NextHopEntry(struct rfapi_ip_prefix *rprefix,  		/* label comes from MP_REACH_NLRI label */  		vo->v.l2addr.label = -			bpi->extra->num_labels +			bgp_path_info_num_labels(bpi)  				? decode_label(&bpi->extra->label[0])  				: MPLS_INVALID_LABEL; @@ -4166,7 +4166,7 @@ static void rfapiBgpTableFilteredImport(struct bgp *bgp,  						       BGP_PATH_REMOVED))  						continue; -					if (bpi->extra && bpi->extra->num_labels) +					if (bgp_path_info_num_labels(bpi))  						label = decode_label(  							&bpi->extra->label[0]);  					(*rfapiBgpInfoFilteredImportFunction( diff --git a/bgpd/rfapi/rfapi_rib.c b/bgpd/rfapi/rfapi_rib.c index 11dccbf1b5..5c63576720 100644 --- a/bgpd/rfapi/rfapi_rib.c +++ b/bgpd/rfapi/rfapi_rib.c @@ -692,7 +692,7 @@ static void rfapiRibBi2Ri(struct bgp_path_info *bpi, struct rfapi_info *ri,  		/* label comes from MP_REACH_NLRI label */  		vo->v.l2addr.label = -			bpi->extra->num_labels +			bgp_path_info_num_labels(bpi)  				? decode_label(&bpi->extra->label[0])  				: MPLS_INVALID_LABEL; diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c index 2576a283f5..ddf95b63fc 100644 --- a/bgpd/rfapi/rfapi_vty.c +++ b/bgpd/rfapi/rfapi_vty.c @@ -413,7 +413,7 @@ void rfapi_vty_out_vncinfo(struct vty *vty, const struct prefix *p,  		XFREE(MTYPE_ECOMMUNITY_STR, s);  	} -	if (bpi->extra != NULL && bpi->extra->num_labels) { +	if (bgp_path_info_num_labels(bpi)) {  		if (bpi->extra->label[0] == BGP_PREVENT_VRF_2_VRF_LEAK)  			vty_out(vty, " label=VRF2VRF");  		else @@ -1052,7 +1052,7 @@ static int rfapiPrintRemoteRegBi(struct bgp *bgp, void *stream,  		snprintf(buf_un, sizeof(buf_un), "%s",  			 inet_ntop(pfx_vn.family, &pfx_vn.u.prefix, buf_ntop,  				   sizeof(buf_ntop))); -		if (bpi->extra && bpi->extra->num_labels) { +		if (bgp_path_info_num_labels(bpi)) {  			uint32_t l = decode_label(&bpi->extra->label[0]);  			snprintf(buf_vn, sizeof(buf_vn), "Label: %d", l);  		} else /* should never happen */ @@ -1161,8 +1161,7 @@ static int rfapiPrintRemoteRegBi(struct bgp *bgp, void *stream,  			}  		}  	} -	if (tun_type != BGP_ENCAP_TYPE_MPLS && bpi->extra && -	    bpi->extra->num_labels) { +	if (tun_type != BGP_ENCAP_TYPE_MPLS && bgp_path_info_num_labels(bpi)) {  		uint32_t l = decode_label(&bpi->extra->label[0]);  		if (!MPLS_LABEL_IS_NULL(l)) { diff --git a/bgpd/rfapi/vnc_import_bgp.c b/bgpd/rfapi/vnc_import_bgp.c index 09260dbca1..fbc0256128 100644 --- a/bgpd/rfapi/vnc_import_bgp.c +++ b/bgpd/rfapi/vnc_import_bgp.c @@ -470,7 +470,7 @@ static void vnc_import_bgp_add_route_mode_resolve_nve_one_bi(  	if (bgp_attr_get_ecommunity(bpi->attr))  		ecommunity_merge(new_ecom, bgp_attr_get_ecommunity(bpi->attr)); -	if (bpi->extra && bpi->extra->num_labels) +	if (bgp_path_info_num_labels(bpi))  		label = decode_label(&bpi->extra->label[0]);  	add_vnc_route(&vncHDResolveNve, bgp, SAFI_MPLS_VPN, @@ -1699,7 +1699,8 @@ static void vnc_import_bgp_exterior_add_route_it(  				if (bpi_interior->extra) {  					prd = &bpi_interior->extra->vnc->vnc  						       .import.rd; -					if (bpi_interior->extra->num_labels) +					if (bgp_path_info_num_labels( +						    bpi_interior))  						label = decode_label(  							&bpi_interior->extra  								 ->label[0]); @@ -1870,7 +1871,8 @@ void vnc_import_bgp_exterior_del_route(  				if (bpi_interior->extra) {  					prd = &bpi_interior->extra->vnc->vnc  						       .import.rd; -					if (bpi_interior->extra->num_labels) +					if (bgp_path_info_num_labels( +						    bpi_interior))  						label = decode_label(  							&bpi_interior->extra  								 ->label[0]); @@ -2019,7 +2021,7 @@ void vnc_import_bgp_exterior_add_route_interior(  			if (bpi_interior->extra) {  				prd = &bpi_interior->extra->vnc->vnc.import.rd; -				if (bpi_interior->extra->num_labels) +				if (bgp_path_info_num_labels(bpi_interior))  					label = decode_label(  						&bpi_interior->extra->label[0]);  			} else @@ -2134,7 +2136,7 @@ void vnc_import_bgp_exterior_add_route_interior(  					if (bpi->extra) {  						prd = &bpi->extra->vnc->vnc  							       .import.rd; -						if (bpi->extra->num_labels) +						if (bgp_path_info_num_labels(bpi))  							label = decode_label(  								&bpi->extra->label  									 [0]); @@ -2158,7 +2160,8 @@ void vnc_import_bgp_exterior_add_route_interior(  				if (bpi_interior->extra) {  					prd = &bpi_interior->extra->vnc->vnc  						       .import.rd; -					if (bpi_interior->extra->num_labels) +					if (bgp_path_info_num_labels( +						    bpi_interior))  						label = decode_label(  							&bpi_interior->extra  								 ->label[0]); @@ -2278,7 +2281,7 @@ void vnc_import_bgp_exterior_add_route_interior(  			 */  			if (bpi_interior->extra) {  				prd = &bpi_interior->extra->vnc->vnc.import.rd; -				if (bpi_interior->extra->num_labels) +				if (bgp_path_info_num_labels(bpi_interior))  					label = decode_label(  						&bpi_interior->extra->label[0]);  			} else @@ -2387,7 +2390,7 @@ void vnc_import_bgp_exterior_del_route_interior(  		if (bpi_interior->extra) {  			prd = &bpi_interior->extra->vnc->vnc.import.rd; -			if (bpi_interior->extra->num_labels) +			if (bgp_path_info_num_labels(bpi_interior))  				label = decode_label(  					&bpi_interior->extra->label[0]);  		} else @@ -2466,7 +2469,7 @@ void vnc_import_bgp_exterior_del_route_interior(  				if (bpi->extra) {  					prd = &bpi->extra->vnc->vnc.import.rd; -					if (bpi->extra->num_labels) +					if (bgp_path_info_num_labels(bpi))  						label = decode_label(  							&bpi->extra->label[0]);  				} else  | 
