mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 22:26:14 +00:00
Merge pull request #10125 from ton31337/feature/replace_prefix_to_json_object_string_addf
*: Replace prefix2str for JSON to %pFX
This commit is contained in:
commit
e44c9059e0
@ -1345,10 +1345,12 @@ static int bgp_show_ethernet_vpn(struct vty *vty, struct prefix_rd *prd,
|
||||
|
||||
json_prefix_info = json_object_new_object();
|
||||
|
||||
json_object_string_add(
|
||||
json_prefix_info, "prefix",
|
||||
prefix2str((struct prefix_evpn *)p, buf,
|
||||
BUFSIZ));
|
||||
prefix2str((struct prefix_evpn *)p, buf,
|
||||
BUFSIZ);
|
||||
|
||||
json_object_string_addf(
|
||||
json_prefix_info, "prefix", "%pFX",
|
||||
(struct prefix_evpn *)p);
|
||||
|
||||
json_object_int_add(json_prefix_info,
|
||||
"prefixLen", p->prefixlen);
|
||||
|
@ -8384,7 +8384,6 @@ static void route_vty_out_route(struct bgp_dest *dest, const struct prefix *p,
|
||||
{
|
||||
int len = 0;
|
||||
char buf[BUFSIZ];
|
||||
char buf2[BUFSIZ];
|
||||
|
||||
if (p->family == AF_INET) {
|
||||
if (!json) {
|
||||
@ -8395,8 +8394,7 @@ static void route_vty_out_route(struct bgp_dest *dest, const struct prefix *p,
|
||||
&p->u.prefix, buf,
|
||||
BUFSIZ));
|
||||
json_object_int_add(json, "prefixLen", p->prefixlen);
|
||||
prefix2str(p, buf2, PREFIX_STRLEN);
|
||||
json_object_string_add(json, "network", buf2);
|
||||
json_object_string_addf(json, "network", "%pFX", p);
|
||||
json_object_int_add(json, "version", dest->version);
|
||||
}
|
||||
} else if (p->family == AF_ETHERNET) {
|
||||
@ -8420,8 +8418,7 @@ static void route_vty_out_route(struct bgp_dest *dest, const struct prefix *p,
|
||||
&p->u.prefix, buf,
|
||||
BUFSIZ));
|
||||
json_object_int_add(json, "prefixLen", p->prefixlen);
|
||||
prefix2str(p, buf2, PREFIX_STRLEN);
|
||||
json_object_string_add(json, "network", buf2);
|
||||
json_object_string_addf(json, "network", "%pFX", p);
|
||||
json_object_int_add(json, "version", dest->version);
|
||||
}
|
||||
}
|
||||
@ -9100,8 +9097,7 @@ void route_vty_out_tmp(struct vty *vty, struct bgp_dest *dest,
|
||||
BUFSIZ));
|
||||
json_object_int_add(json_net, "prefixLen",
|
||||
p->prefixlen);
|
||||
prefix2str(p, buff, PREFIX_STRLEN);
|
||||
json_object_string_add(json_net, "network", buff);
|
||||
json_object_string_addf(json_net, "network", "%pFX", p);
|
||||
}
|
||||
} else
|
||||
route_vty_out_route(dest, p, vty, NULL, wide);
|
||||
@ -11247,7 +11243,6 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp,
|
||||
struct peer *peer;
|
||||
struct listnode *node, *nnode;
|
||||
char buf1[RD_ADDRSTRLEN];
|
||||
char prefix_str[BUFSIZ];
|
||||
int count = 0;
|
||||
int best = 0;
|
||||
int suppress = 0;
|
||||
@ -11301,8 +11296,7 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp,
|
||||
dest->version);
|
||||
|
||||
} else {
|
||||
json_object_string_add(json, "prefix",
|
||||
prefix2str(p, prefix_str, sizeof(prefix_str)));
|
||||
json_object_string_addf(json, "prefix", "%pFX", p);
|
||||
json_object_int_add(json, "version", dest->version);
|
||||
|
||||
}
|
||||
|
@ -12363,10 +12363,10 @@ static void bgp_show_peer(struct vty *vty, struct peer *p, bool use_json,
|
||||
p->group, &prefix);
|
||||
|
||||
if (range) {
|
||||
prefix2str(range, buf1, sizeof(buf1));
|
||||
json_object_string_add(
|
||||
json_object_string_addf(
|
||||
json_neigh,
|
||||
"peerSubnetRangeGroup", buf1);
|
||||
"peerSubnetRangeGroup", "%pFX",
|
||||
range);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
@ -1010,7 +1010,6 @@ static void vty_show_prefix_entry(struct vty *vty, json_object *json, afi_t afi,
|
||||
|
||||
if (json) {
|
||||
json_object *json_entry;
|
||||
char buf[BUFSIZ];
|
||||
|
||||
json_entry = json_object_new_object();
|
||||
json_object_array_add(json_entries, json_entry);
|
||||
@ -1021,10 +1020,9 @@ static void vty_show_prefix_entry(struct vty *vty, json_object *json, afi_t afi,
|
||||
json_object_string_add(
|
||||
json_entry, "type",
|
||||
prefix_list_type_str(pentry));
|
||||
json_object_string_add(
|
||||
json_entry, "prefix",
|
||||
prefix2str(&pentry->prefix, buf,
|
||||
sizeof(buf)));
|
||||
json_object_string_addf(json_entry, "prefix",
|
||||
"%pFX",
|
||||
&pentry->prefix);
|
||||
|
||||
if (pentry->ge)
|
||||
json_object_int_add(
|
||||
|
@ -161,12 +161,10 @@ void srv6_locator_chunk_free(struct srv6_locator_chunk *chunk)
|
||||
|
||||
json_object *srv6_locator_chunk_json(const struct srv6_locator_chunk *chunk)
|
||||
{
|
||||
char str[256];
|
||||
json_object *jo_root = NULL;
|
||||
|
||||
jo_root = json_object_new_object();
|
||||
prefix2str(&chunk->prefix, str, sizeof(str));
|
||||
json_object_string_add(jo_root, "prefix", str);
|
||||
json_object_string_addf(jo_root, "prefix", "%pFX", &chunk->prefix);
|
||||
json_object_string_add(jo_root, "proto",
|
||||
zebra_route_string(chunk->proto));
|
||||
|
||||
@ -175,7 +173,6 @@ json_object *srv6_locator_chunk_json(const struct srv6_locator_chunk *chunk)
|
||||
|
||||
json_object *srv6_locator_json(const struct srv6_locator *loc)
|
||||
{
|
||||
char str[256];
|
||||
struct listnode *node;
|
||||
struct srv6_locator_chunk *chunk;
|
||||
json_object *jo_root = NULL;
|
||||
@ -188,8 +185,7 @@ json_object *srv6_locator_json(const struct srv6_locator *loc)
|
||||
json_object_string_add(jo_root, "name", loc->name);
|
||||
|
||||
/* set prefix */
|
||||
prefix2str(&loc->prefix, str, sizeof(str));
|
||||
json_object_string_add(jo_root, "prefix", str);
|
||||
json_object_string_addf(jo_root, "prefix", "%pFX", &loc->prefix);
|
||||
|
||||
/* set function_bits_length */
|
||||
json_object_int_add(jo_root, "functionBitsLength",
|
||||
|
@ -5966,7 +5966,6 @@ static int show_lsa_summary(struct vty *vty, struct ospf_lsa *lsa, int self,
|
||||
struct summary_lsa *sl;
|
||||
struct as_external_lsa *asel;
|
||||
struct prefix_ipv4 p;
|
||||
char buf[PREFIX2STR_BUFFER];
|
||||
|
||||
if (lsa != NULL)
|
||||
/* If self option is set, check LSA self flag. */
|
||||
@ -6025,10 +6024,9 @@ static int show_lsa_summary(struct vty *vty, struct ospf_lsa *lsa, int self,
|
||||
if (!json_lsa)
|
||||
vty_out(vty, " %pFX", &p);
|
||||
else {
|
||||
prefix2str(&p, buf, sizeof(buf));
|
||||
json_object_string_add(json_lsa,
|
||||
"summaryAddress",
|
||||
buf);
|
||||
json_object_string_addf(
|
||||
json_lsa, "summaryAddress",
|
||||
"%pFX", &p);
|
||||
}
|
||||
break;
|
||||
case OSPF_AS_EXTERNAL_LSA:
|
||||
@ -6050,15 +6048,14 @@ static int show_lsa_summary(struct vty *vty, struct ospf_lsa *lsa, int self,
|
||||
(unsigned long)ntohl(
|
||||
asel->e[0].route_tag));
|
||||
else {
|
||||
prefix2str(&p, buf, sizeof(buf));
|
||||
json_object_string_add(
|
||||
json_lsa, "metricType",
|
||||
IS_EXTERNAL_METRIC(
|
||||
asel->e[0].tos)
|
||||
? "E2"
|
||||
: "E1");
|
||||
json_object_string_add(json_lsa,
|
||||
"route", buf);
|
||||
json_object_string_addf(
|
||||
json_lsa, "route", "%pFX", &p);
|
||||
json_object_int_add(
|
||||
json_lsa, "tag",
|
||||
(unsigned long)ntohl(
|
||||
|
@ -917,7 +917,6 @@ static void vty_json_pbrms(json_object *j, struct vty *vty,
|
||||
json_object *jpbrm, *nexthop_group;
|
||||
char *nhg_name = pbrms->nhgrp_name ? pbrms->nhgrp_name
|
||||
: pbrms->internal_nhg_name;
|
||||
char buf[PREFIX_STRLEN];
|
||||
char rbuf[64];
|
||||
|
||||
jpbrm = json_object_new_object();
|
||||
@ -953,13 +952,9 @@ static void vty_json_pbrms(json_object *j, struct vty *vty,
|
||||
json_object_string_add(jpbrm, "vrfName", pbrms->vrf_name);
|
||||
|
||||
if (pbrms->src)
|
||||
json_object_string_add(
|
||||
jpbrm, "matchSrc",
|
||||
prefix2str(pbrms->src, buf, sizeof(buf)));
|
||||
json_object_string_addf(jpbrm, "matchSrc", "%pFX", pbrms->src);
|
||||
if (pbrms->dst)
|
||||
json_object_string_add(
|
||||
jpbrm, "matchDst",
|
||||
prefix2str(pbrms->dst, buf, sizeof(buf)));
|
||||
json_object_string_addf(jpbrm, "matchDst", "%pFX", pbrms->dst);
|
||||
if (pbrms->mark)
|
||||
json_object_int_add(jpbrm, "matchMark", pbrms->mark);
|
||||
if (pbrms->dsfield & PBR_DSFIELD_DSCP)
|
||||
|
@ -1273,10 +1273,9 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
|
||||
"prefixList",
|
||||
rp_info->plist);
|
||||
else
|
||||
json_object_string_add(
|
||||
json_row, "group",
|
||||
prefix2str(&rp_info->group, buf,
|
||||
48));
|
||||
json_object_string_addf(
|
||||
json_row, "group", "%pFX",
|
||||
&rp_info->group);
|
||||
json_object_string_add(json_row, "source",
|
||||
source);
|
||||
|
||||
|
16
tools/coccinelle/json_object_string_addf_prefix2str.cocci
Normal file
16
tools/coccinelle/json_object_string_addf_prefix2str.cocci
Normal file
@ -0,0 +1,16 @@
|
||||
@@
|
||||
identifier json;
|
||||
expression family, value;
|
||||
expression prefix;
|
||||
constant key;
|
||||
@@
|
||||
|
||||
(
|
||||
-prefix2str(prefix, value, ...);
|
||||
...
|
||||
-json_object_string_add(json, key, value);
|
||||
+json_object_string_addf(json, key, "%pFX", prefix);
|
||||
|
|
||||
-json_object_string_add(json, key, prefix2str(prefix, value, ...));
|
||||
+json_object_string_addf(json, key, "%pFX", prefix);
|
||||
)
|
@ -1310,7 +1310,6 @@ static void connected_dump_vty(struct vty *vty, json_object *json,
|
||||
{
|
||||
struct prefix *p;
|
||||
json_object *json_addr = NULL;
|
||||
char buf[PREFIX2STR_BUFFER];
|
||||
|
||||
/* Print interface address. */
|
||||
p = connected->address;
|
||||
@ -1318,8 +1317,7 @@ static void connected_dump_vty(struct vty *vty, json_object *json,
|
||||
if (json) {
|
||||
json_addr = json_object_new_object();
|
||||
json_object_array_add(json, json_addr);
|
||||
json_object_string_add(json_addr, "address",
|
||||
prefix2str(p, buf, sizeof(buf)));
|
||||
json_object_string_addf(json_addr, "address", "%pFX", p);
|
||||
} else {
|
||||
vty_out(vty, " %s %pFX", prefix_family_str(p), p);
|
||||
}
|
||||
@ -1327,10 +1325,8 @@ static void connected_dump_vty(struct vty *vty, json_object *json,
|
||||
/* If there is destination address, print it. */
|
||||
if (CONNECTED_PEER(connected) && connected->destination) {
|
||||
if (json) {
|
||||
json_object_string_add(
|
||||
json_addr, "peer",
|
||||
prefix2str(connected->destination, buf,
|
||||
sizeof(buf)));
|
||||
json_object_string_addf(json_addr, "peer", "%pFX",
|
||||
connected->destination);
|
||||
} else {
|
||||
vty_out(vty, " peer %pFX", connected->destination);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user