From 511211bf56159caf67280e26cf12d5f3ae31c2b9 Mon Sep 17 00:00:00 2001 From: Donatas Abraitis Date: Thu, 25 Aug 2022 13:46:58 +0300 Subject: [PATCH] bgpd: Convert prefix2str to %pFX Signed-off-by: Donatas Abraitis --- bgpd/bgp_evpn.c | 21 ++++-------- bgpd/bgp_evpn_vty.c | 76 +++++++++++++++----------------------------- bgpd/bgp_labelpool.c | 24 ++++++-------- bgpd/bgp_nht.c | 10 ++---- bgpd/bgp_route.c | 4 +-- bgpd/bgp_vty.c | 6 ++-- bgpd/bgpd.c | 21 ++++++------ 7 files changed, 55 insertions(+), 107 deletions(-) diff --git a/bgpd/bgp_evpn.c b/bgpd/bgp_evpn.c index 23b330c15d..ce05005eab 100644 --- a/bgpd/bgp_evpn.c +++ b/bgpd/bgp_evpn.c @@ -6239,9 +6239,6 @@ static void bgp_evpn_remote_ip_hash_iterate(struct bgpevpn *vpn, static void show_remote_ip_entry(struct hash_bucket *bucket, void *args) { char buf[INET6_ADDRSTRLEN]; - char buf2[EVPN_ROUTE_STRLEN]; - struct prefix_evpn *evp; - struct listnode *node = NULL; struct bgp_path_info *pi = NULL; struct vty *vty = (struct vty *)args; @@ -6250,11 +6247,8 @@ static void show_remote_ip_entry(struct hash_bucket *bucket, void *args) vty_out(vty, " Remote IP: %s\n", ipaddr2str(&ip->addr, buf, sizeof(buf))); vty_out(vty, " Linked MAC/IP routes:\n"); - for (ALL_LIST_ELEMENTS_RO(ip->macip_path_list, node, pi)) { - evp = (struct prefix_evpn *)&pi->net->p; - prefix2str(evp, buf2, sizeof(buf2)); - vty_out(vty, " %s\n", buf2); - } + for (ALL_LIST_ELEMENTS_RO(ip->macip_path_list, node, pi)) + vty_out(vty, " %pFX\n", &pi->net->p); } void bgp_evpn_show_remote_ip_hash(struct hash_bucket *bucket, void *args) @@ -6438,14 +6432,11 @@ static void bgp_evpn_remote_ip_process_nexthops(struct bgpevpn *vpn, if (!bnc->nexthop || bnc->nexthop->ifindex != vpn->svi_ifindex) return; - if (BGP_DEBUG(nht, NHT)) { - char buf[PREFIX2STR_BUFFER]; - - prefix2str(&bnc->prefix, buf, sizeof(buf)); - zlog_debug("%s(%u): vni %u mac/ip %s for NH %s", + if (BGP_DEBUG(nht, NHT)) + zlog_debug("%s(%u): vni %u mac/ip %s for NH %pFX", vpn->bgp_vrf->name_pretty, vpn->tenant_vrf_id, - vpn->vni, (resolve ? "add" : "delete"), buf); - } + vpn->vni, (resolve ? "add" : "delete"), + &bnc->prefix); /* * MAC/IP route or SVI or tenant vrf being added to EVI. diff --git a/bgpd/bgp_evpn_vty.c b/bgpd/bgp_evpn_vty.c index 6ba516c39c..4277162339 100644 --- a/bgpd/bgp_evpn_vty.c +++ b/bgpd/bgp_evpn_vty.c @@ -614,14 +614,10 @@ static void show_esi_routes(struct bgp *bgp, for (dest = bgp_table_top(es->route_table); dest; dest = bgp_route_next(dest)) { int add_prefix_to_json = 0; - char prefix_str[BUFSIZ]; json_object *json_paths = NULL; json_object *json_prefix = NULL; const struct prefix *p = bgp_dest_get_prefix(dest); - prefix2str((struct prefix_evpn *)p, prefix_str, - sizeof(prefix_str)); - if (json) json_prefix = json_object_new_object(); @@ -661,14 +657,14 @@ static void show_esi_routes(struct bgp *bgp, if (json) { if (add_prefix_to_json) { - json_object_string_add(json_prefix, "prefix", - prefix_str); + json_object_string_addf(json_prefix, "prefix", + "%pFX", p); json_object_int_add(json_prefix, "prefixLen", p->prefixlen); json_object_object_add(json_prefix, "paths", json_paths); - json_object_object_add(json, prefix_str, - json_prefix); + json_object_object_addf(json, json_prefix, + "%pFX", p); } else { json_object_free(json_paths); json_object_free(json_prefix); @@ -800,14 +796,10 @@ static void show_vni_routes(struct bgp *bgp, struct bgpevpn *vpn, int type, const struct prefix_evpn *evp = (const struct prefix_evpn *)bgp_dest_get_prefix(dest); int add_prefix_to_json = 0; - char prefix_str[BUFSIZ]; json_object *json_paths = NULL; json_object *json_prefix = NULL; const struct prefix *p = bgp_dest_get_prefix(dest); - prefix2str((struct prefix_evpn *)bgp_dest_get_prefix(dest), - prefix_str, sizeof(prefix_str)); - if (type && evp->prefix.route_type != type) continue; @@ -861,14 +853,14 @@ static void show_vni_routes(struct bgp *bgp, struct bgpevpn *vpn, int type, if (json) { if (add_prefix_to_json) { - json_object_string_add(json_prefix, "prefix", - prefix_str); + json_object_string_addf(json_prefix, "prefix", + "%pFX", p); json_object_int_add(json_prefix, "prefixLen", p->prefixlen); json_object_object_add(json_prefix, "paths", json_paths); - json_object_object_add(json, prefix_str, - json_prefix); + json_object_object_addf(json, json_prefix, + "%pFX", p); } else { json_object_free(json_paths); json_object_free(json_prefix); @@ -1190,7 +1182,6 @@ static int bgp_show_ethernet_vpn(struct vty *vty, struct prefix_rd *prd, int rd_header; int header = 1; char rd_str[RD_ADDRSTRLEN]; - char buf[BUFSIZ]; int no_display; unsigned long output_count = 0; @@ -1353,20 +1344,17 @@ static int bgp_show_ethernet_vpn(struct vty *vty, struct prefix_rd *prd, json_prefix_info = json_object_new_object(); - prefix2str((struct prefix_evpn *)p, buf, - BUFSIZ); - - json_object_string_addf( - json_prefix_info, "prefix", "%pFX", - (struct prefix_evpn *)p); + json_object_string_addf(json_prefix_info, + "prefix", "%pFX", p); json_object_int_add(json_prefix_info, "prefixLen", p->prefixlen); json_object_object_add(json_prefix_info, "paths", json_array); - json_object_object_add(json_nroute, buf, - json_prefix_info); + json_object_object_addf(json_nroute, + json_prefix_info, + "%pFX", p); json_array = NULL; } } @@ -2574,7 +2562,6 @@ static void evpn_show_route_rd_macip(struct vty *vty, struct bgp *bgp, safi_t safi; uint32_t path_cnt = 0; json_object *json_paths = NULL; - char prefix_str[BUFSIZ]; afi = AFI_L2VPN; safi = SAFI_EVPN; @@ -2593,8 +2580,6 @@ static void evpn_show_route_rd_macip(struct vty *vty, struct bgp *bgp, return; } - prefix2str(&p, prefix_str, sizeof(prefix_str)); - /* Prefix and num paths displayed once per prefix. */ route_vty_out_detail_header(vty, bgp, dest, prd, afi, safi, json); @@ -2619,7 +2604,7 @@ static void evpn_show_route_rd_macip(struct vty *vty, struct bgp *bgp, if (json && path_cnt) { if (path_cnt) - json_object_object_add(json, prefix_str, json_paths); + json_object_object_addf(json, json_paths, "%pFX", &p); json_object_int_add(json, "numPaths", path_cnt); } else { vty_out(vty, "\nDisplayed %u paths for requested prefix\n", @@ -2678,12 +2663,8 @@ static void evpn_show_route_rd(struct vty *vty, struct bgp *bgp, (const struct prefix_evpn *)bgp_dest_get_prefix(dest); json_object *json_prefix = NULL; json_object *json_paths = NULL; - char prefix_str[BUFSIZ]; int add_prefix_to_json = 0; - prefix2str((struct prefix_evpn *)evp, prefix_str, - sizeof(prefix_str)); - if (type && evp->prefix.route_type != type) continue; @@ -2739,8 +2720,8 @@ static void evpn_show_route_rd(struct vty *vty, struct bgp *bgp, if (add_prefix_to_json) { json_object_object_add(json_prefix, "paths", json_paths); - json_object_object_add(json_rd, prefix_str, - json_prefix); + json_object_object_addf(json_rd, json_prefix, + "%pFX", evp); } else { json_object_free(json_paths); json_object_free(json_prefix); @@ -2798,7 +2779,6 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, json_object *json_prefix = NULL; /* prefix within an RD */ json_object *json_rd = NULL; /* holds all prefixes for RD */ char rd_str[RD_ADDRSTRLEN]; - char prefix_str[BUFSIZ]; int add_rd_to_json = 0; struct prefix_evpn ep; const struct prefix *rd_destp = bgp_dest_get_prefix(rd_dest); @@ -2825,8 +2805,6 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, const struct prefix *p = bgp_dest_get_prefix(dest); - prefix2str(p, prefix_str, sizeof(prefix_str)); - pi = bgp_dest_get_bgp_path_info(dest); if (pi) { /* RD header - per RD. */ @@ -2838,8 +2816,8 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, if (json) { json_prefix = json_object_new_object(); json_paths = json_object_new_array(); - json_object_string_add(json_prefix, "prefix", - prefix_str); + json_object_string_addf(json_prefix, "prefix", "%pFX", + p); json_object_int_add(json_prefix, "prefixLen", p->prefixlen); } else @@ -2873,8 +2851,8 @@ static void evpn_show_route_rd_all_macip(struct vty *vty, struct bgp *bgp, if (json) { json_object_object_add(json_prefix, "paths", json_paths); - json_object_object_add(json_rd, prefix_str, - json_prefix); + json_object_object_addf(json_rd, json_prefix, "%pFX", + p); if (add_rd_to_json) json_object_object_add(json, rd_str, json_rd); else { @@ -2954,13 +2932,9 @@ static void evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, const struct prefix_evpn *evp = (const struct prefix_evpn *)bgp_dest_get_prefix( dest); - char prefix_str[BUFSIZ]; int add_prefix_to_json = 0; const struct prefix *p = bgp_dest_get_prefix(dest); - prefix2str((struct prefix_evpn *)p, prefix_str, - sizeof(prefix_str)); - if (type && evp->prefix.route_type != type) continue; @@ -2992,8 +2966,8 @@ static void evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, if (json) { json_prefix = json_object_new_object(); json_paths = json_object_new_array(); - json_object_string_add(json_prefix, "prefix", - prefix_str); + json_object_string_addf(json_prefix, "prefix", + "%pFX", p); json_object_int_add(json_prefix, "prefixLen", p->prefixlen); } @@ -3038,9 +3012,9 @@ static void evpn_show_all_routes(struct vty *vty, struct bgp *bgp, int type, json_object_object_add(json_prefix, "paths", json_paths); - json_object_object_add(json_rd, - prefix_str, - json_prefix); + json_object_object_addf(json_rd, + json_prefix, + "%pFX", p); } else { json_object_free(json_prefix); json_object_free(json_paths); diff --git a/bgpd/bgp_labelpool.c b/bgpd/bgp_labelpool.c index 8772afd736..fa1dcf33e0 100644 --- a/bgpd/bgp_labelpool.c +++ b/bgpd/bgp_labelpool.c @@ -719,16 +719,14 @@ DEFUN(show_bgp_labelpool_ledger, show_bgp_labelpool_ledger_cmd, vty_out(vty, "%-18s %u\n", "INVALID", lcb->label); else { - char buf[PREFIX2STR_BUFFER]; p = bgp_dest_get_prefix(dest); - prefix2str(p, buf, sizeof(buf)); if (uj) { - json_object_string_add(json_elem, - "prefix", buf); + json_object_string_addf( + json_elem, "prefix", "%pFX", p); json_object_int_add(json_elem, "label", lcb->label); } else - vty_out(vty, "%-18s %u\n", buf, + vty_out(vty, "%-18pFX %u\n", p, lcb->label); } break; @@ -812,16 +810,14 @@ DEFUN(show_bgp_labelpool_inuse, show_bgp_labelpool_inuse_cmd, vty_out(vty, "INVALID %u\n", label); else { - char buf[PREFIX2STR_BUFFER]; p = bgp_dest_get_prefix(dest); - prefix2str(p, buf, sizeof(buf)); if (uj) { - json_object_string_add(json_elem, - "prefix", buf); + json_object_string_addf( + json_elem, "prefix", "%pFX", p); json_object_int_add(json_elem, "label", label); } else - vty_out(vty, "%-18s %u\n", buf, + vty_out(vty, "%-18pFX %u\n", p, label); } break; @@ -851,7 +847,6 @@ DEFUN(show_bgp_labelpool_requests, show_bgp_labelpool_requests_cmd, json_object *json = NULL, *json_elem = NULL; struct bgp_dest *dest; const struct prefix *p; - char buf[PREFIX2STR_BUFFER]; struct lp_fifo *item, *next; int count; @@ -893,12 +888,11 @@ DEFUN(show_bgp_labelpool_requests, show_bgp_labelpool_requests_cmd, vty_out(vty, "INVALID\n"); } else { p = bgp_dest_get_prefix(dest); - prefix2str(p, buf, sizeof(buf)); if (uj) - json_object_string_add(json_elem, - "prefix", buf); + json_object_string_addf( + json_elem, "prefix", "%pFX", p); else - vty_out(vty, "%-18s\n", buf); + vty_out(vty, "%-18pFX\n", p); } break; case LP_TYPE_VRF: diff --git a/bgpd/bgp_nht.c b/bgpd/bgp_nht.c index c12c12b192..b7964aa7a6 100644 --- a/bgpd/bgp_nht.c +++ b/bgpd/bgp_nht.c @@ -563,16 +563,12 @@ static void bgp_process_nexthop_update(struct bgp_nexthop_cache *bnc, if (bnc->is_evpn_gwip_nexthop) { evpn_resolved = bgp_evpn_is_gateway_ip_resolved(bnc); - if (BGP_DEBUG(nht, NHT)) { - char buf2[PREFIX2STR_BUFFER]; - - prefix2str(&bnc->prefix, buf2, sizeof(buf2)); + if (BGP_DEBUG(nht, NHT)) zlog_debug( - "EVPN gateway IP %s recursive MAC/IP lookup %s", - buf2, + "EVPN gateway IP %pFX recursive MAC/IP lookup %s", + &bnc->prefix, (evpn_resolved ? "successful" : "failed")); - } if (evpn_resolved) { bnc->flags |= BGP_NEXTHOP_VALID; diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index 5651337332..989b361597 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -9456,9 +9456,7 @@ void route_vty_out_tmp(struct vty *vty, struct bgp_dest *dest, json_object_boolean_true_add(json_status, ">"); json_object_object_add(json_net, "appliedStatusSymbols", json_status); - - prefix2str(p, buff, PREFIX_STRLEN); - json_object_object_add(json_ar, buff, json_net); + json_object_object_addf(json_ar, json_net, "%pFX", p); } else vty_out(vty, "\n"); } diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 3fdff899c9..cfa6614566 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -9573,10 +9573,8 @@ DEFPY (show_bgp_srv6, vty_out(vty, "locator_name: %s\n", bgp->srv6_locator_name); vty_out(vty, "locator_chunks:\n"); - for (ALL_LIST_ELEMENTS_RO(bgp->srv6_locator_chunks, node, chunk)) { - prefix2str(&chunk->prefix, buf, sizeof(buf)); - vty_out(vty, "- %s\n", buf); - } + for (ALL_LIST_ELEMENTS_RO(bgp->srv6_locator_chunks, node, chunk)) + vty_out(vty, "- %pFX\n", &chunk->prefix); vty_out(vty, "functions:\n"); for (ALL_LIST_ELEMENTS_RO(bgp->srv6_functions, node, func)) { diff --git a/bgpd/bgpd.c b/bgpd/bgpd.c index 247c8c5f58..036bbbd6b6 100644 --- a/bgpd/bgpd.c +++ b/bgpd/bgpd.c @@ -4006,7 +4006,6 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su) struct prefix prefix; struct prefix *listen_range; int dncount; - char buf[PREFIX2STR_BUFFER]; if (!sockunion2hostprefix(su, &prefix)) return NULL; @@ -4023,21 +4022,19 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su) if (!gbgp) return NULL; - prefix2str(&prefix, buf, sizeof(buf)); - if (bgp_debug_neighbor_events(NULL)) zlog_debug( - "Dynamic Neighbor %s matches group %s listen range %pFX", - buf, group->name, listen_range); + "Dynamic Neighbor %pFX matches group %s listen range %pFX", + &prefix, group->name, listen_range); /* Are we within the listen limit? */ dncount = gbgp->dynamic_neighbors_count; if (dncount >= gbgp->dynamic_neighbors_limit) { if (bgp_debug_neighbor_events(NULL)) - zlog_debug("Dynamic Neighbor %s rejected - at limit %d", - inet_sutop(su, buf), - gbgp->dynamic_neighbors_limit); + zlog_debug( + "Dynamic Neighbor %pFX rejected - at limit %d", + &prefix, gbgp->dynamic_neighbors_limit); return NULL; } @@ -4045,8 +4042,8 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su) if (CHECK_FLAG(group->conf->flags, PEER_FLAG_SHUTDOWN)) { if (bgp_debug_neighbor_events(NULL)) zlog_debug( - "Dynamic Neighbor %s rejected - group %s disabled", - buf, group->name); + "Dynamic Neighbor %pFX rejected - group %s disabled", + &prefix, group->name); return NULL; } @@ -4054,8 +4051,8 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su) if (!peer_group_af_configured(group)) { if (bgp_debug_neighbor_events(NULL)) zlog_debug( - "Dynamic Neighbor %s rejected - no AF activated for group %s", - buf, group->name); + "Dynamic Neighbor %pFX rejected - no AF activated for group %s", + &prefix, group->name); return NULL; } -- 2.39.5