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/bgp_updgrp_packet.c | |
| 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/bgp_updgrp_packet.c')
| -rw-r--r-- | bgpd/bgp_updgrp_packet.c | 7 | 
1 files changed, 4 insertions, 3 deletions
diff --git a/bgpd/bgp_updgrp_packet.c b/bgpd/bgp_updgrp_packet.c index 1f691b6a9e..def2afb6da 100644 --- a/bgpd/bgp_updgrp_packet.c +++ b/bgpd/bgp_updgrp_packet.c @@ -814,9 +814,10 @@ struct bpacket *subgroup_update_packet(struct update_subgroup *subgrp)  					path);  				label_pnt = &label;  				num_labels = 1; -			} else if (path && path->extra) { -				label_pnt = &path->extra->label[0]; -				num_labels = path->extra->num_labels; +			} else { +				num_labels = bgp_path_info_num_labels(path); +				label_pnt = num_labels ? &path->extra->label[0] +						       : NULL;  			}  			if (stream_empty(snlri))  | 
