summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-10-09 16:10:44 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-10-09 16:10:44 -0400
commitca9e5ab31616da31d81ec3ee7c9f84d601a8c00b (patch)
tree32e0aa556c8be0aa57da349445cb8d49fbedd384
parentd00d0f9634c39cc263b7a56b46034ee73b4fa83c (diff)
bgpd: AS paths are uint32_t instead of integers
We have some JSON output that was displaying high order AS path data as negative numbers: { "paths":[ { "aspath":{ "string":"4200010118 4200010000 20473 1299", "segments":[ { "type":"as-sequence", "list":[ -94957178, -94957296, 20473, 1299 ] } ], Notice "String" output -vs- the list. With fixed code: "paths":[ { "aspath":{ "string":"64539 4294967000 15096 6939 7922 7332 4249", "segments":[ { "type":"as-sequence", "list":[ 64539, 4294967000, 15096, 6939, 7922, 7332, 4249 ] } ], Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--bgpd/bgp_aspath.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/bgpd/bgp_aspath.c b/bgpd/bgp_aspath.c
index 6caeb7ca1f..4257b601f1 100644
--- a/bgpd/bgp_aspath.c
+++ b/bgpd/bgp_aspath.c
@@ -576,7 +576,7 @@ static void aspath_make_str_count(struct aspath *as, bool make_json)
if (make_json)
json_object_array_add(
jseg_list,
- json_object_new_int(seg->as[i]));
+ json_object_new_int64(seg->as[i]));
len += snprintf(str_buf + len, str_size - len, "%u",
seg->as[i]);