]> git.puffer.fish Git - matthieu/frr.git/commitdiff
bgpd: Convert prefix2str to %pFX
authorDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 25 Aug 2022 10:46:58 +0000 (13:46 +0300)
committerDonatas Abraitis <donatas@opensourcerouting.org>
Thu, 25 Aug 2022 11:35:27 +0000 (14:35 +0300)
Signed-off-by: Donatas Abraitis <donatas@opensourcerouting.org>
bgpd/bgp_evpn.c
bgpd/bgp_evpn_vty.c
bgpd/bgp_labelpool.c
bgpd/bgp_nht.c
bgpd/bgp_route.c
bgpd/bgp_vty.c
bgpd/bgpd.c

index 23b330c15dfc6e1015624fc50e93a941c69315c3..ce05005eab25b7d50bb0203c6900a6ba9dc89704 100644 (file)
@@ -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.
index 6ba516c39c5befb5d558e207d854f097b543993d..4277162339292050583e808298b6f4ccb764668c 100644 (file)
@@ -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);
index 8772afd73642329140fe93189ee6db47c588841f..fa1dcf33e02d24c14b7ccfb0315b47f5e30a4f2f 100644 (file)
@@ -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:
index c12c12b19236781b6a40d610e02d0c329a473ba1..b7964aa7a66def1c1f89b36c8e7d50249d57180a 100644 (file)
@@ -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;
index 5651337332c17319d5f6962396d3f64e20ffb48e..989b361597efb0924fc60858f8b94d9e239cb6e1 100644 (file)
@@ -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");
 }
index 3fdff899c9985bc68afa6715d0c0aa1d71b7dad7..cfa66145660487e2e3c479b1e91952cd53674805 100644 (file)
@@ -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)) {
index 247c8c5f581bae687057ff5df11ce6aebd0bef48..036bbbd6b6878b5d6f605a06b9603d98d30703e9 100644 (file)
@@ -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;
        }