]> git.puffer.fish Git - mirror/frr.git/commitdiff
:* Convert prefix2str to %pFX 7343/head
authorDonatas Abraitis <donatas.abraitis@gmail.com>
Sun, 18 Oct 2020 11:33:54 +0000 (14:33 +0300)
committerDonatas Abraitis <donatas.abraitis@gmail.com>
Thu, 22 Oct 2020 06:07:41 +0000 (09:07 +0300)
Signed-off-by: Donatas Abraitis <donatas.abraitis@gmail.com>
90 files changed:
bfdd/ptm_adapter.c
bgpd/bgp_bfd.c
bgpd/bgp_debug.c
bgpd/bgp_evpn.c
bgpd/bgp_evpn_mh.c
bgpd/bgp_flowspec_util.c
bgpd/bgp_label.c
bgpd/bgp_mplsvpn.c
bgpd/bgp_nht.c
bgpd/bgp_pbr.c
bgpd/bgp_route.c
bgpd/bgp_rpki.c
bgpd/bgp_updgrp_packet.c
bgpd/bgp_vty.c
bgpd/bgp_zebra.c
bgpd/bgpd.c
bgpd/rfapi/bgp_rfapi_cfg.c
bgpd/rfapi/rfapi.c
bgpd/rfapi/rfapi_import.c
bgpd/rfapi/rfapi_monitor.c
bgpd/rfapi/rfapi_rib.c
bgpd/rfapi/rfapi_vty.c
bgpd/rfapi/vnc_import_bgp.c
bgpd/rfapi/vnc_zebra.c
eigrpd/eigrp_dump.c
eigrpd/eigrp_reply.c
eigrpd/eigrp_topology.c
eigrpd/eigrp_update.c
eigrpd/eigrp_zebra.c
isisd/isis_circuit.c
isisd/isis_lsp.c
isisd/isis_redist.c
isisd/isis_route.c
isisd/isis_zebra.c
lib/routemap.c
lib/zclient.c
nhrpd/nhrp_interface.c
nhrpd/nhrp_route.c
nhrpd/nhrp_shortcut.c
ospf6d/ospf6_abr.c
ospf6d/ospf6_area.c
ospf6d/ospf6_asbr.c
ospf6d/ospf6_bfd.c
ospf6d/ospf6_interface.c
ospf6d/ospf6_intra.c
ospf6d/ospf6_lsa.h
ospf6d/ospf6_lsdb.c
ospf6d/ospf6_route.c
ospf6d/ospf6_spf.c
ospf6d/ospf6_top.c
ospf6d/ospf6_zebra.c
ospfd/ospf_abr.c
ospfd/ospf_bfd.c
ospfd/ospf_zebra.c
pbrd/pbr_nht.c
pbrd/pbr_vty.c
pbrd/pbr_zebra.c
pimd/pim_bfd.c
pimd/pim_bsm.c
pimd/pim_cmd.c
pimd/pim_iface.c
pimd/pim_nht.c
pimd/pim_rp.c
pimd/pim_upstream.c
pimd/pim_zebra.c
sharpd/sharp_nht.c
sharpd/sharp_vty.c
staticd/static_zebra.c
tests/bgpd/test_bgp_table.c
tests/lib/cli/test_cli.c
tests/lib/test_table.c
zebra/connected.c
zebra/interface.c
zebra/irdp_main.c
zebra/redistribute.c
zebra/rt_netlink.c
zebra/rt_socket.c
zebra/rtadv.c
zebra/rule_netlink.c
zebra/zapi_msg.c
zebra/zebra_dplane.c
zebra/zebra_evpn.c
zebra/zebra_fpm.c
zebra/zebra_gr.c
zebra/zebra_mpls.c
zebra/zebra_nb_config.c
zebra/zebra_rib.c
zebra/zebra_rnh.c
zebra/zebra_vxlan.c
zebra/zserv.c

index 48e55bce37ba4ddaf8d5212d140691873783d200..3a80d9203b49f3e694e1cc330d9cb4601f185a38 100644 (file)
@@ -783,17 +783,16 @@ static void bfdd_sessions_enable_address(struct connected *ifc)
 static int bfdd_interface_address_update(ZAPI_CALLBACK_ARGS)
 {
        struct connected *ifc;
-       char buf[64];
 
        ifc = zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
        if (ifc == NULL)
                return 0;
 
        if (bglobal.debug_zebra)
-               zlog_debug("zclient: %s local address %s",
+               zlog_debug("zclient: %s local address %pFX",
                           cmd == ZEBRA_INTERFACE_ADDRESS_ADD ? "add"
                                                              : "delete",
-                          prefix2str(ifc->address, buf, sizeof(buf)));
+                          ifc->address);
 
        bfdd_sessions_enable_address(ifc);
 
index 1e1c97c2d9d935b04d1ecd3dc7373ba708f9a2be..7e1d64056d7f1a9d4ce0e8b51d6266d00083279e 100644 (file)
@@ -385,24 +385,21 @@ static int bgp_bfd_dest_update(ZAPI_CALLBACK_ARGS)
 
        if (BGP_DEBUG(zebra, ZEBRA)) {
                struct vrf *vrf;
-               char buf[2][PREFIX2STR_BUFFER];
 
                vrf = vrf_lookup_by_id(vrf_id);
-               prefix2str(&dp, buf[0], sizeof(buf[0]));
-               if (ifp) {
+
+               if (ifp)
                        zlog_debug(
-                               "Zebra: vrf %s(%u) interface %s bfd destination %s %s %s",
-                               VRF_LOGNAME(vrf), vrf_id, ifp->name,
-                               buf[0], bfd_get_status_str(status),
+                               "Zebra: vrf %s(%u) interface %s bfd destination %pFX %s %s",
+                               VRF_LOGNAME(vrf), vrf_id, ifp->name, &dp,
+                               bfd_get_status_str(status),
                                remote_cbit ? "(cbit on)" : "");
-               } else {
-                       prefix2str(&sp, buf[1], sizeof(buf[1]));
+               else
                        zlog_debug(
-                               "Zebra: vrf %s(%u) source %s bfd destination %s %s %s",
-                               VRF_LOGNAME(vrf), vrf_id, buf[1], buf[0],
+                               "Zebra: vrf %s(%u) source %pFX bfd destination %pFX %s %s",
+                               VRF_LOGNAME(vrf), vrf_id, &sp, &dp,
                                bfd_get_status_str(status),
                                remote_cbit ? "(cbit on)" : "");
-               }
        }
 
        /* Bring the peer down if BFD is enabled in BGP */
index e7e349daa1295c0f2dda6eb04ecf42494134e551..a513bc493dd4be2aa0105afe758fc30daf031e6b 100644 (file)
@@ -237,7 +237,6 @@ static void bgp_debug_list_print(struct vty *vty, const char *desc,
 {
        struct bgp_debug_filter *filter;
        struct listnode *node, *nnode;
-       char buf[PREFIX2STR_BUFFER];
 
        vty_out(vty, "%s", desc);
 
@@ -249,10 +248,8 @@ static void bgp_debug_list_print(struct vty *vty, const char *desc,
 
                        if (filter->p && filter->p->family == AF_EVPN)
                                bgp_debug_print_evpn_prefix(vty, "", filter->p);
-                       else if (filter->p) {
-                               prefix2str(filter->p, buf, sizeof(buf));
-                               vty_out(vty, " %s", buf);
-                       }
+                       else if (filter->p)
+                               vty_out(vty, " %pFX", filter->p);
                }
        }
 
@@ -268,7 +265,6 @@ static int bgp_debug_list_conf_print(struct vty *vty, const char *desc,
 {
        struct bgp_debug_filter *filter;
        struct listnode *node, *nnode;
-       char buf[PREFIX2STR_BUFFER];
        int write = 0;
 
        if (list && !list_isempty(list)) {
@@ -283,8 +279,7 @@ static int bgp_debug_list_conf_print(struct vty *vty, const char *desc,
                                                            filter->p);
                                write++;
                        } else if (filter->p) {
-                               prefix2str(filter->p, buf, sizeof(buf));
-                               vty_out(vty, "%s %s\n", desc, buf);
+                               vty_out(vty, "%s %pFX\n", desc, filter->p);
                                write++;
                        }
                }
@@ -1416,7 +1411,6 @@ DEFPY (debug_bgp_update_prefix_afi_safi,
 {
        struct prefix *argv_p;
        int ret = CMD_SUCCESS;
-       char buf[PREFIX2STR_BUFFER];
 
        argv_p = prefix_new();
 
@@ -1429,12 +1423,10 @@ DEFPY (debug_bgp_update_prefix_afi_safi,
        if (!bgp_debug_update_prefixes)
                bgp_debug_update_prefixes = list_new();
 
-       prefix2str(argv_p, buf, sizeof(buf));
-
        if (bgp_debug_list_has_entry(bgp_debug_update_prefixes, NULL, argv_p)) {
                vty_out(vty,
-                       "BGP updates debugging is already enabled for %s\n",
-                       buf);
+                       "BGP updates debugging is already enabled for %pFX\n",
+                       argv_p);
                prefix_free(&argv_p);
                return CMD_SUCCESS;
        }
@@ -1445,7 +1437,7 @@ DEFPY (debug_bgp_update_prefix_afi_safi,
                DEBUG_ON(update, UPDATE_PREFIX);
        } else {
                TERM_DEBUG_ON(update, UPDATE_PREFIX);
-               vty_out(vty, "BGP updates debugging is on for %s\n", buf);
+               vty_out(vty, "BGP updates debugging is on for %pFX\n", argv_p);
        }
 
        prefix_free(&argv_p);
@@ -1484,7 +1476,6 @@ DEFPY (no_debug_bgp_update_prefix_afi_safi,
        struct prefix *argv_p;
        bool found_prefix = false;
        int ret = CMD_SUCCESS;
-       char buf[PREFIX2STR_BUFFER];
 
        argv_p = prefix_new();
 
@@ -1510,13 +1501,11 @@ DEFPY (no_debug_bgp_update_prefix_afi_safi,
                }
        }
 
-       prefix2str(argv_p, buf, sizeof(buf));
-
        if (found_prefix)
-               vty_out(vty, "BGP updates debugging is off for %s\n", buf);
+               vty_out(vty, "BGP updates debugging is off for %pFX\n", argv_p);
        else
-               vty_out(vty, "BGP updates debugging was not enabled for %s\n",
-                       buf);
+               vty_out(vty, "BGP updates debugging was not enabled for %pFX\n",
+                       argv_p);
 
        prefix_free(&argv_p);
 
@@ -2643,7 +2632,6 @@ const char *bgp_debug_rdpfxpath2str(afi_t afi, safi_t safi,
                                    char *str, int size)
 {
        char rd_buf[RD_ADDRSTRLEN];
-       char pfx_buf[PREFIX_STRLEN];
        char tag_buf[30];
        /* ' with addpath ID '          17
         * max strlen of uint32       + 10
@@ -2681,10 +2669,9 @@ const char *bgp_debug_rdpfxpath2str(afi_t afi, safi_t safi,
        }
 
        if (prd)
-               snprintf(str, size, "RD %s %s%s%s %s %s",
-                        prefix_rd2str(prd, rd_buf, sizeof(rd_buf)),
-                        prefix2str(pu, pfx_buf, sizeof(pfx_buf)), tag_buf,
-                        pathid_buf, afi2str(afi), safi2str(safi));
+               snprintfrr(str, size, "RD %s %pFX%s%s %s %s",
+                          prefix_rd2str(prd, rd_buf, sizeof(rd_buf)), pu.p,
+                          tag_buf, pathid_buf, afi2str(afi), safi2str(safi));
        else if (safi == SAFI_FLOWSPEC) {
                char return_string[BGP_FLOWSPEC_NLRI_STRING_MAX];
                const struct prefix_fs *fs = pu.fs;
@@ -2697,9 +2684,8 @@ const char *bgp_debug_rdpfxpath2str(afi_t afi, safi_t safi,
                snprintf(str, size, "FS %s Match{%s}", afi2str(afi),
                         return_string);
        } else
-               snprintf(str, size, "%s%s%s %s %s",
-                        prefix2str(pu, pfx_buf, sizeof(pfx_buf)), tag_buf,
-                        pathid_buf, afi2str(afi), safi2str(safi));
+               snprintfrr(str, size, "%pFX%s%s %s %s", pu.p, tag_buf,
+                          pathid_buf, afi2str(afi), safi2str(safi));
 
        return str;
 }
index e58bb7c671af0796f6d430201fa129b97f5967c2..67d0a95cb6bcaaaa45c30d97514f567051b427dc 100644 (file)
@@ -1034,19 +1034,17 @@ static void evpn_delete_old_local_route(struct bgp *bgp, struct bgpevpn *vpn,
        safi_t safi = SAFI_EVPN;
 
        if (BGP_DEBUG(evpn_mh, EVPN_MH_RT)) {
-               char prefix_buf[PREFIX_STRLEN];
                char esi_buf[ESI_STR_LEN];
                char esi_buf2[ESI_STR_LEN];
                struct prefix_evpn *evp =
                        (struct prefix_evpn *)bgp_dest_get_prefix(dest);
 
-               zlog_debug("local path deleted %s es %s; new-path-es %s",
-                               prefix2str(evp,
-                                       prefix_buf, sizeof(prefix_buf)),
-                               esi_to_str(&old_local->attr->esi,
-                                       esi_buf, sizeof(esi_buf)),
-                               new_select ? esi_to_str(&new_select->attr->esi,
-                                       esi_buf2, sizeof(esi_buf2)) : "");
+               zlog_debug("local path deleted %pFX es %s; new-path-es %s", evp,
+                          esi_to_str(&old_local->attr->esi, esi_buf,
+                                     sizeof(esi_buf)),
+                          new_select ? esi_to_str(&new_select->attr->esi,
+                                                  esi_buf2, sizeof(esi_buf2))
+                                     : "");
        }
 
        /* Locate route node in the global EVPN routing table. Note that
@@ -1313,23 +1311,18 @@ static int update_evpn_type5_route(struct bgp *bgp_vrf, struct prefix_evpn *evp,
                        attr.nexthop = bgp_vrf->evpn_info->pip_ip;
                        attr.mp_nexthop_global_in = bgp_vrf->evpn_info->pip_ip;
                } else if (bgp_vrf->evpn_info->pip_ip.s_addr == INADDR_ANY)
-                       if (bgp_debug_zebra(NULL)) {
-                               char buf1[PREFIX_STRLEN];
-
-                               zlog_debug("VRF %s evp %s advertise-pip primary ip is not configured",
-                                          vrf_id_to_name(bgp_vrf->vrf_id),
-                                          prefix2str(evp, buf1, sizeof(buf1)));
-                       }
+                       if (bgp_debug_zebra(NULL))
+                               zlog_debug(
+                                       "VRF %s evp %pFX advertise-pip primary ip is not configured",
+                                       vrf_id_to_name(bgp_vrf->vrf_id), evp);
        }
 
        if (bgp_debug_zebra(NULL)) {
                char buf[ETHER_ADDR_STRLEN];
-               char buf1[PREFIX_STRLEN];
                char buf2[INET6_ADDRSTRLEN];
 
-               zlog_debug("VRF %s type-5 route evp %s RMAC %s nexthop %s",
-                          vrf_id_to_name(bgp_vrf->vrf_id),
-                          prefix2str(evp, buf1, sizeof(buf1)),
+               zlog_debug("VRF %s type-5 route evp %pFX RMAC %s nexthop %s",
+                          vrf_id_to_name(bgp_vrf->vrf_id), evp,
                           prefix_mac2str(&attr.rmac, buf, sizeof(buf)),
                           inet_ntop(AF_INET, &attr.nexthop, buf2,
                                     INET_ADDRSTRLEN));
@@ -1461,21 +1454,23 @@ static void update_evpn_route_entry_sync_info(struct bgp *bgp,
                                attr->es_flags &= ~ATTR_ES_PEER_ROUTER;
 
                        if (BGP_DEBUG(evpn_mh, EVPN_MH_RT)) {
-                               char prefix_buf[PREFIX_STRLEN];
                                char esi_buf[ESI_STR_LEN];
 
-                               zlog_debug("setup sync info for %s es %s max_seq %d %s%s%s",
-                                       prefix2str(evp, prefix_buf,
-                                               sizeof(prefix_buf)),
+                               zlog_debug(
+                                       "setup sync info for %pFX es %s max_seq %d %s%s%s",
+                                       evp,
                                        esi_to_str(esi, esi_buf,
-                                               sizeof(esi_buf)),
+                                                  sizeof(esi_buf)),
                                        max_sync_seq,
-                                       (attr->es_flags & ATTR_ES_PEER_ACTIVE) ?
-                                       "peer-active " : "",
-                                       (attr->es_flags & ATTR_ES_PEER_PROXY) ?
-                                       "peer-proxy " : "",
-                                       (attr->es_flags & ATTR_ES_PEER_ROUTER) ?
-                                       "peer-router " : "");
+                                       (attr->es_flags & ATTR_ES_PEER_ACTIVE)
+                                               ? "peer-active "
+                                               : "",
+                                       (attr->es_flags & ATTR_ES_PEER_PROXY)
+                                               ? "peer-proxy "
+                                               : "",
+                                       (attr->es_flags & ATTR_ES_PEER_ROUTER)
+                                               ? "peer-router "
+                                               : "");
                        }
                }
        } else {
@@ -1721,14 +1716,13 @@ static int update_evpn_route(struct bgp *bgp, struct bgpevpn *vpn,
 
        if (bgp_debug_zebra(NULL)) {
                char buf[ETHER_ADDR_STRLEN];
-               char buf1[PREFIX_STRLEN];
                char buf3[ESI_STR_LEN];
 
                zlog_debug(
-                       "VRF %s vni %u type-2 route evp %s RMAC %s nexthop %pI4 esi %s",
+                       "VRF %s vni %u type-2 route evp %pFX RMAC %s nexthop %pI4 esi %s",
                        vpn->bgp_vrf ? vrf_id_to_name(vpn->bgp_vrf->vrf_id)
                                     : " ",
-                       vpn->vni, prefix2str(p, buf1, sizeof(buf1)),
+                       vpn->vni, p,
                        prefix_mac2str(&attr.rmac, buf, sizeof(buf)),
                        &attr.mp_nexthop_global_in,
                        esi_to_str(esi, buf3, sizeof(buf3)));
@@ -2001,14 +1995,13 @@ static void bgp_evpn_update_type2_route_entry(struct bgp *bgp,
 
        if (bgp_debug_zebra(NULL)) {
                char buf[ETHER_ADDR_STRLEN];
-               char buf1[PREFIX_STRLEN];
                char buf3[ESI_STR_LEN];
 
                zlog_debug(
-                       "VRF %s vni %u evp %s RMAC %s nexthop %pI4 esi %s esf 0x%x from %s",
+                       "VRF %s vni %u evp %pFX RMAC %s nexthop %pI4 esi %s esf 0x%x from %s",
                        vpn->bgp_vrf ? vrf_id_to_name(vpn->bgp_vrf->vrf_id)
                                     : " ",
-                       vpn->vni, prefix2str(evp, buf1, sizeof(buf1)),
+                       vpn->vni, evp,
                        prefix_mac2str(&attr.rmac, buf, sizeof(buf)),
                        &attr.mp_nexthop_global_in,
                        esi_to_str(&attr.esi, buf3, sizeof(buf3)),
@@ -2391,19 +2384,16 @@ static int install_evpn_route_entry_in_vrf(struct bgp *bgp_vrf,
        struct prefix *pp = &p;
        afi_t afi = 0;
        safi_t safi = 0;
-       char buf[PREFIX_STRLEN];
        bool new_pi = false;
 
        memset(pp, 0, sizeof(struct prefix));
        ip_prefix_from_evpn_prefix(evp, pp);
 
-       if (bgp_debug_zebra(NULL)) {
+       if (bgp_debug_zebra(NULL))
                zlog_debug(
-                       "vrf %s: import evpn prefix %s parent %p flags 0x%x",
-                       vrf_id_to_name(bgp_vrf->vrf_id),
-                       prefix2str(evp, buf, sizeof(buf)),
-                       parent_pi, parent_pi->flags);
-       }
+                       "vrf %s: import evpn prefix %pFX parent %p flags 0x%x",
+                       vrf_id_to_name(bgp_vrf->vrf_id), evp, parent_pi,
+                       parent_pi->flags);
 
        /* Create (or fetch) route within the VRF. */
        /* NOTE: There is no RD here. */
@@ -2582,18 +2572,15 @@ static int uninstall_evpn_route_entry_in_vrf(struct bgp *bgp_vrf,
        struct prefix *pp = &p;
        afi_t afi = 0;
        safi_t safi = 0;
-       char buf[PREFIX_STRLEN];
 
        memset(pp, 0, sizeof(struct prefix));
        ip_prefix_from_evpn_prefix(evp, pp);
 
-       if (bgp_debug_zebra(NULL)) {
+       if (bgp_debug_zebra(NULL))
                zlog_debug(
-                       "vrf %s: unimport evpn prefix %s parent %p flags 0x%x",
-                       vrf_id_to_name(bgp_vrf->vrf_id),
-                       prefix2str(evp, buf, sizeof(buf)),
-                       parent_pi, parent_pi->flags);
-       }
+                       "vrf %s: unimport evpn prefix %pFX parent %p flags 0x%x",
+                       vrf_id_to_name(bgp_vrf->vrf_id), evp, parent_pi,
+                       parent_pi->flags);
 
        /* Locate route within the VRF. */
        /* NOTE: There is no RD here. */
@@ -2850,15 +2837,13 @@ static int bgp_evpn_route_rmac_self_check(struct bgp *bgp_vrf,
         */
        if (memcmp(&bgp_vrf->rmac, &pi->attr->rmac, ETH_ALEN) == 0) {
                if (bgp_debug_update(pi->peer, NULL, NULL, 1)) {
-                       char buf1[PREFIX_STRLEN];
                        char attr_str[BUFSIZ] = {0};
 
                        bgp_dump_attr(pi->attr, attr_str, sizeof(attr_str));
 
-                       zlog_debug("%s: bgp %u prefix %s with attr %s - DENIED due to self mac",
-                               __func__, bgp_vrf->vrf_id,
-                               prefix2str(evp, buf1, sizeof(buf1)),
-                               attr_str);
+                       zlog_debug(
+                               "%s: bgp %u prefix %pFX with attr %s - DENIED due to self mac",
+                               __func__, bgp_vrf->vrf_id, evp, attr_str);
                }
 
                return 1;
@@ -2879,7 +2864,6 @@ static int install_uninstall_routes_for_vrf(struct bgp *bgp_vrf, int install)
        struct bgp_table *table;
        struct bgp_path_info *pi;
        int ret;
-       char buf[PREFIX_STRLEN];
        struct bgp *bgp_evpn = NULL;
 
        afi = AFI_L2VPN;
@@ -2940,11 +2924,10 @@ static int install_uninstall_routes_for_vrf(struct bgp *bgp_vrf, int install)
                                        if (ret) {
                                                flog_err(
                                                        EC_BGP_EVPN_FAIL,
-                                                       "Failed to %s EVPN %s route in VRF %s",
+                                                       "Failed to %s EVPN %pFX route in VRF %s",
                                                        install ? "install"
                                                                : "uninstall",
-                                                       prefix2str(evp, buf,
-                                                                  sizeof(buf)),
+                                                       evp,
                                                        vrf_id_to_name(
                                                                bgp_vrf->vrf_id));
                                                return ret;
@@ -3113,7 +3096,6 @@ static int install_uninstall_route_in_vrfs(struct bgp *bgp_def, afi_t afi,
                                           struct bgp_path_info *pi,
                                           struct list *vrfs, int install)
 {
-       char buf[PREFIX2STR_BUFFER];
        struct bgp *bgp_vrf;
        struct listnode *node, *nnode;
 
@@ -3139,10 +3121,9 @@ static int install_uninstall_route_in_vrfs(struct bgp *bgp_def, afi_t afi,
 
                if (ret) {
                        flog_err(EC_BGP_EVPN_FAIL,
-                                "%u: Failed to %s prefix %s in VRF %s",
+                                "%u: Failed to %s prefix %pFX in VRF %s",
                                 bgp_def->vrf_id,
-                                install ? "install" : "uninstall",
-                                prefix2str(evp, buf, sizeof(buf)),
+                                install ? "install" : "uninstall", evp,
                                 vrf_id_to_name(bgp_vrf->vrf_id));
                        return ret;
                }
@@ -4100,17 +4081,14 @@ void bgp_evpn_withdraw_type5_route(struct bgp *bgp_vrf, const struct prefix *p,
 {
        int ret = 0;
        struct prefix_evpn evp;
-       char buf[PREFIX_STRLEN];
 
        build_type5_prefix_from_ip_prefix(&evp, p);
        ret = delete_evpn_type5_route(bgp_vrf, &evp);
-       if (ret) {
+       if (ret)
                flog_err(
                        EC_BGP_EVPN_ROUTE_DELETE,
-                       "%u failed to delete type-5 route for prefix %s in vrf %s",
-                       bgp_vrf->vrf_id, prefix2str(p, buf, sizeof(buf)),
-                       vrf_id_to_name(bgp_vrf->vrf_id));
-       }
+                       "%u failed to delete type-5 route for prefix %pFX in vrf %s",
+                       bgp_vrf->vrf_id, p, vrf_id_to_name(bgp_vrf->vrf_id));
 }
 
 /* withdraw all type-5 routes for an address family */
@@ -4172,14 +4150,13 @@ void bgp_evpn_advertise_type5_route(struct bgp *bgp_vrf, const struct prefix *p,
 {
        int ret = 0;
        struct prefix_evpn evp;
-       char buf[PREFIX_STRLEN];
 
        build_type5_prefix_from_ip_prefix(&evp, p);
        ret = update_evpn_type5_route(bgp_vrf, &evp, src_attr);
        if (ret)
                flog_err(EC_BGP_EVPN_ROUTE_CREATE,
-                        "%u: Failed to create type-5 route for prefix %s",
-                        bgp_vrf->vrf_id, prefix2str(p, buf, sizeof(buf)));
+                        "%u: Failed to create type-5 route for prefix %pFX",
+                        bgp_vrf->vrf_id, p);
 }
 
 /* Inject all prefixes of a particular address-family (currently, IPv4 or
index b7b25148389f7e93963bbc438003582546fbdcb8..1a58541a71e3690afe00838cb7df09d9d692ebf8 100644 (file)
@@ -699,7 +699,6 @@ static int bgp_evpn_type4_remote_routes_import(struct bgp *bgp,
        int ret;
        afi_t afi;
        safi_t safi;
-       char buf[PREFIX_STRLEN];
        struct bgp_dest *rd_dest, *dest;
        struct bgp_table *table;
        struct bgp_path_info *pi;
@@ -744,13 +743,11 @@ static int bgp_evpn_type4_remote_routes_import(struct bgp *bgp,
 
                                if (ret) {
                                        flog_err(
-                                                       EC_BGP_EVPN_FAIL,
-                                                       "Failed to %s EVPN %s route in ESI %s",
-                                                       install ? "install"
+                                               EC_BGP_EVPN_FAIL,
+                                               "Failed to %s EVPN %pFX route in ESI %s",
+                                               install ? "install"
                                                        : "uninstall",
-                                                       prefix2str(evp, buf,
-                                                               sizeof(buf)),
-                                                       es->esi_str);
+                                               evp, es->esi_str);
                                        return ret;
                                }
                        }
index 90e9236385845d8e5804645417c96d7425bdc5dc..55e7973f817ecf54af9092fb5be1053da12c7c94 100644 (file)
@@ -20,6 +20,8 @@
 
 #include "zebra.h"
 
+#include "lib/printfrr.h"
+
 #include "prefix.h"
 #include "lib_errors.h"
 
@@ -211,14 +213,11 @@ int bgp_flowspec_ip_address(enum bgp_flowspec_util_nlri_t type,
        switch (type) {
        case BGP_FLOWSPEC_RETURN_STRING:
                if (prefix_local.family == AF_INET6) {
-                       char str[BGP_FLOWSPEC_STRING_DISPLAY_MAX];
                        int ret;
 
-                       prefix2str(&prefix_local, str,
-                                  BGP_FLOWSPEC_STRING_DISPLAY_MAX);
-                       ret = snprintf(display, BGP_FLOWSPEC_STRING_DISPLAY_MAX,
-                                      "%s/off %u",
-                                      str, prefix_offset);
+                       ret = snprintfrr(
+                               display, BGP_FLOWSPEC_STRING_DISPLAY_MAX,
+                               "%pFX/off %u", &prefix_local, prefix_offset);
                        if (ret < 0) {
                                *error = -1;
                                break;
index 075dbe1ccaaac46b80f3442c432cc2db12316564..4f440cd1f822f8ef9cb6929052f190d337e90fe5 100644 (file)
@@ -215,7 +215,6 @@ void bgp_reg_dereg_for_label(struct bgp_dest *dest, struct bgp_path_info *pi,
        int command;
        uint16_t flags = 0;
        size_t flags_pos = 0;
-       char addr[PREFIX_STRLEN];
 
        p = bgp_dest_get_prefix(dest);
        local_label = &(dest->local_label);
@@ -242,11 +241,11 @@ void bgp_reg_dereg_for_label(struct bgp_dest *dest, struct bgp_path_info *pi,
                         * always takes precedence over auto-assigned labels.
                         */
                        if (!have_label_to_reg) {
-                               if (BGP_DEBUG(labelpool, LABELPOOL)) {
-                                       prefix2str(p, addr, PREFIX_STRLEN);
-                                       zlog_debug("%s: Requesting label from LP for %s",
-                                                __func__, addr);
-                               }
+                               if (BGP_DEBUG(labelpool, LABELPOOL))
+                                       zlog_debug(
+                                               "%s: Requesting label from LP for %pFX",
+                                               __func__, p);
+
                                /* bgp_reg_for_label_callback() will call back
                                 * __func__ when it gets a label from the pool.
                                 * This means we'll never register FECs without
index 67885cbf7ecdef9ef3829e64cc1871e2cfbc28ce..f1aeafced70d3e251a56feae378260785da3acbc 100644 (file)
@@ -1106,13 +1106,9 @@ vpn_leak_to_vrf_update_onevrf(struct bgp *bgp_vrf,           /* to */
                return;
        }
 
-       if (debug) {
-               char buf_prefix[PREFIX_STRLEN];
-
-               prefix2str(p, buf_prefix, sizeof(buf_prefix));
-               zlog_debug("%s: updating %s to vrf %s", __func__,
-                               buf_prefix, bgp_vrf->name_pretty);
-       }
+       if (debug)
+               zlog_debug("%s: updating %pFX to vrf %s", __func__, p,
+                          bgp_vrf->name_pretty);
 
        /* shallow copy */
        static_attr = *path_vpn->attr;
index 6cd38ec78f7ffe6a075b3c5858d4669b4b7173c3..64b10c025219e69464fb610b4385633e1fb00835 100644 (file)
@@ -315,15 +315,12 @@ static void bgp_process_nexthop_update(struct bgp_nexthop_cache *bnc,
        bnc->change_flags = 0;
 
        /* debug print the input */
-       if (BGP_DEBUG(nht, NHT)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&nhr->prefix, buf, sizeof(buf));
+       if (BGP_DEBUG(nht, NHT))
                zlog_debug(
-                       "%s(%u): Rcvd NH update %s(%u) - metric %d/%d #nhops %d/%d flags 0x%x",
-                       bnc->bgp->name_pretty, bnc->bgp->vrf_id, buf,
+                       "%s(%u): Rcvd NH update %pFX(%u) - metric %d/%d #nhops %d/%d flags 0x%x",
+                       bnc->bgp->name_pretty, bnc->bgp->vrf_id, &nhr->prefix,
                        bnc->srte_color, nhr->metric, bnc->metric,
                        nhr->nexthop_num, bnc->nexthop_num, bnc->flags);
-       }
 
        if (nhr->metric != bnc->metric)
                bnc->change_flags |= BGP_NEXTHOP_METRIC_CHANGED;
@@ -454,14 +451,10 @@ void bgp_parse_nexthop_update(int command, vrf_id_t vrf_id)
 
        bnc = bnc_find(tree, &nhr.prefix, nhr.srte_color);
        if (!bnc) {
-               if (BGP_DEBUG(nht, NHT)) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&nhr.prefix, buf, sizeof(buf));
+               if (BGP_DEBUG(nht, NHT))
                        zlog_debug(
-                               "parse nexthop update(%s(%u)(%s)): bnc info not found",
-                               buf, nhr.srte_color, bgp->name_pretty);
-               }
+                               "parse nexthop update(%pFX(%u)(%s)): bnc info not found",
+                               &nhr.prefix, nhr.srte_color, bgp->name_pretty);
                return;
        }
 
index f6e5c196cacb39aa15f43ec60bcdcd7ca03b5b09..f7dd08443f2f143982e33e63d7bfccf92465c95b 100644 (file)
@@ -23,6 +23,8 @@
 #include "jhash.h"
 #include "pbr.h"
 
+#include "lib/printfrr.h"
+
 #include "bgpd/bgpd.h"
 #include "bgpd/bgp_pbr.h"
 #include "bgpd/bgp_debug.h"
@@ -1438,7 +1440,6 @@ void bgp_pbr_print_policy_route(struct bgp_pbr_entry_main *api)
        int i = 0;
        char return_string[512];
        char *ptr = return_string;
-       char buff[64];
        int nb_items = 0;
        int delta, len = sizeof(return_string);
 
@@ -1449,12 +1450,10 @@ void bgp_pbr_print_policy_route(struct bgp_pbr_entry_main *api)
                struct prefix *p = &(api->src_prefix);
 
                if (api->src_prefix_offset)
-                       delta = snprintf(ptr, len, "@src %s/off%u",
-                                      prefix2str(p, buff, 64),
-                                      api->src_prefix_offset);
+                       delta = snprintfrr(ptr, len, "@src %pFX/off%u", p,
+                                          api->src_prefix_offset);
                else
-                       delta = snprintf(ptr, len, "@src %s",
-                                      prefix2str(p, buff, 64));
+                       delta = snprintfrr(ptr, len, "@src %pFX", p);
                len -= delta;
                ptr += delta;
                INCREMENT_DISPLAY(ptr, nb_items, len);
@@ -1464,12 +1463,10 @@ void bgp_pbr_print_policy_route(struct bgp_pbr_entry_main *api)
 
                INCREMENT_DISPLAY(ptr, nb_items, len);
                if (api->dst_prefix_offset)
-                       delta = snprintf(ptr, len, "@dst %s/off%u",
-                                      prefix2str(p, buff, 64),
-                                      api->dst_prefix_offset);
+                       delta = snprintfrr(ptr, len, "@dst %pFX/off%u", p,
+                                          api->dst_prefix_offset);
                else
-                       delta = snprintf(ptr, len, "@dst %s",
-                                        prefix2str(p, buff, 64));
+                       delta = snprintfrr(ptr, len, "@dst %pFX", p);
                len -= delta;
                ptr += delta;
        }
index 68ba73caa4ae72117fead5a66add00506982fd69..2e1f2536ab065ae8b9dead870fbab46cec8fe9cc 100644 (file)
@@ -2428,12 +2428,8 @@ void subgroup_process_announce_selected(struct update_subgroup *subgrp,
        onlypeer = ((SUBGRP_PCOUNT(subgrp) == 1) ? (SUBGRP_PFIRST(subgrp))->peer
                                                 : NULL);
 
-       if (BGP_DEBUG(update, UPDATE_OUT)) {
-               char buf_prefix[PREFIX_STRLEN];
-               prefix2str(p, buf_prefix, sizeof(buf_prefix));
-               zlog_debug("%s: p=%s, selected=%p", __func__, buf_prefix,
-                          selected);
-       }
+       if (BGP_DEBUG(update, UPDATE_OUT))
+               zlog_debug("%s: p=%pFX, selected=%p", __func__, p, selected);
 
        /* First update is deferred until ORF or ROUTE-REFRESH is received */
        if (onlypeer && CHECK_FLAG(onlypeer->af_sflags[afi][safi],
@@ -7617,13 +7613,10 @@ static void route_vty_out_route(const struct prefix *p, struct vty *vty,
                        json_object_string_add(json, "network", buf2);
                }
        } else if (p->family == AF_ETHERNET) {
-               prefix2str(p, buf, PREFIX_STRLEN);
                len = vty_out(vty, "%pFX", p);
        } else if (p->family == AF_EVPN) {
                if (!json)
-                       len = vty_out(vty, "%s",
-                                     prefix2str((struct prefix_evpn *)p, buf,
-                                                BUFSIZ));
+                       len = vty_out(vty, "%pFX", (struct prefix_evpn *)p);
                else
                        bgp_evpn_route2json((struct prefix_evpn *)p, json);
        } else if (p->family == AF_FLOWSPEC) {
@@ -8951,7 +8944,6 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
 {
        char buf[INET6_ADDRSTRLEN];
        char buf1[BUFSIZ];
-       char buf2[EVPN_ROUTE_STRLEN];
        struct attr *attr = path->attr;
        int sockunion_vty_out(struct vty *, union sockunion *);
        time_t tbuf;
@@ -8989,7 +8981,6 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
        if (path->extra) {
                char tag_buf[30];
 
-               buf2[0] = '\0';
                tag_buf[0] = '\0';
                if (path->extra && path->extra->num_labels) {
                        bgp_evpn_label2str(path->extra->label,
@@ -8998,10 +8989,9 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
                }
                if (safi == SAFI_EVPN) {
                        if (!json_paths) {
-                               prefix2str((struct prefix_evpn *)
-                                                  bgp_dest_get_prefix(bn),
-                                          buf2, sizeof(buf2));
-                               vty_out(vty, "  Route %s", buf2);
+                               vty_out(vty, "  Route %pFX",
+                                       (struct prefix_evpn *)
+                                               bgp_dest_get_prefix(bn));
                                if (tag_buf[0] != '\0')
                                        vty_out(vty, " VNI %s", tag_buf);
                                vty_out(vty, "\n");
@@ -9025,13 +9015,20 @@ void route_vty_out_detail(struct vty *vty, struct bgp *bgp,
                                                pdest),
                                        buf1, sizeof(buf1));
                                if (is_pi_family_evpn(parent_ri)) {
-                                       prefix2str((struct prefix_evpn *)
-                                                          bgp_dest_get_prefix(
-                                                                  dest),
-                                                  buf2, sizeof(buf2));
-                                       vty_out(vty, "  Imported from %s:%s, VNI %s\n", buf1, buf2, tag_buf);
+                                       vty_out(vty,
+                                               "  Imported from %s:%pFX, VNI %s\n",
+                                               buf1,
+                                               (struct prefix_evpn *)
+                                                       bgp_dest_get_prefix(
+                                                               dest),
+                                               tag_buf);
                                } else
-                                       vty_out(vty, "  Imported from %s:%s\n", buf1, buf2);
+                                       vty_out(vty,
+                                               "  Imported from %s:%pFX\n",
+                                               buf1,
+                                               (struct prefix_evpn *)
+                                                       bgp_dest_get_prefix(
+                                                               dest));
                        }
                }
        }
@@ -10363,7 +10360,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 buf3[EVPN_ROUTE_STRLEN];
        char prefix_str[BUFSIZ];
        int count = 0;
        int best = 0;
@@ -10395,12 +10391,10 @@ void route_vty_out_detail_header(struct vty *vty, struct bgp *bgp,
        if (safi == SAFI_EVPN) {
 
                if (!json) {
-                       vty_out(vty, "BGP routing table entry for %s%s%s\n",
+                       vty_out(vty, "BGP routing table entry for %s%s%pFX\n",
                                prd ? prefix_rd2str(prd, buf1, sizeof(buf1))
                                    : "",
-                               prd ? ":" : "",
-                               prefix2str((struct prefix_evpn *)p, buf3,
-                                          sizeof(buf3)));
+                               prd ? ":" : "", (struct prefix_evpn *)p);
                } else {
                        json_object_string_add(json, "rd",
                                prd ? prefix_rd2str(prd, buf1, sizeof(buf1)) :
index ca47fb316a0e9414c6bc992b7f239bb8d39aec53..0f0aff7eaaca537bf459b965f28d8fddb936ee65 100644 (file)
@@ -702,8 +702,6 @@ static int rpki_validate_prefix(struct peer *peer, struct attr *attr,
        as_t as_number = 0;
        struct lrtr_ip_addr ip_addr_prefix;
        enum pfxv_state result;
-       char buf[BUFSIZ];
-       const char *prefix_string;
 
        if (!is_synchronized())
                return 0;
@@ -754,27 +752,26 @@ static int rpki_validate_prefix(struct peer *peer, struct attr *attr,
                         prefix->prefixlen, &result);
 
        // Print Debug output
-       prefix_string = prefix2str(prefix, buf, sizeof(buf));
        switch (result) {
        case BGP_PFXV_STATE_VALID:
                RPKI_DEBUG(
-                       "Validating Prefix %s from asn %u    Result: VALID",
-                       prefix_string, as_number);
+                       "Validating Prefix %pFX from asn %u    Result: VALID",
+                       prefix, as_number);
                return RPKI_VALID;
        case BGP_PFXV_STATE_NOT_FOUND:
                RPKI_DEBUG(
-                       "Validating Prefix %s from asn %u    Result: NOT FOUND",
-                       prefix_string, as_number);
+                       "Validating Prefix %pFX from asn %u    Result: NOT FOUND",
+                       prefix, as_number);
                return RPKI_NOTFOUND;
        case BGP_PFXV_STATE_INVALID:
                RPKI_DEBUG(
-                       "Validating Prefix %s from asn %u    Result: INVALID",
-                       prefix_string, as_number);
+                       "Validating Prefix %pFX from asn %u    Result: INVALID",
+                       prefix, as_number);
                return RPKI_INVALID;
        default:
                RPKI_DEBUG(
-                       "Validating Prefix %s from asn %u    Result: CANNOT VALIDATE",
-                       prefix_string, as_number);
+                       "Validating Prefix %pFX from asn %u    Result: CANNOT VALIDATE",
+                       prefix, as_number);
                break;
        }
        return 0;
index d1ddfd7a7516b4e47b19d95ee33327e7d1016392..c3edb9e9a4a8cd5798db6e96a7ff85a85918ce6b 100644 (file)
@@ -1137,7 +1137,6 @@ void subgroup_default_update_packet(struct update_subgroup *subgrp,
        /* Logging the attribute. */
        if (bgp_debug_update(NULL, &p, subgrp->update_group, 0)) {
                char attrstr[BUFSIZ];
-               char buf[PREFIX_STRLEN];
                /* ' with addpath ID '          17
                 * max strlen of uint32       + 10
                 * +/- (just in case)         +  1
@@ -1156,10 +1155,9 @@ void subgroup_default_update_packet(struct update_subgroup *subgrp,
                else
                        tx_id_buf[0] = '\0';
 
-               zlog_debug("u%" PRIu64 ":s%" PRIu64 " send UPDATE %s%s %s",
-                          (SUBGRP_UPDGRP(subgrp))->id, subgrp->id,
-                          prefix2str(&p, buf, sizeof(buf)), tx_id_buf,
-                          attrstr);
+               zlog_debug("u%" PRIu64 ":s%" PRIu64 " send UPDATE %pFX%s %s",
+                          (SUBGRP_UPDGRP(subgrp))->id, subgrp->id, &p,
+                          tx_id_buf, attrstr);
        }
 
        s = stream_new(BGP_MAX_PACKET_SIZE);
@@ -1222,7 +1220,6 @@ void subgroup_default_withdraw_packet(struct update_subgroup *subgrp)
        p.prefixlen = 0;
 
        if (bgp_debug_update(NULL, &p, subgrp->update_group, 0)) {
-               char buf[PREFIX_STRLEN];
                /* ' with addpath ID '          17
                 * max strlen of uint32       + 10
                 * +/- (just in case)         +  1
@@ -1235,9 +1232,10 @@ void subgroup_default_withdraw_packet(struct update_subgroup *subgrp)
                                 " with addpath ID %u",
                                 BGP_ADDPATH_TX_ID_FOR_DEFAULT_ORIGINATE);
 
-               zlog_debug("u%" PRIu64 ":s%" PRIu64" send UPDATE %s%s -- unreachable",
-                          (SUBGRP_UPDGRP(subgrp))->id, subgrp->id,
-                          prefix2str(&p, buf, sizeof(buf)), tx_id_buf);
+               zlog_debug("u%" PRIu64 ":s%" PRIu64
+                          " send UPDATE %pFX%s -- unreachable",
+                          (SUBGRP_UPDGRP(subgrp))->id, subgrp->id, &p,
+                          tx_id_buf);
        }
 
        s = stream_new(BGP_MAX_PACKET_SIZE);
index 13dd50aa88098e45783df13b9150eca2ce086dae..a1ef8e23f2ffdc2485e8d2db83624ebfd56de283 100644 (file)
@@ -3883,7 +3883,6 @@ void bgp_config_write_listen(struct vty *vty, struct bgp *bgp)
        struct listnode *node, *nnode, *rnode, *nrnode;
        struct prefix *range;
        afi_t afi;
-       char buf[PREFIX2STR_BUFFER];
 
        if (bgp->dynamic_neighbors_limit != BGP_DYNAMIC_NEIGHBORS_LIMIT_DEFAULT)
                vty_out(vty, " bgp listen limit %d\n",
@@ -3893,10 +3892,9 @@ void bgp_config_write_listen(struct vty *vty, struct bgp *bgp)
                for (afi = AFI_IP; afi < AFI_MAX; afi++) {
                        for (ALL_LIST_ELEMENTS(group->listen_range[afi], rnode,
                                               nrnode, range)) {
-                               prefix2str(range, buf, sizeof(buf));
                                vty_out(vty,
-                                       " bgp listen range %s peer-group %s\n",
-                                       buf, group->name);
+                                       " bgp listen range %pFX peer-group %s\n",
+                                       range, group->name);
                        }
                }
        }
@@ -14112,7 +14110,6 @@ static int bgp_show_one_peer_group(struct vty *vty, struct peer_group *group)
        struct prefix *range;
        struct peer *conf;
        struct peer *peer;
-       char buf[PREFIX2STR_BUFFER];
        afi_t afi;
        safi_t safi;
        const char *peer_status;
@@ -14166,10 +14163,8 @@ static int bgp_show_one_peer_group(struct vty *vty, struct peer_group *group)
 
 
                        for (ALL_LIST_ELEMENTS(group->listen_range[afi], node,
-                                              nnode, range)) {
-                               prefix2str(range, buf, sizeof(buf));
-                               vty_out(vty, "    %s\n", buf);
-                       }
+                                              nnode, range))
+                               vty_out(vty, "    %pFX\n", range);
                }
        }
 
index efc167218932a2e9c35e0359514c18f2bd9f0748..d4a69af4f7a3d4b249a4c0b982ebb7cad612c521 100644 (file)
@@ -91,11 +91,9 @@ static int bgp_router_id_update(ZAPI_CALLBACK_ARGS)
 
        zebra_router_id_update_read(zclient->ibuf, &router_id);
 
-       if (BGP_DEBUG(zebra, ZEBRA)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&router_id, buf, sizeof(buf));
-               zlog_debug("Rx Router Id update VRF %u Id %s", vrf_id, buf);
-       }
+       if (BGP_DEBUG(zebra, ZEBRA))
+               zlog_debug("Rx Router Id update VRF %u Id %pFX", vrf_id,
+                          &router_id);
 
        bgp_router_id_zebra_bump(vrf_id, &router_id);
        return 0;
@@ -313,12 +311,9 @@ static int bgp_interface_address_add(ZAPI_CALLBACK_ARGS)
        if (ifc == NULL)
                return 0;
 
-       if (bgp_debug_zebra(ifc->address)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(ifc->address, buf, sizeof(buf));
-               zlog_debug("Rx Intf address add VRF %u IF %s addr %s", vrf_id,
-                          ifc->ifp->name, buf);
-       }
+       if (bgp_debug_zebra(ifc->address))
+               zlog_debug("Rx Intf address add VRF %u IF %s addr %pFX", vrf_id,
+                          ifc->ifp->name, ifc->address);
 
        if (!bgp)
                return 0;
@@ -350,12 +345,9 @@ static int bgp_interface_address_delete(ZAPI_CALLBACK_ARGS)
        if (ifc == NULL)
                return 0;
 
-       if (bgp_debug_zebra(ifc->address)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(ifc->address, buf, sizeof(buf));
-               zlog_debug("Rx Intf address del VRF %u IF %s addr %s", vrf_id,
-                          ifc->ifp->name, buf);
-       }
+       if (bgp_debug_zebra(ifc->address))
+               zlog_debug("Rx Intf address del VRF %u IF %s addr %pFX", vrf_id,
+                          ifc->ifp->name, ifc->address);
 
        if (bgp && if_is_operative(ifc->ifp)) {
                bgp_connected_delete(bgp, ifc);
@@ -376,12 +368,9 @@ static int bgp_interface_nbr_address_add(ZAPI_CALLBACK_ARGS)
        if (ifc == NULL)
                return 0;
 
-       if (bgp_debug_zebra(ifc->address)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(ifc->address, buf, sizeof(buf));
-               zlog_debug("Rx Intf neighbor add VRF %u IF %s addr %s", vrf_id,
-                          ifc->ifp->name, buf);
-       }
+       if (bgp_debug_zebra(ifc->address))
+               zlog_debug("Rx Intf neighbor add VRF %u IF %s addr %pFX",
+                          vrf_id, ifc->ifp->name, ifc->address);
 
        if (if_is_operative(ifc->ifp)) {
                bgp = bgp_lookup_by_vrf_id(vrf_id);
@@ -402,12 +391,9 @@ static int bgp_interface_nbr_address_delete(ZAPI_CALLBACK_ARGS)
        if (ifc == NULL)
                return 0;
 
-       if (bgp_debug_zebra(ifc->address)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(ifc->address, buf, sizeof(buf));
-               zlog_debug("Rx Intf neighbor del VRF %u IF %s addr %s", vrf_id,
-                          ifc->ifp->name, buf);
-       }
+       if (bgp_debug_zebra(ifc->address))
+               zlog_debug("Rx Intf neighbor del VRF %u IF %s addr %pFX",
+                          vrf_id, ifc->ifp->name, ifc->address);
 
        if (if_is_operative(ifc->ifp)) {
                bgp = bgp_lookup_by_vrf_id(vrf_id);
@@ -534,22 +520,20 @@ static int zebra_read_route(ZAPI_CALLBACK_ARGS)
        }
 
        if (bgp_debug_zebra(&api.prefix)) {
-               char buf[2][PREFIX_STRLEN];
+               char buf[PREFIX_STRLEN];
 
-               prefix2str(&api.prefix, buf[0], sizeof(buf[0]));
                if (add) {
-                       inet_ntop(api.prefix.family, &nexthop, buf[1],
-                                 sizeof(buf[1]));
+                       inet_ntop(api.prefix.family, &nexthop, buf,
+                                 sizeof(buf));
                        zlog_debug(
-                               "Rx route ADD VRF %u %s[%d] %s nexthop %s (type %d if %u) metric %u tag %" ROUTE_TAG_PRI,
+                               "Rx route ADD VRF %u %s[%d] %pFX nexthop %s (type %d if %u) metric %u tag %" ROUTE_TAG_PRI,
                                vrf_id, zebra_route_string(api.type),
-                               api.instance, buf[0], buf[1], nhtype,
-                               ifindex, api.metric, api.tag);
+                               api.instance, &api.prefix, buf, nhtype, ifindex,
+                               api.metric, api.tag);
                } else {
-                       zlog_debug(
-                               "Rx route DEL VRF %u %s[%d] %s",
-                               vrf_id, zebra_route_string(api.type),
-                               api.instance, buf[0]);
+                       zlog_debug("Rx route DEL VRF %u %s[%d] %s", vrf_id,
+                                  zebra_route_string(api.type), api.instance,
+                                  buf);
                }
        }
 
@@ -1436,18 +1420,17 @@ void bgp_zebra_announce(struct bgp_dest *dest, const struct prefix *p,
        }
 
        if (bgp_debug_zebra(p)) {
-               char prefix_buf[PREFIX_STRLEN];
                char nh_buf[INET6_ADDRSTRLEN];
                char eth_buf[ETHER_ADDR_STRLEN + 7] = {'\0'};
                char buf1[ETHER_ADDR_STRLEN];
                char label_buf[20];
                int i;
 
-               prefix2str(&api.prefix, prefix_buf, sizeof(prefix_buf));
-               zlog_debug("Tx route %s VRF %u %s metric %u tag %" ROUTE_TAG_PRI
-                          " count %d",
-                          valid_nh_count ? "add" : "delete", bgp->vrf_id,
-                          prefix_buf, api.metric, api.tag, api.nexthop_num);
+               zlog_debug(
+                       "Tx route %s VRF %u %pFX metric %u tag %" ROUTE_TAG_PRI
+                       " count %d",
+                       valid_nh_count ? "add" : "delete", bgp->vrf_id,
+                       &api.prefix, api.metric, api.tag, api.nexthop_num);
                for (i = 0; i < api.nexthop_num; i++) {
                        api_nh = &api.nexthops[i];
 
@@ -1596,12 +1579,9 @@ void bgp_zebra_withdraw(const struct prefix *p, struct bgp_path_info *info,
        if (is_route_parent_evpn(info))
                SET_FLAG(api.flags, ZEBRA_FLAG_EVPN_ROUTE);
 
-       if (bgp_debug_zebra(p)) {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf, sizeof(buf));
-               zlog_debug("Tx route delete VRF %u %s", bgp->vrf_id, buf);
-       }
+       if (bgp_debug_zebra(p))
+               zlog_debug("Tx route delete VRF %u %pFX", bgp->vrf_id,
+                          &api.prefix);
 
        zclient_route_send(ZEBRA_ROUTE_DELETE, zclient, &api);
 }
@@ -2787,7 +2767,6 @@ static void bgp_zebra_process_local_ip_prefix(ZAPI_CALLBACK_ARGS)
        struct stream *s = NULL;
        struct bgp *bgp_vrf = NULL;
        struct prefix p;
-       char buf[PREFIX_STRLEN];
 
        memset(&p, 0, sizeof(struct prefix));
        s = zclient->ibuf;
@@ -2798,8 +2777,7 @@ static void bgp_zebra_process_local_ip_prefix(ZAPI_CALLBACK_ARGS)
                return;
 
        if (BGP_DEBUG(zebra, ZEBRA))
-               zlog_debug("Recv prefix %s %s on vrf %s",
-                          prefix2str(&p, buf, sizeof(buf)),
+               zlog_debug("Recv prefix %pFX %s on vrf %s", &p,
                           (cmd == ZEBRA_IP_PREFIX_ROUTE_ADD) ? "ADD" : "DEL",
                           vrf_id_to_name(vrf_id));
 
index 03a5854d07a652683973641bf76b3eb5ffa609fb..bb426e96d349637848cddc4454cafcf0b11c8f18 100644 (file)
@@ -2738,7 +2738,6 @@ int peer_group_listen_range_del(struct peer_group *group, struct prefix *range)
        struct listnode *node, *nnode;
        struct peer *peer;
        afi_t afi;
-       char buf[PREFIX2STR_BUFFER];
 
        afi = family2afi(range->family);
 
@@ -2751,8 +2750,6 @@ int peer_group_listen_range_del(struct peer_group *group, struct prefix *range)
        if (!prefix)
                return BGP_ERR_DYNAMIC_NEIGHBORS_RANGE_NOT_FOUND;
 
-       prefix2str(prefix, buf, sizeof(buf));
-
        /* Dispose off any dynamic neighbors that exist due to this listen range
         */
        for (ALL_LIST_ELEMENTS(group->peer, node, nnode, peer)) {
@@ -2763,8 +2760,8 @@ int peer_group_listen_range_del(struct peer_group *group, struct prefix *range)
                if (prefix_match(prefix, &prefix2)) {
                        if (bgp_debug_neighbor_events(peer))
                                zlog_debug(
-                                       "Deleting dynamic neighbor %s group %s upon delete of listen range %s",
-                                       peer->host, group->name, buf);
+                                       "Deleting dynamic neighbor %s group %s upon delete of listen range %pFX",
+                                       peer->host, group->name, prefix);
                        peer_delete(peer);
                }
        }
@@ -3770,7 +3767,6 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su)
        struct prefix *listen_range;
        int dncount;
        char buf[PREFIX2STR_BUFFER];
-       char buf1[PREFIX2STR_BUFFER];
 
        sockunion2hostprefix(su, &prefix);
 
@@ -3787,12 +3783,11 @@ struct peer *peer_lookup_dynamic_neighbor(struct bgp *bgp, union sockunion *su)
                return NULL;
 
        prefix2str(&prefix, buf, sizeof(buf));
-       prefix2str(listen_range, buf1, sizeof(buf1));
 
        if (bgp_debug_neighbor_events(NULL))
                zlog_debug(
-                       "Dynamic Neighbor %s matches group %s listen range %s",
-                       buf, group->name, buf1);
+                       "Dynamic Neighbor %s matches group %s listen range %pFX",
+                       buf, group->name, listen_range);
 
        /* Are we within the listen limit? */
        dncount = gbgp->dynamic_neighbors_count;
index 2bcef97fc3d04d3c4afee64f734c6e969f33b7be..88c92f7954ad89319f11ef1d0828419952478ee5 100644 (file)
@@ -170,14 +170,8 @@ struct rfapi_nve_group_cfg *bgp_rfapi_cfg_match_group(struct rfapi_cfg *hc,
 
 #ifdef BGP_VNC_DEBUG_MATCH_GROUP
        {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(vn, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s: vn prefix: %s", __func__, buf);
-
-               prefix2str(un, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s: un prefix: %s", __func__, buf);
-
+               vnc_zlog_debug_verbose("%s: vn prefix: %pFX", __func__, vn);
+               vnc_zlog_debug_verbose("%s: un prefix: %pFX", __func__, un);
                vnc_zlog_debug_verbose(
                        "%s: rn_vn=%p, rn_un=%p, rfg_vn=%p, rfg_un=%p",
                        __func__, rn_vn, rn_un, rfg_vn, rfg_un);
@@ -4215,23 +4209,13 @@ int bgp_rfapi_cfg_write(struct vty *vty, struct bgp *bgp)
                                ++write;
                                vty_out(vty, " vnc nve-group %s\n", rfg->name);
 
-                               if (rfg->vn_prefix.family && rfg->vn_node) {
-                                       char buf[PREFIX_STRLEN];
+                               if (rfg->vn_prefix.family && rfg->vn_node)
+                                       vty_out(vty, "  prefix %s %pFX\n", "vn",
+                                               &rfg->vn_prefix);
 
-                                       prefix2str(&rfg->vn_prefix, buf,
-                                                  sizeof(buf));
-                                       vty_out(vty, "  prefix %s %s\n", "vn",
-                                               buf);
-                               }
-
-                               if (rfg->un_prefix.family && rfg->un_node) {
-                                       char buf[PREFIX_STRLEN];
-
-                                       prefix2str(&rfg->un_prefix, buf,
-                                                  sizeof(buf));
-                                       vty_out(vty, "  prefix %s %s\n", "un",
-                                               buf);
-                               }
+                               if (rfg->un_prefix.family && rfg->un_node)
+                                       vty_out(vty, "  prefix %s %pFX\n", "un",
+                                               &rfg->un_prefix);
 
 
                                if (rfg->rd.prefixlen) {
index 0ff4b2c825103f14c64cecfd0912d5a51ae63295..2d81a6ce65c1e0c2f69158da0d622900a23f6619 100644 (file)
@@ -362,12 +362,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
        afi_t afi; /* of the VN address */
        struct bgp_dest *bn;
        struct bgp_path_info *bpi;
-       char buf[PREFIX_STRLEN];
        char buf2[RD_ADDRSTRLEN];
        struct prefix_rd prd0;
 
-       prefix2str(p, buf, sizeof(buf));
-
        afi = family2afi(p->family);
        assert(afi == AFI_IP || afi == AFI_IP6);
 
@@ -380,9 +377,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
        bn = bgp_afi_node_get(bgp->rib[afi][safi], afi, safi, p, prd);
 
        vnc_zlog_debug_verbose(
-               "%s: peer=%p, prefix=%s, prd=%s afi=%d, safi=%d bn=%p, bn->info=%p",
-               __func__, peer, buf, prefix_rd2str(prd, buf2, sizeof(buf2)),
-               afi, safi, bn, (bn ? bgp_dest_get_bgp_path_info(bn) : NULL));
+               "%s: peer=%p, prefix=%pFX, prd=%s afi=%d, safi=%d bn=%p, bn->info=%p",
+               __func__, peer, p, prefix_rd2str(prd, buf2, sizeof(buf2)), afi,
+               safi, bn, (bn ? bgp_dest_get_bgp_path_info(bn) : NULL));
 
        for (bpi = (bn ? bgp_dest_get_bgp_path_info(bn) : NULL); bpi;
             bpi = bpi->next) {
@@ -418,8 +415,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
                         * no local nexthops
                         */
                        vnc_zlog_debug_verbose(
-                               "%s: lnh list already empty at prefix %s",
-                               __func__, buf);
+                               "%s: lnh list already empty at prefix %pFX",
+                               __func__, p);
                        goto done;
                }
 
@@ -445,8 +442,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
                         * list->del on data */
                        rfapi_nexthop_free(pLnh);
                } else {
-                       vnc_zlog_debug_verbose("%s: desired lnh not found %s",
-                                              __func__, buf);
+                       vnc_zlog_debug_verbose("%s: desired lnh not found %pFX",
+                                              __func__, p);
                }
                goto done;
        }
@@ -459,10 +456,9 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
        rfapiProcessWithdraw(peer, rfd, p, prd, NULL, afi, safi, type, kill);
 
        if (bpi) {
-               prefix2str(p, buf, sizeof(buf));
                vnc_zlog_debug_verbose(
-                       "%s: Found route (safi=%d) to delete at prefix %s",
-                       __func__, safi, buf);
+                       "%s: Found route (safi=%d) to delete at prefix %pFX",
+                       __func__, safi, p);
 
                if (safi == SAFI_MPLS_VPN) {
                        struct bgp_dest *pdest = NULL;
@@ -488,8 +484,8 @@ void del_vnc_route(struct rfapi_descriptor *rfd,
                bgp_process(bgp, bn, afi, safi);
        } else {
                vnc_zlog_debug_verbose(
-                       "%s: Couldn't find route (safi=%d) at prefix %s",
-                       __func__, safi, buf);
+                       "%s: Couldn't find route (safi=%d) at prefix %pFX",
+                       __func__, safi, p);
        }
 done:
        bgp_dest_unlock_node(bn);
@@ -1577,12 +1573,10 @@ rfapi_query_inner(void *handle, struct rfapi_ip_addr *target,
        }
 
        {
-               char buf[PREFIX_STRLEN];
                char *s;
 
-               prefix2str(&p, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s(rfd=%p, target=%s, ppNextHop=%p)",
-                                      __func__, rfd, buf, ppNextHopEntry);
+               vnc_zlog_debug_verbose("%s(rfd=%p, target=%pFX, ppNextHop=%p)",
+                                      __func__, rfd, &p, ppNextHopEntry);
 
                s = ecommunity_ecom2str(rfd->import_table->rt_import_list,
                                        ECOMMUNITY_FORMAT_ROUTE_MAP, 0);
@@ -2397,16 +2391,10 @@ int rfapi_register(void *handle, struct rfapi_ip_prefix *prefix,
        afi = family2afi(prefix->prefix.addr_family);
        assert(afi);
 
-
-       {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&p, buf, sizeof(buf));
-               vnc_zlog_debug_verbose(
-                       "%s(rfd=%p, pfx=%s, lifetime=%d, opts_un=%p, opts_vn=%p, action=%s)",
-                       __func__, rfd, buf, lifetime, options_un, options_vn,
-                       action_str);
-       }
+       vnc_zlog_debug_verbose(
+               "%s(rfd=%p, pfx=%pFX, lifetime=%d, opts_un=%p, opts_vn=%p, action=%s)",
+               __func__, rfd, &p, lifetime, options_un, options_vn,
+               action_str);
 
        /*
         * These tests come after the prefix conversion so that we can
index 1e8a381e2da4db76b8058e720d042a6aa48073b7..68d4f622ed4e939d62e5f9734fe8d1432b2e1ad6 100644 (file)
@@ -612,11 +612,8 @@ rfapiMonitorMoveShorter(struct agg_node *original_vpn_node, int lockoffset)
 
 #ifdef DEBUG_MONITOR_MOVE_SHORTER
        {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&original_vpn_node->p, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s: called with node pfx=%s", __func__,
-                                      buf);
+               vnc_zlog_debug_verbose("%s: called with node pfx=%pFX",
+                                      __func__, &original_vpn_node->p);
        }
 #endif
 
@@ -751,11 +748,8 @@ rfapiMonitorMoveShorter(struct agg_node *original_vpn_node, int lockoffset)
 
 #ifdef DEBUG_MONITOR_MOVE_SHORTER
        {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&par->p, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s: moved to node pfx=%s", __func__,
-                                      buf);
+               vnc_zlog_debug_verbose("%s: moved to node pfx=%pFX", __func__,
+                                      &par->p);
        }
 #endif
 
@@ -1556,12 +1550,9 @@ static int rfapiNhlAddNodeRoutes(
                }
                if (!skiplist_search(seen_nexthops, &pfx_vn, NULL)) {
 #ifdef DEBUG_RETURNED_NHL
-                       char buf[PREFIX_STRLEN];
-
-                       prefix2str(&pfx_vn, buf, sizeof(buf));
                        vnc_zlog_debug_verbose(
-                               "%s: already put VN/nexthop %s, skip", __func__,
-                               buf);
+                               "%s: already put VN/nexthop %pFX, skip",
+                               __func__, &pfx_vn);
 #endif
                        continue;
                }
@@ -3634,12 +3625,9 @@ void rfapiBgpInfoFilteredImportVPN(
                rfapiCopyUnEncap2VPN(ern->info, info_new);
                agg_unlock_node(ern); /* undo lock in route_note_match */
        } else {
-               char bpf[PREFIX_STRLEN];
-
-               prefix2str(&vn_prefix, bpf, sizeof(bpf));
                /* Not a big deal, just means VPN route got here first */
-               vnc_zlog_debug_verbose("%s: no encap route for vn addr %s",
-                                      __func__, bpf);
+               vnc_zlog_debug_verbose("%s: no encap route for vn addr %pFX",
+                                      __func__, &vn_prefix);
                info_new->extra->vnc.import.un_family = 0;
        }
 
@@ -4441,13 +4429,9 @@ static void rfapiDeleteRemotePrefixesIt(
                        struct bgp_path_info *next;
                        const struct prefix *rn_p = agg_node_get_prefix(rn);
 
-                       if (p && VNC_DEBUG(IMPORT_DEL_REMOTE)) {
-                               char p1line[PREFIX_STRLEN];
-
-                               prefix2str(p, p1line, sizeof(p1line));
-                               vnc_zlog_debug_any("%s: want %s, have %pRN",
-                                                  __func__, p1line, rn);
-                       }
+                       if (p && VNC_DEBUG(IMPORT_DEL_REMOTE))
+                               vnc_zlog_debug_any("%s: want %pFX, have %pRN",
+                                                  __func__, p, rn);
 
                        if (p && prefix_cmp(p, rn_p))
                                continue;
index cd26892b84d486e044aaa296499a0888252f0bd5..a4b0eff03ed3cc2b7ac69c4a9afee3ddc87f2b73 100644 (file)
@@ -846,9 +846,6 @@ void rfapiMonitorItNodeChanged(
        struct bgp *bgp = bgp_get_default();
        const struct prefix *p = agg_node_get_prefix(rn);
        afi_t afi = family2afi(p->family);
-#if DEBUG_L2_EXTRA
-       char buf_prefix[PREFIX_STRLEN];
-#endif
 
        assert(bgp);
        assert(import_table);
@@ -856,9 +853,8 @@ void rfapiMonitorItNodeChanged(
        nves_seen = skiplist_new(0, NULL, NULL);
 
 #if DEBUG_L2_EXTRA
-       prefix2str(&it_node->p, buf_prefix, sizeof(buf_prefix));
-       vnc_zlog_debug_verbose("%s: it=%p, it_node=%p, it_node->prefix=%s",
-                              __func__, import_table, it_node, buf_prefix);
+       vnc_zlog_debug_verbose("%s: it=%p, it_node=%p, it_node->prefix=%pFX",
+                              __func__, import_table, it_node, &it_node->p);
 #endif
 
        if (AFI_L2VPN == afi) {
@@ -934,14 +930,10 @@ void rfapiMonitorItNodeChanged(
                                        assert(!skiplist_insert(nves_seen,
                                                                m->rfd, NULL));
 
-                                       char buf_target_pfx[PREFIX_STRLEN];
-
-                                       prefix2str(&m->p, buf_target_pfx,
-                                                  sizeof(buf_target_pfx));
                                        vnc_zlog_debug_verbose(
-                                               "%s: update rfd %p attached to pfx %pRN (targ=%s)",
+                                               "%s: update rfd %p attached to pfx %pRN (targ=%pFX)",
                                                __func__, m->rfd, m->node,
-                                               buf_target_pfx);
+                                               &m->p);
 
                                        /*
                                         * update its RIB
@@ -1269,21 +1261,15 @@ static void rfapiMonitorEthDetachImport(
        rn = agg_node_get(it->imported_vpn[AFI_L2VPN], &pfx_mac_buf);
        assert(rn);
 
-#if DEBUG_L2_EXTRA
-       char buf_prefix[PREFIX_STRLEN];
-
-       prefix2str(agg_node_get_prefix(rn), buf_prefix, sizeof(buf_prefix));
-#endif
-
        /*
         * Get sl to detach from
         */
        sl = RFAPI_MONITOR_ETH(rn);
 #if DEBUG_L2_EXTRA
        vnc_zlog_debug_verbose(
-               "%s: it=%p, rn=%p, rn->lock=%d, sl=%p, pfx=%s, LNI=%d, detaching eth mon %p",
-               __func__, it, rn, rn->lock, sl, buf_prefix, mon->logical_net_id,
-               mon);
+               "%s: it=%p, rn=%p, rn->lock=%d, sl=%p, pfx=%pFX, LNI=%d, detaching eth mon %p",
+               __func__, it, rn, rn->lock, sl, agg_node_get_prefix(rn),
+               mon->logical_net_id, mon);
 #endif
        assert(sl);
 
index 8109e7e3d735a04895e38595ca946259f20999ba..09832b32ac1c142938347e5f82ac530e6a44e9e5 100644 (file)
@@ -907,10 +907,6 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd,
                        delete_list = list_new();
                        while (0
                               == skiplist_first(slRibPt, NULL, (void **)&ri)) {
-
-                               char buf[PREFIX_STRLEN];
-                               char buf2[PREFIX_STRLEN];
-
                                listnode_add(delete_list, ri);
                                vnc_zlog_debug_verbose(
                                        "%s: after listnode_add, delete_list->count=%d",
@@ -927,12 +923,10 @@ static void process_pending_node(struct bgp *bgp, struct rfapi_descriptor *rfd,
                                        ri->timer = NULL;
                                }
 
-                               prefix2str(&ri->rk.vn, buf, sizeof(buf));
-                               prefix2str(&ri->un, buf2, sizeof(buf2));
                                vnc_zlog_debug_verbose(
-                                       "%s:   put dl pfx=%pRN vn=%s un=%s cost=%d life=%d vn_options=%p",
-                                       __func__, pn, buf, buf2, ri->cost,
-                                       ri->lifetime, ri->vn_options);
+                                       "%s:   put dl pfx=%pRN vn=%pFX un=%pFX cost=%d life=%d vn_options=%p",
+                                       __func__, pn, &ri->rk.vn, &ri->un,
+                                       ri->cost, ri->lifetime, ri->vn_options);
 
                                skiplist_delete_first(slRibPt);
                        }
@@ -1589,7 +1583,6 @@ void rfapiRibUpdatePendingNode(
        afi_t afi;
        uint32_t queued_flag;
        int count = 0;
-       char buf[PREFIX_STRLEN];
 
        vnc_zlog_debug_verbose("%s: entry", __func__);
 
@@ -1602,8 +1595,7 @@ void rfapiRibUpdatePendingNode(
 
        prefix = agg_node_get_prefix(it_node);
        afi = family2afi(prefix->family);
-       prefix2str(prefix, buf, sizeof(buf));
-       vnc_zlog_debug_verbose("%s: prefix=%s", __func__, buf);
+       vnc_zlog_debug_verbose("%s: prefix=%pFX", __func__, prefix);
 
        pn = agg_node_get(rfd->rib_pending[afi], prefix);
        assert(pn);
@@ -1809,11 +1801,8 @@ int rfapiRibFTDFilterRecentPrefix(
 
 #ifdef DEBUG_FTD_FILTER_RECENT
        {
-               char buf_pfx[PREFIX_STRLEN];
-
-               prefix2str(agg_node_get_prefix(it_rn), buf_pfx,
-                          sizeof(buf_pfx));
-               vnc_zlog_debug_verbose("%s: prefix %s", __func__, buf_pfx);
+               vnc_zlog_debug_verbose("%s: prefix %pFX", __func__,
+                                      agg_node_get_prefix(it_rn));
        }
 #endif
 
@@ -1974,21 +1963,18 @@ rfapiRibPreload(struct bgp *bgp, struct rfapi_descriptor *rfd,
 
 #if DEBUG_NHL
                {
-                       char str_vn[PREFIX_STRLEN];
                        char str_aux_prefix[PREFIX_STRLEN];
 
-                       str_vn[0] = 0;
                        str_aux_prefix[0] = 0;
 
-                       prefix2str(&rk.vn, str_vn, sizeof(str_vn));
                        prefix2str(&rk.aux_prefix, str_aux_prefix,
                                   sizeof(str_aux_prefix));
 
                        if (!rk.aux_prefix.family) {
                        }
                        vnc_zlog_debug_verbose(
-                               "%s:   rk.vn=%s rk.aux_prefix=%s", __func__,
-                               str_vn,
+                               "%s:   rk.vn=%pFX rk.aux_prefix=%s", __func__,
+                               &rk.vn,
                                (rk.aux_prefix.family ? str_aux_prefix : "-"));
                }
                vnc_zlog_debug_verbose(
@@ -2072,17 +2058,10 @@ rfapiRibPreload(struct bgp *bgp, struct rfapi_descriptor *rfd,
                if (agg_node_get_lock_count(trn) > 1)
                        agg_unlock_node(trn);
 
-               {
-                       char str_pfx[PREFIX_STRLEN];
-                       char str_pfx_vn[PREFIX_STRLEN];
-
-                       prefix2str(&pfx, str_pfx, sizeof(str_pfx));
-                       prefix2str(&rk.vn, str_pfx_vn, sizeof(str_pfx_vn));
-                       vnc_zlog_debug_verbose(
-                               "%s:   added pfx=%s nh[vn]=%s, cost=%u, lifetime=%u, allowed=%d",
-                               __func__, str_pfx, str_pfx_vn, nhp->prefix.cost,
-                               nhp->lifetime, allowed);
-               }
+               vnc_zlog_debug_verbose(
+                       "%s:   added pfx=%pFX nh[vn]=%pFX, cost=%u, lifetime=%u, allowed=%d",
+                       __func__, &pfx, &rk.vn, nhp->prefix.cost, nhp->lifetime,
+                       allowed);
 
                if (allowed) {
                        if (tail)
index 850e8325c90ca12902f22d57d97c030e3f8bc968..b9a6c4ddc4e9aa802ff2e57d57d11157f4568e80 100644 (file)
@@ -1596,7 +1596,6 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd)
        int rc;
        afi_t afi;
        struct rfapi_adb *adb;
-       char buf[PREFIX_STRLEN];
 
        vty_out(vty, "%-10p ", rfd);
        rfapiPrintRfapiIpAddr(vty, &rfd->un_addr);
@@ -1648,9 +1647,8 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd)
                        if (family != adb->u.s.prefix_ip.family)
                                continue;
 
-                       prefix2str(&adb->u.s.prefix_ip, buf, sizeof(buf));
-
-                       vty_out(vty, "  Adv Pfx: %s%s", buf, HVTYNL);
+                       vty_out(vty, "  Adv Pfx: %pFX%s", &adb->u.s.prefix_ip,
+                               HVTYNL);
                        rfapiPrintAdvertisedInfo(vty, rfd, SAFI_MPLS_VPN,
                                                 &adb->u.s.prefix_ip);
                }
@@ -1659,10 +1657,7 @@ void rfapiPrintDescriptor(struct vty *vty, struct rfapi_descriptor *rfd)
                                (void **)&adb, &cursor);
             rc == 0; rc = skiplist_next(rfd->advertised.ip0_by_ether, NULL,
                                         (void **)&adb, &cursor)) {
-
-               prefix2str(&adb->u.s.prefix_eth, buf, sizeof(buf));
-
-               vty_out(vty, "  Adv Pfx: %s%s", buf, HVTYNL);
+               vty_out(vty, "  Adv Pfx: %pFX%s", &adb->u.s.prefix_eth, HVTYNL);
 
                /* TBD update the following function to print ethernet info */
                /* Also need to pass/use rd */
@@ -1863,11 +1858,9 @@ void rfapiPrintNhl(void *stream, struct rfapi_next_hop_entry *next_hops)
                                        break;
 
                                case RFAPI_VN_OPTION_TYPE_LOCAL_NEXTHOP:
-                                       prefix2str(&vo->v.local_nexthop.addr,
-                                                  pbuf, sizeof(pbuf));
-                                       fp(out, "%sLNH %s cost=%d%s", offset,
-                                          pbuf, vo->v.local_nexthop.cost,
-                                          HVTYNL);
+                                       fp(out, "%sLNH %pFX cost=%d%s", offset,
+                                          &vo->v.local_nexthop.addr,
+                                          vo->v.local_nexthop.cost, HVTYNL);
                                        break;
 
                                default:
index 85d64b5a72daad0286130a25844911881a83f972..0b6b39b966f740026ee9088f5fb9d95d78f6e6b3 100644 (file)
@@ -206,19 +206,11 @@ static void print_rhn_list(const char *tag1, const char *tag2)
 
        /* XXX uses secret knowledge of skiplist structure */
        for (p = sl->header->forward[0]; p; p = p->forward[0]) {
-               char kbuf[PREFIX_STRLEN];
-               char hbuf[PREFIX_STRLEN];
-               char ubuf[PREFIX_STRLEN];
-
                pb = p->value;
 
-               prefix2str(p->key, kbuf, sizeof(kbuf));
-               prefix2str(&pb->hpfx, hbuf, sizeof(hbuf));
-               prefix2str(&pb->upfx, ubuf, sizeof(ubuf));
-
                vnc_zlog_debug_verbose(
-                       "RHN Entry %d (q=%p): kpfx=%s, upfx=%s, hpfx=%s, ubpi=%p",
-                       ++count, p, kbuf, ubuf, hbuf, pb->ubpi);
+                       "RHN Entry %d (q=%p): kpfx=%pFX, upfx=%pFX, hpfx=%pFX, ubpi=%p",
+                       ++count, p, p->key, &pb->upfx, &pb->hpfx, pb->ubpi);
        }
 }
 #endif
@@ -260,15 +252,9 @@ static void vnc_rhnck(char *tag)
                 * pfx */
                assert(!vnc_prefix_cmp(&pb->hpfx, pkey));
                if (vnc_prefix_cmp(&pb->hpfx, &pfx_orig_nexthop)) {
-                       char str_onh[PREFIX_STRLEN];
-                       char str_nve_pfx[PREFIX_STRLEN];
-
-                       prefix2str(&pfx_orig_nexthop, str_onh, sizeof(str_onh));
-                       prefix2str(&pb->hpfx, str_nve_pfx, sizeof(str_nve_pfx));
-
                        vnc_zlog_debug_verbose(
-                               "%s: %s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s",
-                               __func__, tag, str_onh, str_nve_pfx);
+                               "%s: %s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX",
+                               __func__, tag, &pfx_orig_nexthop, &pb->hpfx);
                        assert(0);
                }
        }
@@ -529,13 +515,7 @@ static void vnc_import_bgp_add_route_mode_resolve_nve_one_rd(
        if (!table_rd)
                return;
 
-       {
-               char str_nh[PREFIX_STRLEN];
-
-               prefix2str(ubpi_nexthop, str_nh, sizeof(str_nh));
-
-               vnc_zlog_debug_verbose("%s: ubpi_nexthop=%s", __func__, str_nh);
-       }
+       vnc_zlog_debug_verbose("%s: ubpi_nexthop=%pFX", __func__, ubpi_nexthop);
 
        /* exact match */
        bd = bgp_node_lookup(table_rd, ubpi_nexthop);
@@ -574,12 +554,9 @@ static void vnc_import_bgp_add_route_mode_resolve_nve(
 
        /*debugging */
        if (VNC_DEBUG(VERBOSE)) {
-               char str_pfx[PREFIX_STRLEN];
                char str_nh[PREFIX_STRLEN];
                struct prefix nh;
 
-               prefix2str(prefix, str_pfx, sizeof(str_pfx));
-
                nh.prefixlen = 0;
                rfapiUnicastNexthop2Prefix(afi, info->attr, &nh);
                if (nh.prefixlen) {
@@ -590,8 +567,8 @@ static void vnc_import_bgp_add_route_mode_resolve_nve(
                }
 
                vnc_zlog_debug_verbose(
-                       "%s(bgp=%p, unicast prefix=%s, unicast nh=%s)",
-                       __func__, bgp, str_pfx, str_nh);
+                       "%s(bgp=%p, unicast prefix=%pFX, unicast nh=%s)",
+                       __func__, bgp, prefix, str_nh);
        }
 
        if (info->type != ZEBRA_ROUTE_BGP) {
@@ -713,12 +690,7 @@ static void vnc_import_bgp_add_route_mode_plain(struct bgp *bgp,
        uint32_t local_pref;
        uint32_t *med = NULL;
 
-       {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(prefix, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s(prefix=%s) entry", __func__, buf);
-       }
+       vnc_zlog_debug_verbose("%s(prefix=%pFX) entry", __func__, prefix);
 
        if (!afi) {
                flog_err(EC_LIB_DEVELOPMENT, "%s: can't get afi of prefix",
@@ -783,12 +755,8 @@ static void vnc_import_bgp_add_route_mode_plain(struct bgp *bgp,
                ahr_flags |= RFAPI_AHR_NO_TUNNEL_SUBTLV;
        }
 
-       if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(vn_pfx, buf, sizeof(buf));
-               vnc_zlog_debug_any("%s vn_pfx=%s", __func__, buf);
-       }
+       if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE))
+               vnc_zlog_debug_any("%s vn_pfx=%pFX", __func__, vn_pfx);
 
        /*
         * Compute VN address
@@ -899,12 +867,7 @@ static void vnc_import_bgp_add_route_mode_nvegroup(
        struct route_map *rmap = NULL;
        uint32_t local_pref;
 
-       {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(prefix, buf, sizeof(buf));
-               vnc_zlog_debug_verbose("%s(prefix=%s) entry", __func__, buf);
-       }
+       vnc_zlog_debug_verbose("%s(prefix=%pFX) entry", __func__, prefix);
 
        assert(rfg);
 
@@ -985,12 +948,8 @@ static void vnc_import_bgp_add_route_mode_nvegroup(
                vncHDBgpDirect.un_addr = pfx_un.prefix;
        }
 
-       if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(vn_pfx, buf, sizeof(buf));
-               vnc_zlog_debug_any("%s vn_pfx=%s", __func__, buf);
-       }
+       if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE))
+               vnc_zlog_debug_any("%s vn_pfx=%pFX", __func__, vn_pfx);
 
        /*
         * Compute VN address
@@ -1288,12 +1247,7 @@ static void vnc_import_bgp_del_route_mode_resolve_nve_one_rd(
        if (!table_rd)
                return;
 
-       {
-               char str_nh[PREFIX_STRLEN];
-
-               prefix2str(ubpi_nexthop, str_nh, sizeof(str_nh));
-               vnc_zlog_debug_verbose("%s: ubpi_nexthop=%s", __func__, str_nh);
-       }
+       vnc_zlog_debug_verbose("%s: ubpi_nexthop=%pFX", __func__, ubpi_nexthop);
 
 
        /* exact match */
@@ -1467,17 +1421,11 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve(
                memset(&pfx_unicast_nexthop, 0,
                       sizeof(struct prefix)); /* keep valgrind happy */
 
-               if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE)) {
-                       char hbuf[PREFIX_STRLEN];
-                       char ubuf[PREFIX_STRLEN];
-
-                       prefix2str(&pb->hpfx, hbuf, sizeof(hbuf));
-                       prefix2str(&pb->upfx, ubuf, sizeof(ubuf));
-
+               if (VNC_DEBUG(IMPORT_BGP_ADD_ROUTE))
                        vnc_zlog_debug_any(
-                               "%s: examining RHN Entry (q=%p): upfx=%s, hpfx=%s, ubpi=%p",
-                               __func__, cursor, ubuf, hbuf, pb->ubpi);
-               }
+                               "%s: examining RHN Entry (q=%p): upfx=%pFX, hpfx=%pFX, ubpi=%p",
+                               __func__, cursor, &pb->upfx, &pb->hpfx,
+                               pb->ubpi);
 
                if (process_unicast_route(bgp, afi, &pb->upfx, pb->ubpi, &ecom,
                                          &pfx_unicast_nexthop)) {
@@ -1497,16 +1445,9 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve(
                 * Sanity check
                 */
                if (vnc_prefix_cmp(&pfx_unicast_nexthop, prefix)) {
-                       char str_unh[PREFIX_STRLEN];
-                       char str_nve_pfx[PREFIX_STRLEN];
-
-                       prefix2str(&pfx_unicast_nexthop, str_unh,
-                                  sizeof(str_unh));
-                       prefix2str(prefix, str_nve_pfx, sizeof(str_nve_pfx));
-
                        vnc_zlog_debug_verbose(
-                               "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s",
-                               __func__, str_unh, str_nve_pfx);
+                               "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX",
+                               __func__, &pfx_unicast_nexthop, prefix);
                        assert(0);
                }
 
@@ -1521,13 +1462,9 @@ void vnc_import_bgp_add_vnc_host_route_mode_resolve_nve(
 #if DEBUG_RHN_LIST
                /* debug */
                {
-                       char pbuf[PREFIX_STRLEN];
-
-                       prefix2str(prefix, pbuf, sizeof(pbuf));
-
                        vnc_zlog_debug_verbose(
-                               "%s: advancing past RHN Entry (q=%p): with prefix %s",
-                               __func__, cursor, pbuf);
+                               "%s: advancing past RHN Entry (q=%p): with prefix %pFX",
+                               __func__, cursor, prefix);
                        print_rhn_list(__func__, NULL); /* debug */
                }
 #endif
@@ -1550,14 +1487,8 @@ void vnc_import_bgp_del_vnc_host_route_mode_resolve_nve(
        struct rfapi_cfg *hc = NULL;
        int rc;
 
-       {
-               char str_pfx[PREFIX_STRLEN];
-
-               prefix2str(prefix, str_pfx, sizeof(str_pfx));
-
-               vnc_zlog_debug_verbose("%s(bgp=%p, nve prefix=%s)", __func__,
-                                      bgp, str_pfx);
-       }
+       vnc_zlog_debug_verbose("%s(bgp=%p, nve prefix=%pFX)", __func__, bgp,
+                              prefix);
 
        if (afi != AFI_IP && afi != AFI_IP6)
                return;
@@ -1621,16 +1552,9 @@ void vnc_import_bgp_del_vnc_host_route_mode_resolve_nve(
                 * Sanity check
                 */
                if (vnc_prefix_cmp(&pfx_unicast_nexthop, prefix)) {
-                       char str_unh[PREFIX_STRLEN];
-                       char str_nve_pfx[PREFIX_STRLEN];
-
-                       prefix2str(&pfx_unicast_nexthop, str_unh,
-                                  sizeof(str_unh));
-                       prefix2str(prefix, str_nve_pfx, sizeof(str_nve_pfx));
-
                        vnc_zlog_debug_verbose(
-                               "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %s != nve pfx %s",
-                               __func__, str_unh, str_nve_pfx);
+                               "%s: FATAL: resolve_nve_nexthop list item bpi nexthop %pFX != nve pfx %pFX",
+                               __func__, &pfx_unicast_nexthop, prefix);
                        assert(0);
                }
 
@@ -2305,13 +2229,11 @@ void vnc_import_bgp_exterior_add_route_interior(
                                     (void **)&pfx_exterior, &cursor)) {
 
                struct prefix pfx_nexthop;
-               char buf[PREFIX_STRLEN];
                afi_t afi_exterior = family2afi(pfx_exterior->family);
 
-               prefix2str(pfx_exterior, buf, sizeof(buf));
                vnc_zlog_debug_verbose(
-                       "%s: checking exterior orphan at prefix %s", __func__,
-                       buf);
+                       "%s: checking exterior orphan at prefix %pFX", __func__,
+                       pfx_exterior);
 
                if (afi_exterior != afi) {
                        vnc_zlog_debug_verbose(
@@ -2602,15 +2524,10 @@ void vnc_import_bgp_add_route(struct bgp *bgp, const struct prefix *prefix,
 
        if (VNC_DEBUG(VERBOSE)) {
                struct prefix pfx_nexthop;
-               char buf[PREFIX_STRLEN];
-               char buf_nh[PREFIX_STRLEN];
 
-               prefix2str(prefix, buf, sizeof(buf));
                rfapiUnicastNexthop2Prefix(afi, info->attr, &pfx_nexthop);
-               prefix2str(&pfx_nexthop, buf_nh, sizeof(buf_nh));
-
-               vnc_zlog_debug_verbose("%s: pfx %s, nh %s", __func__, buf,
-                                      buf_nh);
+               vnc_zlog_debug_verbose("%s: pfx %pFX, nh %pFX", __func__,
+                                      prefix, &pfx_nexthop);
        }
 #if DEBUG_RHN_LIST
        print_rhn_list(__func__, "ENTER ");
@@ -2673,15 +2590,10 @@ void vnc_import_bgp_del_route(struct bgp *bgp, const struct prefix *prefix,
 
        {
                struct prefix pfx_nexthop;
-               char buf[PREFIX_STRLEN];
-               char buf_nh[PREFIX_STRLEN];
 
-               prefix2str(prefix, buf, sizeof(buf));
                rfapiUnicastNexthop2Prefix(afi, info->attr, &pfx_nexthop);
-               prefix2str(&pfx_nexthop, buf_nh, sizeof(buf_nh));
-
-               vnc_zlog_debug_verbose("%s: pfx %s, nh %s", __func__, buf,
-                                      buf_nh);
+               vnc_zlog_debug_verbose("%s: pfx %pFX, nh %pFX", __func__,
+                                      prefix, &pfx_nexthop);
        }
 #if DEBUG_RHN_LIST
        print_rhn_list(__func__, "ENTER ");
index 008c7b28b7934d8a77ae1bec7ced57087541b484..b254f11ce7c9cdfe1d12cec3e3de83ffce194fae 100644 (file)
@@ -363,15 +363,11 @@ static int vnc_zebra_read_route(ZAPI_CALLBACK_ARGS)
        else
                vnc_redistribute_delete(&api.prefix, api.type);
 
-       if (BGP_DEBUG(zebra, ZEBRA)) {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf, sizeof(buf));
+       if (BGP_DEBUG(zebra, ZEBRA))
                vnc_zlog_debug_verbose(
-                       "%s: Zebra rcvd: route delete %s %s metric %u",
-                       __func__, zebra_route_string(api.type), buf,
+                       "%s: Zebra rcvd: route delete %s %pFX metric %u",
+                       __func__, zebra_route_string(api.type), &api.prefix,
                        api.metric);
-       }
 
        return 0;
 }
@@ -425,14 +421,10 @@ static void vnc_zebra_route_msg(const struct prefix *p, unsigned int nhp_count,
                }
        }
 
-       if (BGP_DEBUG(zebra, ZEBRA)) {
-               char buf[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf, sizeof(buf));
+       if (BGP_DEBUG(zebra, ZEBRA))
                vnc_zlog_debug_verbose(
-                       "%s: Zebra send: route %s %s, nhp_count=%d", __func__,
-                       (add ? "add" : "del"), buf, nhp_count);
-       }
+                       "%s: Zebra send: route %s %pFX, nhp_count=%d", __func__,
+                       (add ? "add" : "del"), &api.prefix, nhp_count);
 
        zclient_route_send((add ? ZEBRA_ROUTE_ADD : ZEBRA_ROUTE_DELETE),
                           zclient_vnc, &api);
index 97de73116b3cfc3738c944de5b18a77285267d47..fa11106a464736c8f65cf736e3e501c05f4d04c2 100644 (file)
@@ -240,12 +240,10 @@ void show_ip_eigrp_topology_header(struct vty *vty, struct eigrp *eigrp)
 void show_ip_eigrp_prefix_entry(struct vty *vty, struct eigrp_prefix_entry *tn)
 {
        struct list *successors = eigrp_topology_get_successor(tn);
-       char buffer[PREFIX_STRLEN];
 
        vty_out(vty, "%-3c", (tn->state > 0) ? 'A' : 'P');
 
-       vty_out(vty, "%s, ",
-               prefix2str(tn->destination, buffer, PREFIX_STRLEN));
+       vty_out(vty, "%pFX, ", tn->destination);
        vty_out(vty, "%u successors, ", (successors) ? successors->count : 0);
        vty_out(vty, "FD is %u, serno: %" PRIu64 " \n", tn->fdistance,
                tn->serno);
index 79405efbbf935a99f59039b09f6413586ed9a104..26bb27d7ac6e9b30ca898211912d6f196ff09909 100644 (file)
@@ -168,13 +168,10 @@ void eigrp_reply_receive(struct eigrp *eigrp, struct ip *iph,
                 * Destination must exists
                 */
                if (!dest) {
-                       char buf[PREFIX_STRLEN];
-
                        flog_err(
                                EC_EIGRP_PACKET,
-                               "%s: Received prefix %s which we do not know about",
-                               __func__,
-                               prefix2str(&dest_addr, buf, sizeof(buf)));
+                               "%s: Received prefix %pFX which we do not know about",
+                               __func__, &dest_addr);
                        eigrp_IPv4_InternalTLV_free(tlv);
                        continue;
                }
index 7676af15f283e4d8b941c5ef1005a86f5c151a8c..2dbee166946f6003f238ea87de71d5ad0e6fd04f 100644 (file)
@@ -133,14 +133,10 @@ void eigrp_prefix_entry_add(struct route_table *topology,
 
        rn = route_node_get(topology, pe->destination);
        if (rn->info) {
-               if (IS_DEBUG_EIGRP_EVENT) {
-                       char buf[PREFIX_STRLEN];
-
+               if (IS_DEBUG_EIGRP_EVENT)
                        zlog_debug(
-                               "%s: %s Should we have found this entry in the topo table?",
-                               __func__,
-                               prefix2str(pe->destination, buf, sizeof(buf)));
-               }
+                               "%s: %pFX Should we have found this entry in the topo table?",
+                               __func__, pe->destination);
                route_unlock_node(rn);
        }
 
index 6e2a81e32a07ce94be8a461040cec07a7bf779d2..16140ec1df99a2308358aa9b029bd6d83efb5076 100644 (file)
@@ -141,10 +141,8 @@ static void eigrp_update_receive_GR_ask(struct eigrp *eigrp,
 
        /* iterate over all prefixes which weren't advertised by neighbor */
        for (ALL_LIST_ELEMENTS_RO(nbr_prefixes, node1, prefix)) {
-               char buffer[PREFIX_STRLEN];
-               zlog_debug(
-                       "GR receive: Neighbor not advertised %s",
-                       prefix2str(prefix->destination, buffer, PREFIX_STRLEN));
+               zlog_debug("GR receive: Neighbor not advertised %pFX",
+                          prefix->destination);
 
                fsm_msg.metrics = prefix->reported_metric;
                /* set delay to MAX */
index 3205f13922a85e6305c8d253be932c007bd0ac17..473cc75a2a4f9d634911540a067adad252930f79 100644 (file)
@@ -150,12 +150,9 @@ static int eigrp_interface_address_add(ZAPI_CALLBACK_ARGS)
        if (c == NULL)
                return 0;
 
-       if (IS_DEBUG_EIGRP(zebra, ZEBRA_INTERFACE)) {
-               char buf[128];
-               prefix2str(c->address, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s address add %s", c->ifp->name,
-                          buf);
-       }
+       if (IS_DEBUG_EIGRP(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra: interface %s address add %pFX", c->ifp->name,
+                          c->address);
 
        eigrp_if_update(c->ifp);
 
@@ -173,12 +170,9 @@ static int eigrp_interface_address_delete(ZAPI_CALLBACK_ARGS)
        if (c == NULL)
                return 0;
 
-       if (IS_DEBUG_EIGRP(zebra, ZEBRA_INTERFACE)) {
-               char buf[128];
-               prefix2str(c->address, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s address delete %s",
-                          c->ifp->name, buf);
-       }
+       if (IS_DEBUG_EIGRP(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra: interface %s address delete %pFX",
+                          c->ifp->name, c->address);
 
        ifp = c->ifp;
        ei = ifp->info;
@@ -234,10 +228,9 @@ void eigrp_zebra_route_add(struct eigrp *eigrp, struct prefix *p,
        api.nexthop_num = count;
 
        if (IS_DEBUG_EIGRP(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf[2][PREFIX_STRLEN];
-               zlog_debug("Zebra: Route add %s nexthop %s",
-                          prefix2str(p, buf[0], PREFIX_STRLEN),
-                          inet_ntop(AF_INET, 0, buf[1], PREFIX_STRLEN));
+               char buf[PREFIX_STRLEN];
+               zlog_debug("Zebra: Route add %pFX nexthop %s", p,
+                          inet_ntop(AF_INET, 0, buf, PREFIX_STRLEN));
        }
 
        zclient_route_send(ZEBRA_ROUTE_ADD, zclient, &api);
@@ -257,11 +250,8 @@ void eigrp_zebra_route_delete(struct eigrp *eigrp, struct prefix *p)
        memcpy(&api.prefix, p, sizeof(*p));
        zclient_route_send(ZEBRA_ROUTE_DELETE, zclient, &api);
 
-       if (IS_DEBUG_EIGRP(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf[PREFIX_STRLEN];
-               zlog_debug("Zebra: Route del %s",
-                          prefix2str(p, buf, PREFIX_STRLEN));
-       }
+       if (IS_DEBUG_EIGRP(zebra, ZEBRA_REDISTRIBUTE))
+               zlog_debug("Zebra: Route del %pFX", p);
 
        return;
 }
index 695e1318ae1063fb3c5f8da471efbd87e91df7f6..3eb3b900a56760716c6db82cabc96fde5cbabdf9 100644 (file)
@@ -253,9 +253,6 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
 {
        struct listnode *node;
        struct prefix_ipv4 *ipv4;
-#if defined(EXTREME_DEBUG)
-       char buf[PREFIX2STR_BUFFER];
-#endif
        struct prefix_ipv6 *ipv6;
 
        if (connected->address->family == AF_INET) {
@@ -287,9 +284,8 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
                                                0);
 
 #ifdef EXTREME_DEBUG
-               prefix2str(connected->address, buf, sizeof(buf));
-               zlog_debug("Added IP address %s to circuit %s", buf,
-                          circuit->interface->name);
+               zlog_debug("Added IP address %pFX to circuit %s",
+                          connected->address, circuit->interface->name);
 #endif /* EXTREME_DEBUG */
        }
        if (connected->address->family == AF_INET6) {
@@ -318,9 +314,8 @@ void isis_circuit_add_addr(struct isis_circuit *circuit,
                                                0);
 
 #ifdef EXTREME_DEBUG
-               prefix2str(connected->address, buf, sizeof(buf));
-               zlog_debug("Added IPv6 address %s to circuit %s", buf,
-                          circuit->interface->name);
+               zlog_debug("Added IPv6 address %pFX to circuit %s",
+                          connected->address, circuit->interface->name);
 #endif /* EXTREME_DEBUG */
        }
        return;
@@ -331,7 +326,6 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
 {
        struct prefix_ipv4 *ipv4, *ip = NULL;
        struct listnode *node;
-       char buf[PREFIX2STR_BUFFER];
        struct prefix_ipv6 *ipv6, *ip6 = NULL;
        int found = 0;
 
@@ -352,16 +346,14 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
                                lsp_regenerate_schedule(circuit->area,
                                                        circuit->is_type, 0);
                } else {
-                       prefix2str(connected->address, buf, sizeof(buf));
                        zlog_warn(
-                               "Nonexistent ip address %s removal attempt from circuit %s",
-                               buf, circuit->interface->name);
+                               "Nonexistent ip address %pFX removal attempt from circuit %s",
+                               connected->address, circuit->interface->name);
                        zlog_warn("Current ip addresses on %s:",
                                  circuit->interface->name);
                        for (ALL_LIST_ELEMENTS_RO(circuit->ip_addrs, node,
                                                  ip)) {
-                               prefix2str(ip, buf, sizeof(buf));
-                               zlog_warn("  %s", buf);
+                               zlog_warn("  %pFX", ip);
                        }
                        zlog_warn("End of addresses");
                }
@@ -400,25 +392,18 @@ void isis_circuit_del_addr(struct isis_circuit *circuit,
                }
 
                if (!found) {
-                       prefix2str(connected->address, buf, sizeof(buf));
                        zlog_warn(
-                               "Nonexistent ip address %s removal attempt from circuit %s",
-                               buf, circuit->interface->name);
+                               "Nonexistent ip address %pFX removal attempt from circuit %s",
+                               connected->address, circuit->interface->name);
                        zlog_warn("Current ip addresses on %s:",
                                  circuit->interface->name);
                        for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_link, node,
-                                                 ip6)) {
-                               prefix2str((struct prefix *)ip6, (char *)buf,
-                                          sizeof(buf));
-                               zlog_warn("  %s", buf);
-                       }
+                                                 ip6))
+                               zlog_warn("  %pFX", (struct prefix *)ip6);
                        zlog_warn(" -----");
                        for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_non_link, node,
-                                                 ip6)) {
-                               prefix2str((struct prefix *)ip6, (char *)buf,
-                                          sizeof(buf));
-                               zlog_warn("  %s", buf);
-                       }
+                                                 ip6))
+                               zlog_warn("  %pFX", (struct prefix *)ip6);
                        zlog_warn("End of addresses");
                } else if (circuit->area)
                        lsp_regenerate_schedule(circuit->area, circuit->is_type,
@@ -895,7 +880,6 @@ void isis_circuit_print_vty(struct isis_circuit *circuit, struct vty *vty,
        if (detail == ISIS_UI_LEVEL_DETAIL) {
                struct listnode *node;
                struct prefix *ip_addr;
-               char buf[BUFSIZ];
 
                vty_out(vty, "  Interface: %s", circuit->interface->name);
                vty_out(vty, ", State: %s",
@@ -980,27 +964,21 @@ void isis_circuit_print_vty(struct isis_circuit *circuit, struct vty *vty,
                if (circuit->ip_addrs && listcount(circuit->ip_addrs) > 0) {
                        vty_out(vty, "    IP Prefix(es):\n");
                        for (ALL_LIST_ELEMENTS_RO(circuit->ip_addrs, node,
-                                                 ip_addr)) {
-                               prefix2str(ip_addr, buf, sizeof(buf));
-                               vty_out(vty, "      %s\n", buf);
-                       }
+                                                 ip_addr))
+                               vty_out(vty, "      %pFX\n", ip_addr);
                }
                if (circuit->ipv6_link && listcount(circuit->ipv6_link) > 0) {
                        vty_out(vty, "    IPv6 Link-Locals:\n");
                        for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_link, node,
-                                                 ip_addr)) {
-                               prefix2str(ip_addr, (char *)buf, BUFSIZ);
-                               vty_out(vty, "      %s\n", buf);
-                       }
+                                                 ip_addr))
+                               vty_out(vty, "      %pFX\n", ip_addr);
                }
                if (circuit->ipv6_non_link
                    && listcount(circuit->ipv6_non_link) > 0) {
                        vty_out(vty, "    IPv6 Prefixes:\n");
                        for (ALL_LIST_ELEMENTS_RO(circuit->ipv6_non_link, node,
-                                                 ip_addr)) {
-                               prefix2str(ip_addr, (char *)buf, BUFSIZ);
-                               vty_out(vty, "      %s\n", buf);
-                       }
+                                                 ip_addr))
+                               vty_out(vty, "      %pFX\n", ip_addr);
                }
 
                vty_out(vty, "\n");
index 7abfbe63cce443d974962c52a86d51185bfbf11e..2e38663d3f5baaad89c0ff10badbd6eb45d3c982 100644 (file)
@@ -852,7 +852,6 @@ static struct isis_lsp *lsp_next_frag(uint8_t frag_num, struct isis_lsp *lsp0,
 static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
 {
        int level = lsp->level;
-       char buf[PREFIX2STR_BUFFER];
        struct listnode *node;
        struct isis_lsp *frag;
 
@@ -964,9 +963,8 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
         */
        if (area->isis->router_id != 0) {
                struct in_addr id = {.s_addr = area->isis->router_id};
-               inet_ntop(AF_INET, &id, buf, sizeof(buf));
-               lsp_debug("ISIS (%s): Adding router ID %s as IPv4 tlv.",
-                         area->area_tag, buf);
+               lsp_debug("ISIS (%s): Adding router ID %pI4 as IPv4 tlv.",
+                         area->area_tag, &id);
                isis_tlvs_add_ipv4_address(lsp->tlvs, &id);
 
                /* If new style TLV's are in use, add TE router ID TLV
@@ -1033,10 +1031,8 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
                                                  ipv4)) {
                                if (area->oldmetric) {
                                        lsp_debug(
-                                               "ISIS (%s): Adding old-style IP reachability for %s",
-                                               area->area_tag,
-                                               prefix2str(ipv4, buf,
-                                                          sizeof(buf)));
+                                               "ISIS (%s): Adding old-style IP reachability for %pFX",
+                                               area->area_tag, ipv4);
                                        isis_tlvs_add_oldstyle_ip_reach(
                                                lsp->tlvs, ipv4, metric);
                                }
@@ -1045,10 +1041,8 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
                                        struct sr_prefix_cfg *pcfg = NULL;
 
                                        lsp_debug(
-                                               "ISIS (%s): Adding te-style IP reachability for %s",
-                                               area->area_tag,
-                                               prefix2str(ipv4, buf,
-                                                          sizeof(buf)));
+                                               "ISIS (%s): Adding te-style IP reachability for %pFX",
+                                               area->area_tag, ipv4);
 
                                        if (area->srdb.enabled)
                                                pcfg = isis_sr_cfg_prefix_find(
@@ -1071,9 +1065,8 @@ static void lsp_build(struct isis_lsp *lsp, struct isis_area *area)
                                struct sr_prefix_cfg *pcfg = NULL;
 
                                lsp_debug(
-                                       "ISIS (%s): Adding IPv6 reachability for %s",
-                                       area->area_tag,
-                                       prefix2str(ipv6, buf, sizeof(buf)));
+                                       "ISIS (%s): Adding IPv6 reachability for %pFX",
+                                       area->area_tag, ipv6);
 
                                if (area->srdb.enabled)
                                        pcfg = isis_sr_cfg_prefix_find(area,
index 44422ff6641ae9c0b09c6fa21dc7437dd5164292..e6c7a734bdcc47ea30688443bf186cf2e29eba17 100644 (file)
@@ -231,11 +231,8 @@ void isis_redist_add(struct isis *isis, int type, struct prefix *p,
        int level;
        struct isis_redist *redist;
 
-       char debug_buf[BUFSIZ];
-       prefix2str(p, debug_buf, sizeof(debug_buf));
-
-       zlog_debug("%s: New route %s from %s: distance %d.", __func__,
-                  debug_buf, zebra_route_string(type), distance);
+       zlog_debug("%s: New route %pFX from %s: distance %d.", __func__, p,
+                  zebra_route_string(type), distance);
 
        if (!ei_table) {
                zlog_warn("%s: External information table not initialized.",
@@ -282,10 +279,7 @@ void isis_redist_delete(struct isis *isis, int type, struct prefix *p,
        int level;
        struct isis_redist *redist;
 
-       char debug_buf[BUFSIZ];
-       prefix2str(p, debug_buf, sizeof(debug_buf));
-
-       zlog_debug("%s: Removing route %s from %s.", __func__, debug_buf,
+       zlog_debug("%s: Removing route %pFX from %s.", __func__, p,
                   zebra_route_string(type));
 
        if (is_default_prefix(p)
@@ -307,11 +301,9 @@ void isis_redist_delete(struct isis *isis, int type, struct prefix *p,
 
        ei_node = srcdest_rnode_lookup(ei_table, p, src_p);
        if (!ei_node || !ei_node->info) {
-               char buf[BUFSIZ];
-               prefix2str(p, buf, sizeof(buf));
                zlog_warn(
-                       "%s: Got a delete for %s route %s, but that route was never added.",
-                       __func__, zebra_route_string(type), buf);
+                       "%s: Got a delete for %s route %pFX, but that route was never added.",
+                       __func__, zebra_route_string(type), p);
                if (ei_node)
                        route_unlock_node(ei_node);
                return;
index 0868ab487c2a104ba7d16e780b339dcbe177f554..7e8c877bd024721dc6620d76c5082b212a989de9 100644 (file)
@@ -313,12 +313,8 @@ struct isis_route_info *isis_route_create(struct prefix *prefix,
 {
        struct route_node *route_node;
        struct isis_route_info *rinfo_new, *rinfo_old, *route_info = NULL;
-       char buff[PREFIX2STR_BUFFER];
        char change_buf[64];
 
-       /* for debugs */
-       prefix2str(prefix, buff, sizeof(buff));
-
        if (!table)
                return NULL;
 
@@ -329,31 +325,32 @@ struct isis_route_info *isis_route_create(struct prefix *prefix,
        rinfo_old = route_node->info;
        if (!rinfo_old) {
                if (IS_DEBUG_RTE_EVENTS)
-                       zlog_debug("ISIS-Rte (%s) route created: %s",
-                                  area->area_tag, buff);
+                       zlog_debug("ISIS-Rte (%s) route created: %pFX",
+                                  area->area_tag, prefix);
                route_info = rinfo_new;
                UNSET_FLAG(route_info->flag, ISIS_ROUTE_FLAG_ZEBRA_SYNCED);
        } else {
                route_unlock_node(route_node);
 #ifdef EXTREME_DEBUG
                if (IS_DEBUG_RTE_EVENTS)
-                       zlog_debug("ISIS-Rte (%s) route already exists: %s",
-                                  area->area_tag, buff);
+                       zlog_debug("ISIS-Rte (%s) route already exists: %pFX",
+                                  area->area_tag, prefix);
 #endif /* EXTREME_DEBUG */
                if (isis_route_info_same(rinfo_new, rinfo_old, change_buf,
                                         sizeof(change_buf))) {
 #ifdef EXTREME_DEBUG
                        if (IS_DEBUG_RTE_EVENTS)
-                               zlog_debug("ISIS-Rte (%s) route unchanged: %s",
-                                          area->area_tag, buff);
+                               zlog_debug(
+                                       "ISIS-Rte (%s) route unchanged: %pFX",
+                                       area->area_tag, prefix);
 #endif /* EXTREME_DEBUG */
                        isis_route_info_delete(rinfo_new);
                        route_info = rinfo_old;
                } else {
                        if (IS_DEBUG_RTE_EVENTS)
                                zlog_debug(
-                                       "ISIS-Rte (%s): route changed: %s, change: %s",
-                                       area->area_tag, buff, change_buf);
+                                       "ISIS-Rte (%s): route changed: %pFX, change: %s",
+                                       area->area_tag, prefix, change_buf);
                        isis_route_info_delete(rinfo_old);
                        route_info = rinfo_new;
                        UNSET_FLAG(route_info->flag,
index 0e92dc2a8942e98d7cc461f695d01531cc68f12e..aeb54fce281fbfe44e98f6fff320842dfdd59b56 100644 (file)
@@ -87,10 +87,6 @@ static int isis_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
 {
        struct isis_circuit *circuit;
        struct connected *c;
-#ifdef EXTREME_DEBUG
-       struct prefix *p;
-       char buf[PREFIX2STR_BUFFER];
-#endif /* EXTREME_DEBUG */
 
        c = zebra_interface_address_read(ZEBRA_INTERFACE_ADDRESS_ADD,
                                         zclient->ibuf, vrf_id);
@@ -99,13 +95,10 @@ static int isis_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
                return 0;
 
 #ifdef EXTREME_DEBUG
-       p = c->address;
-       prefix2str(p, buf, sizeof(buf));
-
        if (p->family == AF_INET)
-               zlog_debug("connected IP address %s", buf);
+               zlog_debug("connected IP address %pFX", c->address);
        if (p->family == AF_INET6)
-               zlog_debug("connected IPv6 address %s", buf);
+               zlog_debug("connected IPv6 address %pFX", c->address);
 #endif /* EXTREME_DEBUG */
 
        if (if_is_operative(c->ifp)) {
@@ -121,10 +114,6 @@ static int isis_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
 {
        struct isis_circuit *circuit;
        struct connected *c;
-#ifdef EXTREME_DEBUG
-       struct prefix *p;
-       char buf[PREFIX2STR_BUFFER];
-#endif /* EXTREME_DEBUG */
 
        c = zebra_interface_address_read(ZEBRA_INTERFACE_ADDRESS_DELETE,
                                         zclient->ibuf, vrf_id);
@@ -133,13 +122,10 @@ static int isis_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
                return 0;
 
 #ifdef EXTREME_DEBUG
-       p = c->address;
-       prefix2str(p, buf, sizeof(buf));
-
        if (p->family == AF_INET)
-               zlog_debug("disconnected IP address %s", buf);
+               zlog_debug("disconnected IP address %pFX", c->address);
        if (p->family == AF_INET6)
-               zlog_debug("disconnected IPv6 address %s", buf);
+               zlog_debug("disconnected IPv6 address %pFX", c->address);
 #endif /* EXTREME_DEBUG */
 
        if (if_is_operative(c->ifp)) {
index 1352bae58f4eda5ff535d53eb2daa4e67a5e113d..0eb54a4794cb1c5f6e48f2fa611063b7be7d9050 100644 (file)
@@ -2377,7 +2377,6 @@ route_map_result_t route_map_apply(struct route_map *map,
        route_map_result_t ret = RMAP_PERMITMATCH;
        struct route_map_index *index = NULL;
        struct route_map_rule *set = NULL;
-       char buf[PREFIX_STRLEN];
        bool skip_match_clause = false;
 
        if (recursion > RMAP_RECURSION_LIMIT) {
@@ -2403,16 +2402,14 @@ route_map_result_t route_map_apply(struct route_map *map,
                if (index) {
                        if (rmap_debug)
                                zlog_debug(
-                                       "Best match route-map: %s, sequence: %d for pfx: %s, result: %s",
-                                       map->name, index->pref,
-                                       prefix2str(prefix, buf, sizeof(buf)),
+                                       "Best match route-map: %s, sequence: %d for pfx: %pFX, result: %s",
+                                       map->name, index->pref, prefix,
                                        route_map_cmd_result_str(match_ret));
                } else {
                        if (rmap_debug)
                                zlog_debug(
-                                       "No best match sequence for pfx: %s in route-map: %s, result: %s",
-                                       prefix2str(prefix, buf, sizeof(buf)),
-                                       map->name,
+                                       "No best match sequence for pfx: %pFX in route-map: %s, result: %s",
+                                       prefix, map->name,
                                        route_map_cmd_result_str(match_ret));
                        /*
                         * No index matches this prefix. Return deny unless,
@@ -2437,9 +2434,8 @@ route_map_result_t route_map_apply(struct route_map *map,
                                                          prefix, type, object);
                        if (rmap_debug) {
                                zlog_debug(
-                                       "Route-map: %s, sequence: %d, prefix: %s, result: %s",
-                                       map->name, index->pref,
-                                       prefix2str(prefix, buf, sizeof(buf)),
+                                       "Route-map: %s, sequence: %d, prefix: %pFX, result: %s",
+                                       map->name, index->pref, prefix,
                                        route_map_cmd_result_str(match_ret));
                        }
                } else
@@ -2549,12 +2545,10 @@ route_map_result_t route_map_apply(struct route_map *map,
        }
 
 route_map_apply_end:
-       if (rmap_debug) {
-               zlog_debug("Route-map: %s, prefix: %s, result: %s",
-                          (map ? map->name : "null"),
-                          prefix2str(prefix, buf, sizeof(buf)),
+       if (rmap_debug)
+               zlog_debug("Route-map: %s, prefix: %pFX, result: %s",
+                          (map ? map->name : "null"), prefix,
                           route_map_result_str(ret));
-       }
 
        return (ret);
 }
index 914b02749e758f3b6952f974b53a40959d7a1f09..d0144279e53642412fa0668fe9b0b571af97079b 100644 (file)
@@ -1116,13 +1116,11 @@ int zapi_route_encode(uint8_t cmd, struct stream *s, struct zapi_route *api)
        if (CHECK_FLAG(api->message, ZAPI_MESSAGE_NEXTHOP)) {
                /* limit the number of nexthops if necessary */
                if (api->nexthop_num > MULTIPATH_NUM) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&api->prefix, buf, sizeof(buf));
                        flog_err(
                                EC_LIB_ZAPI_ENCODE,
-                               "%s: prefix %s: can't encode %u nexthops (maximum is %u)",
-                               __func__, buf, api->nexthop_num, MULTIPATH_NUM);
+                               "%s: prefix %pFX: can't encode %u nexthops (maximum is %u)",
+                               __func__, &api->prefix, api->nexthop_num,
+                               MULTIPATH_NUM);
                        return -1;
                }
 
@@ -1139,15 +1137,11 @@ int zapi_route_encode(uint8_t cmd, struct stream *s, struct zapi_route *api)
 
                        /* MPLS labels for BGP-LU or Segment Routing */
                        if (api_nh->label_num > MPLS_MAX_LABELS) {
-                               char buf[PREFIX2STR_BUFFER];
-
-                               prefix2str(&api->prefix, buf, sizeof(buf));
-
-                               flog_err(EC_LIB_ZAPI_ENCODE,
-                                        "%s: prefix %s: can't encode %u labels (maximum is %u)",
-                                        __func__, buf,
-                                        api_nh->label_num,
-                                        MPLS_MAX_LABELS);
+                               flog_err(
+                                       EC_LIB_ZAPI_ENCODE,
+                                       "%s: prefix %pFX: can't encode %u labels (maximum is %u)",
+                                       __func__, &api->prefix,
+                                       api_nh->label_num, MPLS_MAX_LABELS);
                                return -1;
                        }
 
@@ -1162,13 +1156,10 @@ int zapi_route_encode(uint8_t cmd, struct stream *s, struct zapi_route *api)
        if (CHECK_FLAG(api->message, ZAPI_MESSAGE_BACKUP_NEXTHOPS)) {
                /* limit the number of nexthops if necessary */
                if (api->backup_nexthop_num > MULTIPATH_NUM) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&api->prefix, buf, sizeof(buf));
                        flog_err(
                                EC_LIB_ZAPI_ENCODE,
-                               "%s: prefix %s: can't encode %u backup nexthops (maximum is %u)",
-                               __func__, buf, api->backup_nexthop_num,
+                               "%s: prefix %pFX: can't encode %u backup nexthops (maximum is %u)",
+                               __func__, &api->prefix, api->backup_nexthop_num,
                                MULTIPATH_NUM);
                        return -1;
                }
@@ -1185,15 +1176,11 @@ int zapi_route_encode(uint8_t cmd, struct stream *s, struct zapi_route *api)
 
                        /* MPLS labels for BGP-LU or Segment Routing */
                        if (api_nh->label_num > MPLS_MAX_LABELS) {
-                               char buf[PREFIX2STR_BUFFER];
-
-                               prefix2str(&api->prefix, buf, sizeof(buf));
-
-                               flog_err(EC_LIB_ZAPI_ENCODE,
-                                        "%s: prefix %s: backup: can't encode %u labels (maximum is %u)",
-                                        __func__, buf,
-                                        api_nh->label_num,
-                                        MPLS_MAX_LABELS);
+                               flog_err(
+                                       EC_LIB_ZAPI_ENCODE,
+                                       "%s: prefix %pFX: backup: can't encode %u labels (maximum is %u)",
+                                       __func__, &api->prefix,
+                                       api_nh->label_num, MPLS_MAX_LABELS);
                                return -1;
                        }
 
@@ -2319,13 +2306,10 @@ struct connected *zebra_interface_address_read(int type, struct stream *s,
                        else if (CHECK_FLAG(ifc->flags, ZEBRA_IFA_PEER)) {
                                /* carp interfaces on OpenBSD with 0.0.0.0/0 as
                                 * "peer" */
-                               char buf[PREFIX_STRLEN];
                                flog_err(
                                        EC_LIB_ZAPI_ENCODE,
-                                       "warning: interface %s address %s with peer flag set, but no peer address!",
-                                       ifp->name,
-                                       prefix2str(ifc->address, buf,
-                                                  sizeof(buf)));
+                                       "warning: interface %s address %pFX with peer flag set, but no peer address!",
+                                       ifp->name, ifc->address);
                                UNSET_FLAG(ifc->flags, ZEBRA_IFA_PEER);
                        }
                }
index 1e576fc5ac21370cfa756ef47c20f1dbeeca9efc..0ed2371eb0496402a1804a10b7292c841672ec6b 100644 (file)
@@ -220,8 +220,8 @@ static void nhrp_interface_update_address(struct interface *ifp, afi_t afi,
        /* On NHRP interfaces a host prefix is required */
        if (best && if_ad->configured
            && best->address->prefixlen != 8 * prefix_blen(best->address)) {
-               zlog_notice("%s: %s is not a host prefix", ifp->name,
-                           prefix2str(best->address, buf, sizeof(buf)));
+               zlog_notice("%s: %pFX is not a host prefix", ifp->name,
+                           best->address);
                best = NULL;
        }
 
@@ -335,14 +335,13 @@ int nhrp_ifp_down(struct interface *ifp)
 int nhrp_interface_address_add(ZAPI_CALLBACK_ARGS)
 {
        struct connected *ifc;
-       char buf[PREFIX_STRLEN];
 
        ifc = zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
        if (ifc == NULL)
                return 0;
 
-       debugf(NHRP_DEBUG_IF, "if-addr-add: %s: %s", ifc->ifp->name,
-              prefix2str(ifc->address, buf, sizeof(buf)));
+       debugf(NHRP_DEBUG_IF, "if-addr-add: %s: %pFX", ifc->ifp->name,
+              ifc->address);
 
        nhrp_interface_update_address(
                ifc->ifp, family2afi(PREFIX_FAMILY(ifc->address)), 0);
@@ -353,14 +352,13 @@ int nhrp_interface_address_add(ZAPI_CALLBACK_ARGS)
 int nhrp_interface_address_delete(ZAPI_CALLBACK_ARGS)
 {
        struct connected *ifc;
-       char buf[PREFIX_STRLEN];
 
        ifc = zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
        if (ifc == NULL)
                return 0;
 
-       debugf(NHRP_DEBUG_IF, "if-addr-del: %s: %s", ifc->ifp->name,
-              prefix2str(ifc->address, buf, sizeof(buf)));
+       debugf(NHRP_DEBUG_IF, "if-addr-del: %s: %pFX", ifc->ifp->name,
+              ifc->address);
 
        nhrp_interface_update_address(
                ifc->ifp, family2afi(PREFIX_FAMILY(ifc->address)), 0);
index 0c5513b89297c4a63a02fd0655985f65361878a9..2bc2d91597c681a2f873ea573f6ff480d91443ee 100644 (file)
@@ -166,14 +166,13 @@ void nhrp_route_announce(int add, enum nhrp_cache_type type,
        }
 
        if (unlikely(debug_flags & NHRP_DEBUG_ROUTE)) {
-               char buf[2][PREFIX_STRLEN];
+               char buf[PREFIX_STRLEN];
 
-               prefix2str(&api.prefix, buf[0], sizeof(buf[0]));
                zlog_debug(
-                       "Zebra send: route %s %s nexthop %s metric %u count %d dev %s",
-                       add ? "add" : "del", buf[0],
+                       "Zebra send: route %s %pFX nexthop %s metric %u count %d dev %s",
+                       add ? "add" : "del", &api.prefix,
                        nexthop ? inet_ntop(api.prefix.family, &api_nh->gate,
-                                           buf[1], sizeof(buf[1]))
+                                           buf, sizeof(buf))
                                : "<onlink>",
                        api.metric, api.nexthop_num, ifp ? ifp->name : "none");
        }
@@ -188,7 +187,7 @@ int nhrp_route_read(ZAPI_CALLBACK_ARGS)
        struct zapi_nexthop *api_nh;
        struct interface *ifp = NULL;
        union sockunion nexthop_addr;
-       char buf[2][PREFIX_STRLEN];
+       char buf[PREFIX_STRLEN];
        int added;
 
        if (zapi_route_decode(zclient->ibuf, &api) < 0)
@@ -221,10 +220,9 @@ int nhrp_route_read(ZAPI_CALLBACK_ARGS)
        }
 
        added = (cmd == ZEBRA_REDISTRIBUTE_ROUTE_ADD);
-       debugf(NHRP_DEBUG_ROUTE, "if-route-%s: %s via %s dev %s",
-              added ? "add" : "del",
-              prefix2str(&api.prefix, buf[0], sizeof(buf[0])),
-              sockunion2str(&nexthop_addr, buf[1], sizeof(buf[1])),
+       debugf(NHRP_DEBUG_ROUTE, "if-route-%s: %pFX via %s dev %s",
+              added ? "add" : "del", &api.prefix,
+              sockunion2str(&nexthop_addr, buf, sizeof(buf)),
               ifp ? ifp->name : "(none)");
 
        nhrp_route_update_zebra(&api.prefix, &nexthop_addr, ifp);
@@ -240,7 +238,6 @@ int nhrp_route_get_nexthop(const union sockunion *addr, struct prefix *p,
        struct route_info *ri;
        struct prefix lookup;
        afi_t afi = family2afi(sockunion_family(addr));
-       char buf[PREFIX_STRLEN];
 
        sockunion2hostprefix(addr, &lookup);
 
@@ -250,8 +247,7 @@ int nhrp_route_get_nexthop(const union sockunion *addr, struct prefix *p,
 
        ri = rn->info;
        if (ri->nhrp_ifp) {
-               debugf(NHRP_DEBUG_ROUTE, "lookup %s: nhrp_if=%s",
-                      prefix2str(&lookup, buf, sizeof(buf)),
+               debugf(NHRP_DEBUG_ROUTE, "lookup %pFX: nhrp_if=%s", &lookup,
                       ri->nhrp_ifp->name);
 
                if (via)
@@ -259,9 +255,8 @@ int nhrp_route_get_nexthop(const union sockunion *addr, struct prefix *p,
                if (ifp)
                        *ifp = ri->nhrp_ifp;
        } else {
-               debugf(NHRP_DEBUG_ROUTE, "lookup %s: zebra route dev %s",
-                      prefix2str(&lookup, buf, sizeof(buf)),
-                      ri->ifp ? ri->ifp->name : "(none)");
+               debugf(NHRP_DEBUG_ROUTE, "lookup %pFX: zebra route dev %s",
+                      &lookup, ri->ifp ? ri->ifp->name : "(none)");
 
                if (via)
                        *via = ri->via;
index 1c2b2b28f2ff78057b73db7bca9edd3bbf71b894..9a6f77334f1868e79e4d774691452468a9035c3a 100644 (file)
@@ -28,11 +28,9 @@ static void nhrp_shortcut_send_resolution_req(struct nhrp_shortcut *s);
 
 static void nhrp_shortcut_check_use(struct nhrp_shortcut *s)
 {
-       char buf[PREFIX_STRLEN];
-
        if (s->expiring && s->cache && s->cache->used) {
-               debugf(NHRP_DEBUG_ROUTE, "Shortcut %s used and expiring",
-                      prefix2str(s->p, buf, sizeof(buf)));
+               debugf(NHRP_DEBUG_ROUTE, "Shortcut %pFX used and expiring",
+                      s->p);
                nhrp_shortcut_send_resolution_req(s);
        }
 }
@@ -53,8 +51,6 @@ static int nhrp_shortcut_do_expire(struct thread *t)
 static void nhrp_shortcut_cache_notify(struct notifier_block *n,
                                       unsigned long cmd)
 {
-       char buf[PREFIX_STRLEN];
-
        struct nhrp_shortcut *s =
                container_of(n, struct nhrp_shortcut, cache_notifier);
 
@@ -62,9 +58,8 @@ static void nhrp_shortcut_cache_notify(struct notifier_block *n,
        case NOTIFY_CACHE_UP:
                if (!s->route_installed) {
                        debugf(NHRP_DEBUG_ROUTE,
-                              "Shortcut: route install %s nh (unspec) dev %s",
-                              prefix2str(s->p, buf, sizeof(buf)),
-                              s->cache->ifp->name);
+                              "Shortcut: route install %pFX nh (unspec) dev %s",
+                              s->p, s->cache->ifp->name);
 
                        nhrp_route_announce(1, s->type, s->p, s->cache->ifp,
                                            NULL, 0);
@@ -152,13 +147,11 @@ static void nhrp_shortcut_delete(struct nhrp_shortcut *s)
 {
        struct route_node *rn;
        afi_t afi = family2afi(PREFIX_FAMILY(s->p));
-       char buf[PREFIX_STRLEN];
 
        THREAD_OFF(s->t_timer);
        nhrp_reqid_free(&nhrp_packet_reqid, &s->reqid);
 
-       debugf(NHRP_DEBUG_ROUTE, "Shortcut %s purged",
-              prefix2str(s->p, buf, sizeof(buf)));
+       debugf(NHRP_DEBUG_ROUTE, "Shortcut %pFX purged", s->p);
 
        nhrp_shortcut_update_binding(s, NHRP_CACHE_INVALID, NULL, 0);
 
@@ -184,7 +177,6 @@ static struct nhrp_shortcut *nhrp_shortcut_get(struct prefix *p)
 {
        struct nhrp_shortcut *s;
        struct route_node *rn;
-       char buf[PREFIX_STRLEN];
        afi_t afi = family2afi(PREFIX_FAMILY(p));
 
        if (!shortcut_rib[afi])
@@ -197,8 +189,7 @@ static struct nhrp_shortcut *nhrp_shortcut_get(struct prefix *p)
                s->type = NHRP_CACHE_INVALID;
                s->p = &rn->p;
 
-               debugf(NHRP_DEBUG_ROUTE, "Shortcut %s created",
-                      prefix2str(s->p, buf, sizeof(buf)));
+               debugf(NHRP_DEBUG_ROUTE, "Shortcut %pFX created", s->p);
        } else {
                s = rn->info;
                route_unlock_node(rn);
@@ -219,7 +210,7 @@ static void nhrp_shortcut_recv_resolution_rep(struct nhrp_reqid *reqid,
        union sockunion *proto, cie_proto, *nbma, cie_nbma, nat_nbma;
        struct prefix prefix, route_prefix;
        struct zbuf extpl;
-       char bufp[PREFIX_STRLEN], buf[4][SU_ADDRSTRLEN];
+       char buf[4][SU_ADDRSTRLEN];
        int holding_time = pp->if_ad->holdtime;
 
        nhrp_reqid_free(&nhrp_packet_reqid, &s->reqid);
@@ -287,9 +278,8 @@ static void nhrp_shortcut_recv_resolution_rep(struct nhrp_reqid *reqid,
        }
 
        debugf(NHRP_DEBUG_COMMON,
-              "Shortcut: %s is at proto %s dst_proto %s cie-nbma %s nat-nbma %s cie-holdtime %d",
-              prefix2str(&prefix, bufp, sizeof(bufp)),
-              sockunion2str(proto, buf[0], sizeof(buf[0])),
+              "Shortcut: %pFX is at proto %s dst_proto %s cie-nbma %s nat-nbma %s cie-holdtime %d",
+              &prefix, sockunion2str(proto, buf[0], sizeof(buf[0])),
               sockunion2str(&pp->dst_proto, buf[1], sizeof(buf[1])),
               sockunion2str(&cie_nbma, buf[2], sizeof(buf[2])),
               sockunion2str(&nat_nbma, buf[3], sizeof(buf[3])),
index 6fe3a289cec4fbebbd3d8d8714b43ba6c1f8f5a6..cbb80b668ddd616f2f72396463113b16c87b7a25 100644 (file)
@@ -153,7 +153,6 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
        struct ospf6_inter_router_lsa *router_lsa;
        struct ospf6_route_table *summary_table = NULL;
        uint16_t type;
-       char buf[PREFIX2STR_BUFFER];
        int is_debug = 0;
 
        /* Only destination type network, range or ASBR are considered */
@@ -196,12 +195,10 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
        if (route->type == OSPF6_DEST_TYPE_ROUTER) {
                if (ADV_ROUTER_IN_PREFIX(&route->prefix)
                    == area->ospf6->router_id) {
-                       inet_ntop(AF_INET,
-                                 &(ADV_ROUTER_IN_PREFIX(&route->prefix)), buf,
-                                 sizeof(buf));
                        zlog_debug(
-                               "%s: Skipping ASBR announcement for ABR (%s)",
-                               __func__, buf);
+                               "%s: Skipping ASBR announcement for ABR (%pFX)",
+                               __func__,
+                               &ADV_ROUTER_IN_PREFIX(&route->prefix));
                        return 0;
                }
        }
@@ -210,11 +207,10 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
                if (IS_OSPF6_DEBUG_ABR
                    || IS_OSPF6_DEBUG_ORIGINATE(INTER_ROUTER)) {
                        is_debug++;
-                       inet_ntop(AF_INET,
-                                 &(ADV_ROUTER_IN_PREFIX(&route->prefix)), buf,
-                                 sizeof(buf));
-                       zlog_debug("Originating summary in area %s for ASBR %s",
-                                  area->name, buf);
+                       zlog_debug(
+                               "Originating summary in area %s for ASBR %pFX",
+                               area->name,
+                               &ADV_ROUTER_IN_PREFIX(&route->prefix));
                }
                summary_table = area->summary_router;
        } else {
@@ -226,16 +222,13 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
                    route->path.origin.type ==
                    htons(OSPF6_LSTYPE_INTER_PREFIX)) {
                        if (!CHECK_FLAG(route->flag, OSPF6_ROUTE_BEST)) {
-                               if (is_debug) {
-                                       inet_ntop(AF_INET,
-                                                 &(ADV_ROUTER_IN_PREFIX(
-                                                       &route->prefix)), buf,
-                                                 sizeof(buf));
+                               if (is_debug)
                                        zlog_debug(
-                                               "%s: route %s with cost %u is not best, ignore.",
-                                               __func__, buf,
+                                               "%s: route %pFX with cost %u is not best, ignore.",
+                                               __func__,
+                                               &ADV_ROUTER_IN_PREFIX(
+                                                       &route->prefix),
                                                route->path.cost);
-                               }
                                return 0;
                        }
                }
@@ -243,23 +236,19 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
                if (route->path.origin.type ==
                    htons(OSPF6_LSTYPE_INTRA_PREFIX)) {
                        if (!CHECK_FLAG(route->flag, OSPF6_ROUTE_BEST)) {
-                               if (is_debug) {
-                                       prefix2str(&route->prefix, buf,
-                                                  sizeof(buf));
+                               if (is_debug)
                                        zlog_debug(
-                                               "%s: intra-prefix route %s with cost %u is not best, ignore.",
-                                               __func__, buf,
+                                               "%s: intra-prefix route %pFX with cost %u is not best, ignore.",
+                                               __func__, &route->prefix,
                                                route->path.cost);
-                               }
                                return 0;
                        }
                }
 
-               if (is_debug) {
-                       prefix2str(&route->prefix, buf, sizeof(buf));
-                       zlog_debug("Originating summary in area %s for %s cost %u",
-                                  area->name, buf, route->path.cost);
-               }
+               if (is_debug)
+                       zlog_debug(
+                               "Originating summary in area %s for %pFX cost %u",
+                               area->name, &route->prefix, route->path.cost);
                summary_table = area->summary_prefix;
        }
 
@@ -369,11 +358,10 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
                if (range && !CHECK_FLAG(range->flag, OSPF6_ROUTE_REMOVE)
                    && (route->path.area_id != OSPF_AREA_BACKBONE
                        || !IS_AREA_TRANSIT(area))) {
-                       if (is_debug) {
-                               prefix2str(&range->prefix, buf, sizeof(buf));
-                               zlog_debug("Suppressed by range %s of area %s",
-                                          buf, route_area->name);
-                       }
+                       if (is_debug)
+                               zlog_debug(
+                                       "Suppressed by range %pFX of area %s",
+                                       &range->prefix, route_area->name);
                        ospf6_abr_delete_route(route, summary, summary_table,
                                               old);
                        return 0;
@@ -411,15 +399,11 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
                if (EXPORT_LIST(area))
                        if (access_list_apply(EXPORT_LIST(area), &route->prefix)
                            == FILTER_DENY) {
-                               if (is_debug) {
-                                       inet_ntop(AF_INET,
-                                                 &(ADV_ROUTER_IN_PREFIX(
-                                                         &route->prefix)),
-                                                 buf, sizeof(buf));
+                               if (is_debug)
                                        zlog_debug(
-                                               "prefix %s was denied by export list",
-                                               buf);
-                               }
+                                               "prefix %pFX was denied by export list",
+                                               &ADV_ROUTER_IN_PREFIX(
+                                                       &route->prefix));
                                return 0;
                        }
        }
@@ -428,15 +412,10 @@ int ospf6_abr_originate_summary_to_area(struct ospf6_route *route,
        if (PREFIX_LIST_OUT(area))
                if (prefix_list_apply(PREFIX_LIST_OUT(area), &route->prefix)
                    != PREFIX_PERMIT) {
-                       if (is_debug) {
-                               inet_ntop(
-                                       AF_INET,
-                                       &(ADV_ROUTER_IN_PREFIX(&route->prefix)),
-                                       buf, sizeof(buf));
+                       if (is_debug)
                                zlog_debug(
-                                       "prefix %s was denied by filter-list out",
-                                       buf);
-                       }
+                                       "prefix %pFX was denied by filter-list out",
+                                       &ADV_ROUTER_IN_PREFIX(&route->prefix));
                        return 0;
                }
 
@@ -798,7 +777,6 @@ void ospf6_abr_old_route_remove(struct ospf6_lsa *lsa,
                struct ospf6_path *o_path;
                struct ospf6_nexthop *nh, *rnh;
                bool nh_updated = false;
-               char buf[PREFIX2STR_BUFFER];
 
                for (ALL_LIST_ELEMENTS(old->paths, anode, anext, o_path)) {
                        if (o_path->origin.adv_router != lsa->header->adv_router
@@ -820,16 +798,13 @@ void ospf6_abr_old_route_remove(struct ospf6_lsa *lsa,
 
                if (nh_updated) {
                        if (listcount(old->paths)) {
-                               if (IS_OSPF6_DEBUG_ABR ||
-                                   IS_OSPF6_DEBUG_EXAMIN(INTER_PREFIX)) {
-                                       prefix2str(&old->prefix, buf,
-                                                  sizeof(buf));
-                                       zlog_debug("%s: old %s updated nh %u",
-                                                  __func__, buf,
+                               if (IS_OSPF6_DEBUG_ABR
+                                   || IS_OSPF6_DEBUG_EXAMIN(INTER_PREFIX))
+                                       zlog_debug("%s: old %pFX updated nh %u",
+                                                  __func__, &old->prefix,
                                                   old->nh_list ? listcount(
                                                           old->nh_list)
                                                                : 0);
-                               }
 
                                if (table->hook_add)
                                        (*table->hook_add)(old);
@@ -1140,13 +1115,11 @@ void ospf6_abr_examin_summary(struct ospf6_lsa *lsa, struct ospf6_area *oa)
                        continue;
 
                if ((ospf6_route_cmp(route, old_route) != 0)) {
-                       if (is_debug) {
-                               prefix2str(&prefix, buf, sizeof(buf));
+                       if (is_debug)
                                zlog_debug(
-                                       "%s: old %p %s cost %u new route cost %u are not same",
-                                       __func__, (void *)old_route, buf,
+                                       "%s: old %p %pFX cost %u new route cost %u are not same",
+                                       __func__, (void *)old_route, &prefix,
                                        old_route->path.cost, route->path.cost);
-                       }
 
                        /* Check new route's adv. router is same in one of
                         * the paths with differed cost, if so remove the
index 713ce26ecb6184c3ea78e29de67271c7e1dc4c4b..866bc7e18942e14afb18c0dc2ab51a3372f6683d 100644 (file)
@@ -505,13 +505,12 @@ void ospf6_area_config_write(struct vty *vty)
        struct listnode *node;
        struct ospf6_area *oa;
        struct ospf6_route *range;
-       char buf[PREFIX2STR_BUFFER];
 
        for (ALL_LIST_ELEMENTS_RO(ospf6->area_list, node, oa)) {
                for (range = ospf6_route_head(oa->range_table); range;
                     range = ospf6_route_next(range)) {
-                       prefix2str(&range->prefix, buf, sizeof(buf));
-                       vty_out(vty, " area %s range %s", oa->name, buf);
+                       vty_out(vty, " area %s range %pFX", oa->name,
+                               &range->prefix);
 
                        if (CHECK_FLAG(range->flag,
                                       OSPF6_ROUTE_DO_NOT_ADVERTISE)) {
index 10a92414b98ef63f7662e18d823e432c92eda25a..80a3c1005ddb9429026e59898adfe28bf755c71b 100644 (file)
@@ -63,13 +63,11 @@ static void ospf6_as_external_lsa_originate(struct ospf6_route *route)
        struct ospf6_external_info *info = route->route_option;
 
        struct ospf6_as_external_lsa *as_external_lsa;
-       char buf[PREFIX2STR_BUFFER];
        caddr_t p;
 
-       if (IS_OSPF6_DEBUG_ASBR || IS_OSPF6_DEBUG_ORIGINATE(AS_EXTERNAL)) {
-               prefix2str(&route->prefix, buf, sizeof(buf));
-               zlog_debug("Originate AS-External-LSA for %s", buf);
-       }
+       if (IS_OSPF6_DEBUG_ASBR || IS_OSPF6_DEBUG_ORIGINATE(AS_EXTERNAL))
+               zlog_debug("Originate AS-External-LSA for %pFX",
+                          &route->prefix);
 
        /* prepare buffer */
        memset(buffer, 0, sizeof(buffer));
@@ -211,7 +209,6 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old,
        struct listnode *anode, *anext;
        struct listnode *nnode, *rnode, *rnext;
        struct ospf6_nexthop *nh, *rnh;
-       char buf[PREFIX2STR_BUFFER];
        bool route_found = false;
 
        /* check for old entry match with new route origin,
@@ -371,11 +368,9 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old,
                                listnode_add_sort(old_route->paths, ecmp_path);
 
                                if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL)) {
-                                       prefix2str(&route->prefix, buf,
-                                                  sizeof(buf));
                                        zlog_debug(
-                                               "%s: route %s another path added with nh %u, effective paths %u nh %u",
-                                               __func__, buf,
+                                               "%s: route %pFX another path added with nh %u, effective paths %u nh %u",
+                                               __func__, &route->prefix,
                                                listcount(ecmp_path->nh_list),
                                                old_route->paths ? listcount(
                                                        old_route->paths)
@@ -401,32 +396,27 @@ void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old,
                                                        &o_path->ls_prefix,
                                                        ospf6->brouter_table);
                                if (asbr_entry == NULL) {
-                                       if (IS_OSPF6_DEBUG_EXAMIN(
-                                                       AS_EXTERNAL)) {
-                                               prefix2str(&old_route->prefix,
-                                                          buf, sizeof(buf));
+                                       if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL))
                                                zlog_debug(
-                                                       "%s: ls_prfix %s asbr_entry not found.",
-                                                       __func__, buf);
-                                       }
+                                                       "%s: ls_prfix %pFX asbr_entry not found.",
+                                                       __func__,
+                                                       &old_route->prefix);
                                        continue;
                                }
                                ospf6_route_merge_nexthops(old_route,
                                                           asbr_entry);
                        }
 
-                       if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL)) {
-                               prefix2str(&route->prefix, buf, sizeof(buf));
+                       if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL))
                                zlog_debug(
-                                       "%s: route %s with effective paths %u nh %u",
-                                       __func__, buf,
+                                       "%s: route %pFX with effective paths %u nh %u",
+                                       __func__, &route->prefix,
                                        old_route->paths
                                                ? listcount(old_route->paths)
                                                : 0,
                                        old_route->nh_list
                                                ? listcount(old_route->nh_list)
                                                : 0);
-                       }
 
                        /* Update RIB/FIB */
                        if (ospf6->route_table->hook_add)
@@ -453,7 +443,6 @@ void ospf6_asbr_lsa_add(struct ospf6_lsa *lsa)
        struct prefix asbr_id;
        struct ospf6_route *asbr_entry, *route, *old;
        struct ospf6_path *path;
-       char buf[PREFIX2STR_BUFFER];
 
        external = (struct ospf6_as_external_lsa *)OSPF6_LSA_HEADER_END(
                lsa->header);
@@ -484,10 +473,8 @@ void ospf6_asbr_lsa_add(struct ospf6_lsa *lsa)
        asbr_entry = ospf6_route_lookup(&asbr_id, ospf6->brouter_table);
        if (asbr_entry == NULL
            || !CHECK_FLAG(asbr_entry->path.router_bits, OSPF6_ROUTER_BIT_E)) {
-               if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL)) {
-                       prefix2str(&asbr_id, buf, sizeof(buf));
-                       zlog_debug("ASBR entry not found: %s", buf);
-               }
+               if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL))
+                       zlog_debug("ASBR entry not found: %pFX", &asbr_id);
                return;
        }
 
@@ -527,15 +514,13 @@ void ospf6_asbr_lsa_add(struct ospf6_lsa *lsa)
        listnode_add_sort(route->paths, path);
 
 
-       if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL)) {
-               prefix2str(&route->prefix, buf, sizeof(buf));
-               zlog_debug("%s: AS-External %u route add %s cost %u(%u) nh %u",
-                          __func__,
-                          (route->path.type == OSPF6_PATH_TYPE_EXTERNAL1) ? 1
-                                                                          : 2,
-                          buf, route->path.cost, route->path.u.cost_e2,
-                          listcount(route->nh_list));
-       }
+       if (IS_OSPF6_DEBUG_EXAMIN(AS_EXTERNAL))
+               zlog_debug(
+                       "%s: AS-External %u route add %pFX cost %u(%u) nh %u",
+                       __func__,
+                       (route->path.type == OSPF6_PATH_TYPE_EXTERNAL1) ? 1 : 2,
+                       &route->prefix, route->path.cost, route->path.u.cost_e2,
+                       listcount(route->nh_list));
 
        old = ospf6_route_lookup(&route->prefix, ospf6->route_table);
        if (!old) {
@@ -1029,7 +1014,7 @@ void ospf6_asbr_redistribute_add(int type, ifindex_t ifindex,
        struct ospf6_external_info *info;
        struct prefix prefix_id;
        struct route_node *node;
-       char pbuf[PREFIX2STR_BUFFER], ibuf[16];
+       char ibuf[16];
        struct listnode *lnode, *lnnode;
        struct ospf6_area *oa;
 
@@ -1039,10 +1024,8 @@ void ospf6_asbr_redistribute_add(int type, ifindex_t ifindex,
        memset(&troute, 0, sizeof(troute));
        memset(&tinfo, 0, sizeof(tinfo));
 
-       if (IS_OSPF6_DEBUG_ASBR) {
-               prefix2str(prefix, pbuf, sizeof(pbuf));
-               zlog_debug("Redistribute %s (%s)", pbuf, ZROUTE_NAME(type));
-       }
+       if (IS_OSPF6_DEBUG_ASBR)
+               zlog_debug("Redistribute %pFX (%s)", prefix, ZROUTE_NAME(type));
 
        /* if route-map was specified but not found, do not advertise */
        if (ospf6->rmap[type].name) {
@@ -1109,10 +1092,9 @@ void ospf6_asbr_redistribute_add(int type, ifindex_t ifindex,
                if (IS_OSPF6_DEBUG_ASBR) {
                        inet_ntop(AF_INET, &prefix_id.u.prefix4, ibuf,
                                  sizeof(ibuf));
-                       prefix2str(prefix, pbuf, sizeof(pbuf));
                        zlog_debug(
-                               "Advertise as AS-External Id:%s prefix %s metric %u",
-                               ibuf, pbuf, match->path.metric_type);
+                               "Advertise as AS-External Id:%s prefix %pFX metric %u",
+                               ibuf, prefix, match->path.metric_type);
                }
 
                match->path.origin.id = htonl(info->id);
@@ -1163,9 +1145,9 @@ void ospf6_asbr_redistribute_add(int type, ifindex_t ifindex,
 
        if (IS_OSPF6_DEBUG_ASBR) {
                inet_ntop(AF_INET, &prefix_id.u.prefix4, ibuf, sizeof(ibuf));
-               prefix2str(prefix, pbuf, sizeof(pbuf));
-               zlog_debug("Advertise as AS-External Id:%s prefix %s metric %u",
-                          ibuf, pbuf, route->path.metric_type);
+               zlog_debug(
+                       "Advertise as AS-External Id:%s prefix %pFX metric %u",
+                       ibuf, prefix, route->path.metric_type);
        }
 
        route->path.origin.id = htonl(info->id);
@@ -1184,16 +1166,14 @@ void ospf6_asbr_redistribute_remove(int type, ifindex_t ifindex,
        struct route_node *node;
        struct ospf6_lsa *lsa;
        struct prefix prefix_id;
-       char pbuf[PREFIX2STR_BUFFER], ibuf[16];
+       char ibuf[16];
        struct listnode *lnode, *lnnode;
        struct ospf6_area *oa;
 
        match = ospf6_route_lookup(prefix, ospf6->external_table);
        if (match == NULL) {
-               if (IS_OSPF6_DEBUG_ASBR) {
-                       prefix2str(prefix, pbuf, sizeof(pbuf));
-                       zlog_debug("No such route %s to withdraw", pbuf);
-               }
+               if (IS_OSPF6_DEBUG_ASBR)
+                       zlog_debug("No such route %pFX to withdraw", prefix);
                return;
        }
 
@@ -1201,17 +1181,14 @@ void ospf6_asbr_redistribute_remove(int type, ifindex_t ifindex,
        assert(info);
 
        if (info->type != type) {
-               if (IS_OSPF6_DEBUG_ASBR) {
-                       prefix2str(prefix, pbuf, sizeof(pbuf));
-                       zlog_debug("Original protocol mismatch: %s", pbuf);
-               }
+               if (IS_OSPF6_DEBUG_ASBR)
+                       zlog_debug("Original protocol mismatch: %pFX", prefix);
                return;
        }
 
        if (IS_OSPF6_DEBUG_ASBR) {
-               prefix2str(prefix, pbuf, sizeof(pbuf));
                inet_ntop(AF_INET, &prefix_id.u.prefix4, ibuf, sizeof(ibuf));
-               zlog_debug("Withdraw %s (AS-External Id:%s)", pbuf, ibuf);
+               zlog_debug("Withdraw %pFX (AS-External Id:%s)", prefix, ibuf);
        }
 
        lsa = ospf6_lsdb_lookup(htons(OSPF6_LSTYPE_AS_EXTERNAL),
@@ -1823,10 +1800,9 @@ static void ospf6_asbr_external_route_show(struct vty *vty,
                                           struct ospf6_route *route)
 {
        struct ospf6_external_info *info = route->route_option;
-       char prefix[PREFIX2STR_BUFFER], id[16], forwarding[64];
+       char id[16], forwarding[64];
        uint32_t tmp_id;
 
-       prefix2str(&route->prefix, prefix, sizeof(prefix));
        tmp_id = ntohl(info->id);
        inet_ntop(AF_INET, &tmp_id, id, sizeof(id));
        if (!IN6_IS_ADDR_UNSPECIFIED(&info->forwarding))
@@ -1836,8 +1812,8 @@ static void ospf6_asbr_external_route_show(struct vty *vty,
                snprintf(forwarding, sizeof(forwarding), ":: (ifindex %d)",
                         ospf6_route_get_first_nh_index(route));
 
-       vty_out(vty, "%c %-32s %-15s type-%d %5lu %s\n",
-               zebra_route_char(info->type), prefix, id,
+       vty_out(vty, "%c %-32pFX %-15s type-%d %5lu %s\n",
+               zebra_route_char(info->type), &route->prefix, id,
                route->path.metric_type,
                (unsigned long)(route->path.metric_type == 2
                                        ? route->path.u.cost_e2
index 1b58cd14f6f71ec246ea38c0d12428516d79a24e..4e50ab5244acd0d459eb9e8cf178ea4e9db27d5c 100644 (file)
@@ -204,12 +204,9 @@ static int ospf6_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
        if ((ifp == NULL) || (dp.family != AF_INET6))
                return 0;
 
-       if (IS_OSPF6_DEBUG_ZEBRA(RECV)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&dp, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s bfd destination %s %s",
-                          ifp->name, buf, bfd_get_status_str(status));
-       }
+       if (IS_OSPF6_DEBUG_ZEBRA(RECV))
+               zlog_debug("Zebra: interface %s bfd destination %pFX %s",
+                          ifp->name, &dp, bfd_get_status_str(status));
 
 
        oi = (struct ospf6_interface *)ifp->info;
index 72e40676a0a4c0d636b38a21a4ae6b411a3f6da3..a724157737b0bef1bc2bbcaf7022218c21695262 100644 (file)
@@ -436,16 +436,14 @@ void ospf6_interface_connected_route_update(struct interface *ifp)
                if (oi->plist_name) {
                        struct prefix_list *plist;
                        enum prefix_list_type ret;
-                       char buf[PREFIX2STR_BUFFER];
 
-                       prefix2str(c->address, buf, sizeof(buf));
                        plist = prefix_list_lookup(AFI_IP6, oi->plist_name);
                        ret = prefix_list_apply(plist, (void *)c->address);
                        if (ret == PREFIX_DENY) {
                                if (IS_OSPF6_DEBUG_INTERFACE)
                                        zlog_debug(
-                                               "%s on %s filtered by prefix-list %s ",
-                                               buf, oi->interface->name,
+                                               "%pFX on %s filtered by prefix-list %s ",
+                                               c->address, oi->interface->name,
                                                oi->plist_name);
                                continue;
                        }
@@ -929,16 +927,15 @@ static int ospf6_interface_show(struct vty *vty, struct interface *ifp)
 
        for (ALL_LIST_ELEMENTS_RO(ifp->connected, i, c)) {
                p = c->address;
-               prefix2str(p, strbuf, sizeof(strbuf));
                switch (p->family) {
                case AF_INET:
-                       vty_out(vty, "    inet : %s\n", strbuf);
+                       vty_out(vty, "    inet : %pFX\n", p);
                        break;
                case AF_INET6:
-                       vty_out(vty, "    inet6: %s\n", strbuf);
+                       vty_out(vty, "    inet6: %pFX\n", p);
                        break;
                default:
-                       vty_out(vty, "    ???  : %s\n", strbuf);
+                       vty_out(vty, "    ???  : %pFX\n", p);
                        break;
                }
        }
index 6eda9f750c882a35ce6753a622381771a4188290..733b9cffb115ea227b7968c6721e5494fdf2f751 100644 (file)
@@ -907,7 +907,6 @@ int ospf6_intra_prefix_lsa_originate_stub(struct thread *thread)
        struct listnode *i, *j;
        int full_count = 0;
        unsigned short prefix_num = 0;
-       char buf[PREFIX2STR_BUFFER];
        struct ospf6_route_table *route_advertise;
        int ls_id = 0;
 
@@ -985,10 +984,8 @@ int ospf6_intra_prefix_lsa_originate_stub(struct thread *thread)
                /* connected prefix to advertise */
                for (route = ospf6_route_head(oi->route_connected); route;
                     route = ospf6_route_best_next(route)) {
-                       if (IS_OSPF6_DEBUG_ORIGINATE(INTRA_PREFIX)) {
-                               prefix2str(&route->prefix, buf, sizeof(buf));
-                               zlog_debug("    include %s", buf);
-                       }
+                       if (IS_OSPF6_DEBUG_ORIGINATE(INTRA_PREFIX))
+                               zlog_debug("    include %pFX", &route->prefix);
                        ospf6_route_add(ospf6_route_copy(route),
                                        route_advertise);
                }
@@ -1144,7 +1141,6 @@ int ospf6_intra_prefix_lsa_originate_transit(struct thread *thread)
        struct ospf6_link_lsa *link_lsa;
        char *start, *end, *current;
        uint16_t type;
-       char buf[PREFIX2STR_BUFFER];
 
        oi = (struct ospf6_interface *)THREAD_ARG(thread);
        oi->thread_intra_prefix_lsa = NULL;
@@ -1255,10 +1251,8 @@ int ospf6_intra_prefix_lsa_originate_transit(struct thread *thread)
                        route->path.area_id = oi->area->area_id;
                        route->path.type = OSPF6_PATH_TYPE_INTRA;
 
-                       if (IS_OSPF6_DEBUG_ORIGINATE(INTRA_PREFIX)) {
-                               prefix2str(&route->prefix, buf, sizeof(buf));
-                               zlog_debug("    include %s", buf);
-                       }
+                       if (IS_OSPF6_DEBUG_ORIGINATE(INTRA_PREFIX))
+                               zlog_debug("    include %pFX", &route->prefix);
 
                        ospf6_route_add(route, route_advertise);
                        prefix_num--;
@@ -1554,11 +1548,9 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
                                                ospf6_linkstate_prefix(
                                                o_path->origin.adv_router,
                                                o_path->origin.id, &adv_prefix);
-                                               prefix2str(&adv_prefix, buf,
-                                                          sizeof(buf));
                                                zlog_debug(
-                                                       "%s: adv_router %s lsa not found",
-                                                       __func__, buf);
+                                                       "%s: adv_router %pFX lsa not found",
+                                                       __func__, &adv_prefix);
                                        }
                                        continue;
                                }
@@ -1582,16 +1574,15 @@ void ospf6_intra_prefix_route_ecmp_path(struct ospf6_area *oa,
                                }
                        }
 
-                       if (IS_OSPF6_DEBUG_EXAMIN(INTRA_PREFIX)) {
-                               prefix2str(&route->prefix, buf, sizeof(buf));
+                       if (IS_OSPF6_DEBUG_EXAMIN(INTRA_PREFIX))
                                zlog_debug(
-                                       "%s: route %s %p with final effective paths %u nh%u",
-                                       __func__, buf, (void *)old_route,
+                                       "%s: route %pFX %p with final effective paths %u nh%u",
+                                       __func__, &route->prefix,
+                                       (void *)old_route,
                                        old_route->paths
                                                ? listcount(old_route->paths)
                                                : 0,
                                        listcount(old_route->nh_list));
-                       }
 
                        /* used in intra_route_calculation() to add to
                         * global ospf6 route table.
index cd873e2f00f556d46746913ff7fab580bf67fc97..f8f0780baa1c3b92afda31dc889e7df659b13bb9 100644 (file)
@@ -156,46 +156,36 @@ extern vector ospf6_lsa_handler_vector;
 /* addr is (struct prefix *) */
 #define CONTINUE_IF_ADDRESS_LINKLOCAL(debug, addr)                             \
        if (IN6_IS_ADDR_LINKLOCAL(&(addr)->u.prefix6)) {                       \
-               char buf[PREFIX2STR_BUFFER];                                   \
-               prefix2str(addr, buf, sizeof(buf));                            \
                if (debug)                                                     \
-                       zlog_debug("Filter out Linklocal: %s", buf);           \
+                       zlog_debug("Filter out Linklocal: %pFX", addr);        \
                continue;                                                      \
        }
 
 #define CONTINUE_IF_ADDRESS_UNSPECIFIED(debug, addr)                           \
        if (IN6_IS_ADDR_UNSPECIFIED(&(addr)->u.prefix6)) {                     \
-               char buf[PREFIX2STR_BUFFER];                                   \
-               prefix2str(addr, buf, sizeof(buf));                            \
                if (debug)                                                     \
-                       zlog_debug("Filter out Unspecified: %s", buf);         \
+                       zlog_debug("Filter out Unspecified: %pFX", addr);      \
                continue;                                                      \
        }
 
 #define CONTINUE_IF_ADDRESS_LOOPBACK(debug, addr)                              \
        if (IN6_IS_ADDR_LOOPBACK(&(addr)->u.prefix6)) {                        \
-               char buf[PREFIX2STR_BUFFER];                                   \
-               prefix2str(addr, buf, sizeof(buf));                            \
                if (debug)                                                     \
-                       zlog_debug("Filter out Loopback: %s", buf);            \
+                       zlog_debug("Filter out Loopback: %pFX", addr);         \
                continue;                                                      \
        }
 
 #define CONTINUE_IF_ADDRESS_V4COMPAT(debug, addr)                              \
        if (IN6_IS_ADDR_V4COMPAT(&(addr)->u.prefix6)) {                        \
-               char buf[PREFIX2STR_BUFFER];                                   \
-               prefix2str(addr, buf, sizeof(buf));                            \
                if (debug)                                                     \
-                       zlog_debug("Filter out V4Compat: %s", buf);            \
+                       zlog_debug("Filter out V4Compat: %pFX", addr);         \
                continue;                                                      \
        }
 
 #define CONTINUE_IF_ADDRESS_V4MAPPED(debug, addr)                              \
        if (IN6_IS_ADDR_V4MAPPED(&(addr)->u.prefix6)) {                        \
-               char buf[PREFIX2STR_BUFFER];                                   \
-               prefix2str(addr, buf, sizeof(buf));                            \
                if (debug)                                                     \
-                       zlog_debug("Filter out V4Mapped: %s", buf);            \
+                       zlog_debug("Filter out V4Mapped: %pFX", addr);         \
                continue;                                                      \
        }
 
index db6f9a7801516e910695b1c03c82d6d050f4eaaa..0892863cf10cae0499b4c5b5966985a60d14781b 100644 (file)
@@ -207,11 +207,7 @@ struct ospf6_lsa *ospf6_lsdb_lookup_next(uint16_t type, uint32_t id,
        ospf6_lsdb_set_key(&key, &adv_router, sizeof(adv_router));
        ospf6_lsdb_set_key(&key, &id, sizeof(id));
 
-       {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&key, buf, sizeof(buf));
-               zlog_debug("lsdb_lookup_next: key: %s", buf);
-       }
+       zlog_debug("lsdb_lookup_next: key: %pFX", &key);
 
        node = route_table_get_next(lsdb->table, &key);
 
index 4044cdc549f2197dd6a67b81027efc60bcf3c38c..1cd6b8cff45df33fa5a8a3b5f05e36d1a5fb3d2d 100644 (file)
@@ -550,7 +550,6 @@ ospf6_route_lookup_bestmatch(struct prefix *prefix,
 static void route_table_assert(struct ospf6_route_table *table)
 {
        struct ospf6_route *prev, *r, *next;
-       char buf[PREFIX2STR_BUFFER];
        unsigned int link_error = 0, num = 0;
 
        r = ospf6_route_head(table);
@@ -579,10 +578,9 @@ static void route_table_assert(struct ospf6_route_table *table)
                 "Something has gone wrong with ospf6_route_table[%p]", table);
        zlog_debug("table count = %d, real number = %d", table->count, num);
        zlog_debug("DUMP START");
-       for (r = ospf6_route_head(table); r; r = ospf6_route_next(r)) {
-               prefix2str(&r->prefix, buf, sizeof(buf));
-               zlog_info("%p<-[%p]->%p : %s", r->prev, r, r->next, buf);
-       }
+       for (r = ospf6_route_head(table); r; r = ospf6_route_next(r))
+               zlog_info("%p<-[%p]->%p : %pFX", r->prev, r, r->next,
+                         &r->prefix);
        zlog_debug("DUMP END");
 
        assert(link_error == 0 && num == table->count);
index bb6a05097631edf76c34181c51abca888d7c1c3e..d3a330c3c7835a8f6290dc9e3ed53c9e48f4cdcc 100644 (file)
@@ -320,7 +320,6 @@ static int ospf6_spf_install(struct ospf6_vertex *v,
 {
        struct ospf6_route *route, *parent_route;
        struct ospf6_vertex *prev;
-       char pbuf[PREFIX2STR_BUFFER];
 
        if (IS_OSPF6_DEBUG_SPF(PROCESS))
                zlog_debug("SPF install %s (lsa %s) hops %d cost %d", v->name,
@@ -335,12 +334,10 @@ static int ospf6_spf_install(struct ospf6_vertex *v,
                ospf6_vertex_delete(v);
                return -1;
        } else if (route && route->path.cost == v->cost) {
-               if (IS_OSPF6_DEBUG_SPF(PROCESS)) {
-                       prefix2str(&route->prefix, pbuf, sizeof(pbuf));
+               if (IS_OSPF6_DEBUG_SPF(PROCESS))
                        zlog_debug(
-                               "  another path found to route %s lsa %s, merge",
-                               pbuf, v->lsa->name);
-               }
+                               "  another path found to route %pFX lsa %s, merge",
+                               &route->prefix, v->lsa->name);
                ospf6_spf_merge_nexthops_to_route(route, v);
 
                prev = (struct ospf6_vertex *)route->route_option;
index 49b7e4f1429667a5cfd2971a17be44953f46b721..1f906cadd11b34aab9bfef7b94d0420d82f731c4 100644 (file)
@@ -1059,15 +1059,11 @@ static int ospf6_distance_config_write(struct vty *vty)
        }
 
        for (rn = route_top(ospf6->distance_table); rn; rn = route_next(rn))
-               if ((odistance = rn->info) != NULL) {
-                       char buf[PREFIX_STRLEN];
-
-                       vty_out(vty, " distance %u %s %s\n",
-                               odistance->distance,
-                               prefix2str(&rn->p, buf, sizeof(buf)),
+               if ((odistance = rn->info) != NULL)
+                       vty_out(vty, " distance %u %pFX %s\n",
+                               odistance->distance, &rn->p,
                                odistance->access_list ? odistance->access_list
                                                       : "");
-               }
        return 0;
 }
 
index d37235d192ab9b719ab65d32876b5a9ada045a22..c5c8ca27b9f35655de2219e51dc0764a7f228143 100644 (file)
@@ -163,19 +163,13 @@ static int ospf6_zebra_read_route(ZAPI_CALLBACK_ARGS)
        ifindex = api.nexthops[0].ifindex;
        nexthop = &api.nexthops[0].gate.ipv6;
 
-       if (IS_OSPF6_DEBUG_ZEBRA(RECV)) {
-               char prefixstr[PREFIX2STR_BUFFER], nexthopstr[128];
-
-               prefix2str(&api.prefix, prefixstr, sizeof(prefixstr));
-               inet_ntop(AF_INET6, nexthop, nexthopstr, sizeof(nexthopstr));
-
+       if (IS_OSPF6_DEBUG_ZEBRA(RECV))
                zlog_debug(
-                       "Zebra Receive route %s: %s %s nexthop %s ifindex %ld tag %" ROUTE_TAG_PRI,
+                       "Zebra Receive route %s: %s %pFX nexthop %pI6 ifindex %ld tag %" ROUTE_TAG_PRI,
                        (cmd == ZEBRA_REDISTRIBUTE_ROUTE_ADD ? "add"
                                                             : "delete"),
-                       zebra_route_string(api.type), prefixstr, nexthopstr,
+                       zebra_route_string(api.type), &api.prefix, nexthop,
                        ifindex, api.tag);
-       }
 
        if (cmd == ZEBRA_REDISTRIBUTE_ROUTE_ADD)
                ospf6_asbr_redistribute_add(api.type, ifindex, &api.prefix,
@@ -219,16 +213,13 @@ DEFUN (show_zebra,
 static void ospf6_zebra_route_update(int type, struct ospf6_route *request)
 {
        struct zapi_route api;
-       char buf[PREFIX2STR_BUFFER];
        int nhcount;
        int ret = 0;
        struct prefix *dest;
 
-       if (IS_OSPF6_DEBUG_ZEBRA(SEND)) {
-               prefix2str(&request->prefix, buf, sizeof(buf));
-               zlog_debug("Send %s route: %s",
-                          (type == REM ? "remove" : "add"), buf);
-       }
+       if (IS_OSPF6_DEBUG_ZEBRA(SEND))
+               zlog_debug("Send %s route: %pFX",
+                          (type == REM ? "remove" : "add"), &request->prefix);
 
        if (zclient->sock < 0) {
                if (IS_OSPF6_DEBUG_ZEBRA(SEND))
index 781102beb13460cea19b8561f28cc0e2ddc6bdb4..28afee31a30a506507d21a528cf80976ee0e990f 100644 (file)
@@ -740,13 +740,9 @@ void ospf_abr_announce_network_to_area(struct prefix_ipv4 *p, uint32_t cost,
                        lsa = ospf_lsa_refresh(area->ospf, old);
 
                        if (!lsa) {
-                               char buf[PREFIX2STR_BUFFER];
-
-                               prefix2str((struct prefix *)p, buf,
-                                          sizeof(buf));
                                flog_warn(EC_OSPF_LSA_MISSING,
-                                         "%s: Could not refresh %s to %s",
-                                         __func__, buf,
+                                         "%s: Could not refresh %pFX to %s",
+                                         __func__, (struct prefix *)p,
                                          inet_ntoa(area->area_id));
                                return;
                        }
@@ -762,12 +758,10 @@ void ospf_abr_announce_network_to_area(struct prefix_ipv4 *p, uint32_t cost,
                /* This will flood through area. */
 
                if (!lsa) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str((struct prefix *)p, buf, sizeof(buf));
                        flog_warn(EC_OSPF_LSA_MISSING,
-                                 "%s: Could not originate %s to %s", __func__,
-                                 buf, inet_ntoa(area->area_id));
+                                 "%s: Could not originate %pFX to %s",
+                                 __func__, (struct prefix *)p,
+                                 inet_ntoa(area->area_id));
                        return;
                }
 
@@ -1118,12 +1112,10 @@ static void ospf_abr_announce_rtr_to_area(struct prefix_ipv4 *p, uint32_t cost,
                } else
                        lsa = ospf_summary_asbr_lsa_originate(p, cost, area);
                if (!lsa) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str((struct prefix *)p, buf, sizeof(buf));
                        flog_warn(EC_OSPF_LSA_MISSING,
-                                 "%s: Could not refresh/originate %s to %s",
-                                 __func__, buf, inet_ntoa(area->area_id));
+                                 "%s: Could not refresh/originate %pFX to %s",
+                                 __func__, (struct prefix *)p,
+                                 inet_ntoa(area->area_id));
                        return;
                }
 
index d2c5090f2fc293ebc6382a0e3a46bc92acc48cba..46ad94c3de8fa4b86f34e256920db1288f00bab3 100644 (file)
@@ -217,12 +217,9 @@ static int ospf_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
        if ((ifp == NULL) || (p.family != AF_INET))
                return 0;
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&p, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s bfd destination %s %s",
-                          ifp->name, buf, bfd_get_status_str(status));
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra: interface %s bfd destination %pFX %s",
+                          ifp->name, &p, bfd_get_status_str(status));
 
        params = IF_DEF_PARAMS(ifp);
        if (!params->bfd_info)
index dc8a8dccd25c681eb6fbc35a1df9449144ec75e5..5aacbc9061074c7eda69de43c98f7e4d7e237a1d 100644 (file)
@@ -73,12 +73,9 @@ static int ospf_router_id_update_zebra(ZAPI_CALLBACK_ARGS)
        struct prefix router_id;
        zebra_router_id_update_read(zclient->ibuf, &router_id);
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&router_id, buf, sizeof(buf));
-               zlog_debug("Zebra rcvd: router id update %s vrf %s id %u", buf,
-                          ospf_vrf_id_to_name(vrf_id), vrf_id);
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra rcvd: router id update %pFX vrf %s id %u",
+                          &router_id, ospf_vrf_id_to_name(vrf_id), vrf_id);
 
        ospf = ospf_lookup_by_vrf_id(vrf_id);
 
@@ -86,15 +83,11 @@ static int ospf_router_id_update_zebra(ZAPI_CALLBACK_ARGS)
                ospf->router_id_zebra = router_id.u.prefix4;
                ospf_router_id_update(ospf);
        } else {
-               if (IS_DEBUG_OSPF_EVENT) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&router_id, buf, sizeof(buf));
+               if (IS_DEBUG_OSPF_EVENT)
                        zlog_debug(
-                               "%s: ospf instance not found for vrf %s id %u router_id %s",
+                               "%s: ospf instance not found for vrf %s id %u router_id %pFX",
                                __func__, ospf_vrf_id_to_name(vrf_id), vrf_id,
-                               buf);
-               }
+                               &router_id);
        }
        return 0;
 }
@@ -110,13 +103,10 @@ static int ospf_interface_address_add(ZAPI_CALLBACK_ARGS)
        if (c == NULL)
                return 0;
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(c->address, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s address add %s vrf %s id %u",
-                          c->ifp->name, buf, ospf_vrf_id_to_name(vrf_id),
-                          vrf_id);
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra: interface %s address add %pFX vrf %s id %u",
+                          c->ifp->name, c->address,
+                          ospf_vrf_id_to_name(vrf_id), vrf_id);
 
        ospf = ospf_lookup_by_vrf_id(vrf_id);
        if (!ospf)
@@ -142,12 +132,9 @@ static int ospf_interface_address_delete(ZAPI_CALLBACK_ARGS)
        if (c == NULL)
                return 0;
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE)) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(c->address, buf, sizeof(buf));
-               zlog_debug("Zebra: interface %s address delete %s",
-                          c->ifp->name, buf);
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_INTERFACE))
+               zlog_debug("Zebra: interface %s address delete %pFX",
+                          c->ifp->name, c->address);
 
        ifp = c->ifp;
        p = *c->address;
@@ -279,17 +266,14 @@ void ospf_zebra_add(struct ospf *ospf, struct prefix_ipv4 *p,
                count++;
 
                if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-                       char buf[2][PREFIX2STR_BUFFER];
                        struct interface *ifp;
 
                        ifp = if_lookup_by_index(path->ifindex, ospf->vrf_id);
 
                        zlog_debug(
-                               "Zebra: Route add %s nexthop %s, ifindex=%d %s",
-                               prefix2str(p, buf[0], sizeof(buf[0])),
-                               inet_ntop(AF_INET, &path->nexthop,
-                                         buf[1], sizeof(buf[1])),
-                               path->ifindex, ifp ? ifp->name : " ");
+                               "Zebra: Route add %pFX nexthop %pI4, ifindex=%d %s",
+                               p, &path->nexthop, path->ifindex,
+                               ifp ? ifp->name : " ");
                }
        }
        api.nexthop_num = count;
@@ -309,11 +293,8 @@ void ospf_zebra_delete(struct ospf *ospf, struct prefix_ipv4 *p,
        api.safi = SAFI_UNICAST;
        memcpy(&api.prefix, p, sizeof(*p));
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf[PREFIX2STR_BUFFER];
-               zlog_debug("Zebra: Route delete %s",
-                          prefix2str(p, buf, sizeof(buf)));
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
+               zlog_debug("Zebra: Route delete %pFX", p);
 
        zclient_route_send(ZEBRA_ROUTE_DELETE, zclient, &api);
 }
@@ -332,11 +313,8 @@ void ospf_zebra_add_discard(struct ospf *ospf, struct prefix_ipv4 *p)
 
        zclient_route_send(ZEBRA_ROUTE_ADD, zclient, &api);
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf[PREFIX2STR_BUFFER];
-               zlog_debug("Zebra: Route add discard %s",
-                          prefix2str(p, buf, sizeof(buf)));
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
+               zlog_debug("Zebra: Route add discard %pFX", p);
 }
 
 void ospf_zebra_delete_discard(struct ospf *ospf, struct prefix_ipv4 *p)
@@ -353,11 +331,8 @@ void ospf_zebra_delete_discard(struct ospf *ospf, struct prefix_ipv4 *p)
 
        zclient_route_send(ZEBRA_ROUTE_DELETE, zclient, &api);
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf[PREFIX2STR_BUFFER];
-               zlog_debug("Zebra: Route delete discard %s",
-                          prefix2str(p, buf, sizeof(buf)));
-       }
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
+               zlog_debug("Zebra: Route delete discard %pFX", p);
 }
 
 struct ospf_external *ospf_external_lookup(struct ospf *ospf, uint8_t type,
@@ -1061,13 +1036,10 @@ int ospf_redistribute_check(struct ospf *ospf, struct external_info *ei,
                if (DISTRIBUTE_LIST(ospf, type))
                        if (access_list_apply(DISTRIBUTE_LIST(ospf, type), p)
                            == FILTER_DENY) {
-                               if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-                                       char buf[PREFIX2STR_BUFFER];
+                               if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
                                        zlog_debug(
-                                               "Redistribute[%s]: %s filtered by distribute-list.",
-                                               ospf_redist_string(type),
-                                               prefix2str(p, buf, sizeof(buf)));
-                               }
+                                               "Redistribute[%s]: %pFX filtered by distribute-list.",
+                                               ospf_redist_string(type), p);
                                return 0;
                        }
 
@@ -1088,13 +1060,10 @@ int ospf_redistribute_check(struct ospf *ospf, struct external_info *ei,
 
                if (ret == RMAP_DENYMATCH) {
                        ei->route_map_set = save_values;
-                       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-                               char buf[PREFIX2STR_BUFFER];
+                       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
                                zlog_debug(
-                                       "Redistribute[%s]: %s filtered by route-map.",
-                                       ospf_redist_string(type),
-                                       prefix2str(p, buf, sizeof(buf)));
-                       }
+                                       "Redistribute[%s]: %pFX filtered by route-map.",
+                                       ospf_redist_string(type), p);
                        return 0;
                }
 
@@ -1171,14 +1140,10 @@ static int ospf_zebra_read_route(ZAPI_CALLBACK_ARGS)
        if (is_prefix_default(&p))
                rt_type = DEFAULT_ROUTE;
 
-       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE)) {
-               char buf_prefix[PREFIX_STRLEN];
-               prefix2str(&api.prefix, buf_prefix, sizeof(buf_prefix));
-
-               zlog_debug("%s: cmd %s from client %s: vrf_id %d, p %s",
+       if (IS_DEBUG_OSPF(zebra, ZEBRA_REDISTRIBUTE))
+               zlog_debug("%s: cmd %s from client %s: vrf_id %d, p %pFX",
                           __func__, zserv_command_string(cmd),
-                          zebra_route_string(api.type), vrf_id, buf_prefix);
-       }
+                          zebra_route_string(api.type), vrf_id, &api.prefix);
 
        if (cmd == ZEBRA_REDISTRIBUTE_ROUTE_ADD) {
                /* XXX|HACK|TODO|FIXME:
index 3fb3759049759a3a4deed100b35a6d9abb07d8ce..ce7780ed498f486a53dcd73e03a08921686aca80 100644 (file)
@@ -827,16 +827,14 @@ static void pbr_nht_individual_nexthop_update_lookup(struct hash_bucket *b,
 {
        struct pbr_nexthop_cache *pnhc = b->data;
        struct pbr_nht_individual *pnhi = data;
-       char buf[PREFIX_STRLEN];
        bool old_valid;
 
        old_valid = pnhc->valid;
 
        pbr_nht_individual_nexthop_update(pnhc, pnhi);
 
-       DEBUGD(&pbr_dbg_nht, "\tFound %s: old: %d new: %d",
-              prefix2str(&pnhi->nhr->prefix, buf, sizeof(buf)), old_valid,
-              pnhc->valid);
+       DEBUGD(&pbr_dbg_nht, "\tFound %pFX: old: %d new: %d",
+              &pnhi->nhr->prefix, old_valid, pnhc->valid);
 
        if (pnhc->valid)
                pnhi->valid = true;
index c423668ebd7de0e9b06263da018c618c832a288a..eb51516c24418eefbaec80028ca4b53acc8c1676 100644 (file)
@@ -648,7 +648,6 @@ pbrms_nexthop_group_write_individual_nexthop(
 static void vty_show_pbrms(struct vty *vty,
                           const struct pbr_map_sequence *pbrms, bool detail)
 {
-       char buf[PREFIX_STRLEN];
        char rbuf[64];
 
        if (pbrms->reason)
@@ -666,11 +665,9 @@ static void vty_show_pbrms(struct vty *vty,
                        pbrms->reason ? rbuf : "Valid");
 
        if (pbrms->src)
-               vty_out(vty, "        SRC Match: %s\n",
-                       prefix2str(pbrms->src, buf, sizeof(buf)));
+               vty_out(vty, "        SRC Match: %pFX\n", pbrms->src);
        if (pbrms->dst)
-               vty_out(vty, "        DST Match: %s\n",
-                       prefix2str(pbrms->dst, buf, sizeof(buf)));
+               vty_out(vty, "        DST Match: %pFX\n", pbrms->dst);
        if (pbrms->dsfield & PBR_DSFIELD_DSCP)
                vty_out(vty, "        DSCP Match: %u\n",
                        (pbrms->dsfield & PBR_DSFIELD_DSCP) >> 2);
@@ -1058,17 +1055,13 @@ static int pbr_vty_map_config_write_sequence(struct vty *vty,
                                             struct pbr_map *pbrm,
                                             struct pbr_map_sequence *pbrms)
 {
-       char buff[PREFIX_STRLEN];
-
        vty_out(vty, "pbr-map %s seq %u\n", pbrm->name, pbrms->seqno);
 
        if (pbrms->src)
-               vty_out(vty, " match src-ip %s\n",
-                       prefix2str(pbrms->src, buff, sizeof(buff)));
+               vty_out(vty, " match src-ip %pFX\n", pbrms->src);
 
        if (pbrms->dst)
-               vty_out(vty, " match dst-ip %s\n",
-                       prefix2str(pbrms->dst, buff, sizeof(buff)));
+               vty_out(vty, " match dst-ip %pFX\n", pbrms->dst);
 
        if (pbrms->dsfield & PBR_DSFIELD_DSCP)
                vty_out(vty, " match dscp %u\n",
index 866f27136eeaaa1e368341a1c481adcde8e0f873..b8ee974635df67742aed5bae9bc4b7360ee48af6 100644 (file)
@@ -102,15 +102,14 @@ static int interface_address_add(ZAPI_CALLBACK_ARGS)
 static int interface_address_delete(ZAPI_CALLBACK_ARGS)
 {
        struct connected *c;
-       char buf[PREFIX_STRLEN];
 
        c = zebra_interface_address_read(cmd, zclient->ibuf, vrf_id);
 
        if (!c)
                return 0;
 
-       DEBUGD(&pbr_dbg_zebra, "%s: %s deleted %s", __func__, c->ifp->name,
-              prefix2str(c->address, buf, sizeof(buf)));
+       DEBUGD(&pbr_dbg_zebra, "%s: %s deleted %pFX", __func__, c->ifp->name,
+              c->address);
 
        connected_free(&c);
        return 0;
@@ -162,40 +161,37 @@ static int route_notify_owner(ZAPI_CALLBACK_ARGS)
        struct prefix p;
        enum zapi_route_notify_owner note;
        uint32_t table_id;
-       char buf[PREFIX_STRLEN];
 
        if (!zapi_route_notify_decode(zclient->ibuf, &p, &table_id, &note))
                return -1;
 
-       prefix2str(&p, buf, sizeof(buf));
-
        switch (note) {
        case ZAPI_ROUTE_FAIL_INSTALL:
                DEBUGD(&pbr_dbg_zebra,
-                      "%s: [%s] Route install failure for table: %u", __func__,
-                      buf, table_id);
+                      "%s: [%pFX] Route install failure for table: %u",
+                      __func__, &p, table_id);
                break;
        case ZAPI_ROUTE_BETTER_ADMIN_WON:
                DEBUGD(&pbr_dbg_zebra,
-                      "%s: [%s] Route better admin distance won for table: %u",
-                      __func__, buf, table_id);
+                      "%s: [%pFX] Route better admin distance won for table: %u",
+                      __func__, &p, table_id);
                break;
        case ZAPI_ROUTE_INSTALLED:
                DEBUGD(&pbr_dbg_zebra,
-                      "%s: [%s] Route installed succeeded for table: %u",
-                      __func__, buf, table_id);
+                      "%s: [%pFX] Route installed succeeded for table: %u",
+                      __func__, &p, table_id);
                pbr_nht_route_installed_for_table(table_id);
                break;
        case ZAPI_ROUTE_REMOVED:
                DEBUGD(&pbr_dbg_zebra,
-                      "%s: [%s] Route Removed succeeded for table: %u",
-                      __func__, buf, table_id);
+                      "%s: [%pFX] Route Removed succeeded for table: %u",
+                      __func__, &p, table_id);
                pbr_nht_route_removed_for_table(table_id);
                break;
        case ZAPI_ROUTE_REMOVE_FAIL:
                DEBUGD(&pbr_dbg_zebra,
-                      "%s: [%s] Route remove fail for table: %u", __func__,
-                      buf, table_id);
+                      "%s: [%pFX] Route remove fail for table: %u", __func__,
+                      &p, table_id);
                break;
        }
 
@@ -259,14 +255,12 @@ static void route_add_helper(struct zapi_route *api, struct nexthop_group nhg,
                             uint8_t install_afi)
 {
        struct zapi_nexthop *api_nh;
-       char buf[PREFIX_STRLEN];
        struct nexthop *nhop;
        int i;
 
        api->prefix.family = install_afi;
 
-       DEBUGD(&pbr_dbg_zebra, "\tEncoding %s",
-              prefix2str(&api->prefix, buf, sizeof(buf)));
+       DEBUGD(&pbr_dbg_zebra, "\tEncoding %pFX", &api->prefix);
 
        i = 0;
        for (ALL_NEXTHOPS(nhg, nhop)) {
@@ -397,7 +391,6 @@ void route_delete(struct pbr_nexthop_group_cache *pnhgc, afi_t afi)
 static int pbr_zebra_nexthop_update(ZAPI_CALLBACK_ARGS)
 {
        struct zapi_route nhr;
-       char buf[PREFIX2STR_BUFFER];
        uint32_t i;
 
        if (!zapi_nexthop_update_decode(zclient->ibuf, &nhr)) {
@@ -407,8 +400,8 @@ static int pbr_zebra_nexthop_update(ZAPI_CALLBACK_ARGS)
 
        if (DEBUG_MODE_CHECK(&pbr_dbg_zebra, DEBUG_MODE_ALL)) {
 
-               DEBUGD(&pbr_dbg_zebra, "%s: Received Nexthop update: %s",
-                      __func__, prefix2str(&nhr.prefix, buf, sizeof(buf)));
+               DEBUGD(&pbr_dbg_zebra, "%s: Received Nexthop update: %pFX",
+                      __func__, &nhr.prefix);
 
                DEBUGD(&pbr_dbg_zebra, "%s: (\tNexthops(%u)", __func__,
                       nhr.nexthop_num);
index 146b53fa8f7fdbd98ca643c76d2a9e0a97357fd9..1d653cdc3f01c5bb48731af1389cfd192654f6cd 100644 (file)
@@ -244,12 +244,9 @@ static int pim_bfd_interface_dest_update(ZAPI_CALLBACK_ARGS)
                return 0;
        }
 
-       if (PIM_DEBUG_PIM_TRACE) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&p, buf, sizeof(buf));
-               zlog_debug("%s: interface %s bfd destination %s %s", __func__,
-                          ifp->name, buf, bfd_get_status_str(status));
-       }
+       if (PIM_DEBUG_PIM_TRACE)
+               zlog_debug("%s: interface %s bfd destination %pFX %s", __func__,
+                          ifp->name, &p, bfd_get_status_str(status));
 
        for (ALL_LIST_ELEMENTS(pim_ifp->pim_neighbor_list, neigh_node,
                               neigh_nextnode, neigh)) {
index f542b2eafaff0039e3cde20803578650a0f465cd..52dd60aa18a3dc8dc7362dbfe117c8a30477d79f 100644 (file)
@@ -170,7 +170,6 @@ static int pim_on_bs_timer(struct thread *t)
        struct bsgrp_node *bsgrp_node;
        struct bsm_rpinfo *bsrp;
        struct prefix nht_p;
-       char buf[PREFIX2STR_BUFFER];
        bool is_bsr_tracking = true;
 
        scope = THREAD_ARG(t);
@@ -184,11 +183,9 @@ static int pim_on_bs_timer(struct thread *t)
        nht_p.family = AF_INET;
        nht_p.prefixlen = IPV4_MAX_BITLEN;
        nht_p.u.prefix4 = scope->current_bsr;
-       if (PIM_DEBUG_BSM) {
-               prefix2str(&nht_p, buf, sizeof(buf));
-               zlog_debug("%s: Deregister BSR addr %s with Zebra NHT",
-                          __func__, buf);
-       }
+       if (PIM_DEBUG_BSM)
+               zlog_debug("%s: Deregister BSR addr %pFX with Zebra NHT",
+                          __func__, &nht_p);
        pim_delete_tracked_nexthop(scope->pim, &nht_p, NULL, NULL,
                                   is_bsr_tracking);
 
@@ -377,15 +374,12 @@ static void pim_g2rp_timer_start(struct bsm_rpinfo *bsrp, int hold_time)
                return;
        }
        THREAD_OFF(bsrp->g2rp_timer);
-       if (PIM_DEBUG_BSM) {
-               char buf[48];
-
+       if (PIM_DEBUG_BSM)
                zlog_debug(
-                       "%s : starting g2rp timer for grp: %s - rp: %s with timeout  %d secs(Actual Hold time : %d secs)",
-                       __func__, prefix2str(&bsrp->bsgrp_node->group, buf, 48),
+                       "%s : starting g2rp timer for grp: %pFX - rp: %s with timeout  %d secs(Actual Hold time : %d secs)",
+                       __func__, &bsrp->bsgrp_node->group,
                        inet_ntoa(bsrp->rp_address), hold_time,
                        bsrp->rp_holdtime);
-       }
 
        thread_add_timer(router->master, pim_on_g2rp_timer, bsrp, hold_time,
                         &bsrp->g2rp_timer);
@@ -402,14 +396,10 @@ static void pim_g2rp_timer_stop(struct bsm_rpinfo *bsrp)
        if (!bsrp)
                return;
 
-       if (PIM_DEBUG_BSM) {
-               char buf[48];
-
-               zlog_debug("%s : stopping g2rp timer for grp: %s - rp: %s",
-                          __func__,
-                          prefix2str(&bsrp->bsgrp_node->group, buf, 48),
+       if (PIM_DEBUG_BSM)
+               zlog_debug("%s : stopping g2rp timer for grp: %pFX - rp: %s",
+                          __func__, &bsrp->bsgrp_node->group,
                           inet_ntoa(bsrp->rp_address));
-       }
 
        THREAD_OFF(bsrp->g2rp_timer);
 }
@@ -616,7 +606,6 @@ static void pim_bsm_update(struct pim_instance *pim, struct in_addr bsr,
 
        if (bsr.s_addr != pim->global_scope.current_bsr.s_addr) {
                struct prefix nht_p;
-               char buf[PREFIX2STR_BUFFER];
                bool is_bsr_tracking = true;
 
                /* De-register old BSR and register new BSR with Zebra NHT */
@@ -625,23 +614,19 @@ static void pim_bsm_update(struct pim_instance *pim, struct in_addr bsr,
 
                if (pim->global_scope.current_bsr.s_addr != INADDR_ANY) {
                        nht_p.u.prefix4 = pim->global_scope.current_bsr;
-                       if (PIM_DEBUG_BSM) {
-                               prefix2str(&nht_p, buf, sizeof(buf));
+                       if (PIM_DEBUG_BSM)
                                zlog_debug(
-                                       "%s: Deregister BSR addr %s with Zebra NHT",
-                                       __func__, buf);
-                       }
+                                       "%s: Deregister BSR addr %pFX with Zebra NHT",
+                                       __func__, &nht_p);
                        pim_delete_tracked_nexthop(pim, &nht_p, NULL, NULL,
                                                   is_bsr_tracking);
                }
 
                nht_p.u.prefix4 = bsr;
-               if (PIM_DEBUG_BSM) {
-                       prefix2str(&nht_p, buf, sizeof(buf));
+               if (PIM_DEBUG_BSM)
                        zlog_debug(
-                               "%s: NHT Register BSR addr %s with Zebra NHT",
-                               __func__, buf);
-               }
+                               "%s: NHT Register BSR addr %pFX with Zebra NHT",
+                               __func__, &nht_p);
 
                memset(&pnc, 0, sizeof(struct pim_nexthop_cache));
                pim_find_or_track_nexthop(pim, &nht_p, NULL, NULL,
index 38123cc8f67f647ef8b8c3b556a91e2363e73a76..103237b0f8fc09c4b5d699fbf40b60910be97a69 100644 (file)
@@ -1164,16 +1164,13 @@ static void pim_show_interfaces_single(struct pim_instance *pim,
                                        inet_ntoa(pim_ifp->update_source));
                        }
                        if (pim_ifp->sec_addr_list) {
-                               char pbuf[PREFIX2STR_BUFFER];
                                vty_out(vty, "Address    : %s (primary)\n",
                                        inet_ntoa(ifaddr));
                                for (ALL_LIST_ELEMENTS_RO(
                                             pim_ifp->sec_addr_list, sec_node,
-                                            sec_addr)) {
-                                       vty_out(vty, "             %s\n",
-                                               prefix2str(&sec_addr->addr,
-                                                          pbuf, sizeof(pbuf)));
-                               }
+                                            sec_addr))
+                                       vty_out(vty, "             %pFX\n",
+                                               &sec_addr->addr);
                        } else {
                                vty_out(vty, "Address    : %s\n",
                                        inet_ntoa(ifaddr));
@@ -2331,16 +2328,10 @@ static void pim_show_neighbors_secondary(struct pim_instance *pim,
                                       neigh_src_str, sizeof(neigh_src_str));
 
                        for (ALL_LIST_ELEMENTS_RO(neigh->prefix_list,
-                                                 prefix_node, p)) {
-                               char neigh_sec_str[PREFIX2STR_BUFFER];
-
-                               prefix2str(p, neigh_sec_str,
-                                          sizeof(neigh_sec_str));
-
-                               vty_out(vty, "%-16s %-15s %-15s %-15s\n",
+                                                 prefix_node, p))
+                               vty_out(vty, "%-16s %-15s %-15s %-15pFX\n",
                                        ifp->name, inet_ntoa(ifaddr),
-                                       neigh_src_str, neigh_sec_str);
-                       }
+                                       neigh_src_str, p);
                }
        }
 }
@@ -3215,7 +3206,7 @@ static void pim_show_group_rp_mappings_info(struct pim_instance *pim,
                                                       json_group);
                        }
                } else {
-                       vty_out(vty, "Group Address %s\n", grp_str);
+                       vty_out(vty, "Group Address %pFX\n", &bsgrp->group);
                        vty_out(vty, "--------------------------\n");
                        vty_out(vty, "%-15s %-15s %-15s %-15s\n", "Rp Address",
                                "priority", "Holdtime", "Hash");
index 0caa360df92a7a4cc76fb70766c442b04f5f2d45..cff237f965962e5361e18edd2dd784983f684c3c 100644 (file)
@@ -518,15 +518,12 @@ void pim_if_addr_add(struct connected *ifc)
        if (!if_is_operative(ifp))
                return;
 
-       if (PIM_DEBUG_ZEBRA) {
-               char buf[BUFSIZ];
-               prefix2str(ifc->address, buf, BUFSIZ);
-               zlog_debug("%s: %s ifindex=%d connected IP address %s %s",
-                          __func__, ifp->name, ifp->ifindex, buf,
+       if (PIM_DEBUG_ZEBRA)
+               zlog_debug("%s: %s ifindex=%d connected IP address %pFX %s",
+                          __func__, ifp->name, ifp->ifindex, ifc->address,
                           CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY)
                                   ? "secondary"
                                   : "primary");
-       }
 
        ifaddr = ifc->address->u.prefix4;
 
@@ -715,15 +712,12 @@ void pim_if_addr_del(struct connected *ifc, int force_prim_as_any)
        ifp = ifc->ifp;
        zassert(ifp);
 
-       if (PIM_DEBUG_ZEBRA) {
-               char buf[BUFSIZ];
-               prefix2str(ifc->address, buf, BUFSIZ);
-               zlog_debug("%s: %s ifindex=%d disconnected IP address %s %s",
-                          __func__, ifp->name, ifp->ifindex, buf,
+       if (PIM_DEBUG_ZEBRA)
+               zlog_debug("%s: %s ifindex=%d disconnected IP address %pFX %s",
+                          __func__, ifp->name, ifp->ifindex, ifc->address,
                           CHECK_FLAG(ifc->flags, ZEBRA_IFA_SECONDARY)
                                   ? "secondary"
                                   : "primary");
-       }
 
        detect_address_change(ifp, force_prim_as_any, __func__);
 
index f06d4ae6054140029cec10b96b49935d2f83cc7c..7fc7dafed6da7f4b8c932a18d320b6ea233fa743 100644 (file)
@@ -26,6 +26,8 @@
 #include "hash.h"
 #include "jhash.h"
 
+#include "lib/printfrr.h"
+
 #include "pimd.h"
 #include "pimd/pim_nht.h"
 #include "log.h"
@@ -56,15 +58,12 @@ void pim_sendmsg_zebra_rnh(struct pim_instance *pim, struct zclient *zclient,
        if (ret < 0)
                zlog_warn("sendmsg_nexthop: zclient_send_message() failed");
 
-       if (PIM_DEBUG_PIM_NHT) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(p, buf, sizeof(buf));
+       if (PIM_DEBUG_PIM_NHT)
                zlog_debug(
-                       "%s: NHT %sregistered addr %s(%s) with Zebra ret:%d ",
+                       "%s: NHT %sregistered addr %pFX(%s) with Zebra ret:%d ",
                        __func__,
-                       (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", buf,
+                       (command == ZEBRA_NEXTHOP_REGISTER) ? " " : "de", p,
                        pim->vrf->name, ret);
-       }
 
        return;
 }
@@ -89,7 +88,6 @@ static struct pim_nexthop_cache *pim_nexthop_cache_add(struct pim_instance *pim,
 {
        struct pim_nexthop_cache *pnc;
        char hash_name[64];
-       char buf1[64];
 
        pnc = XCALLOC(MTYPE_PIM_NEXTHOP_CACHE,
                      sizeof(struct pim_nexthop_cache));
@@ -103,8 +101,8 @@ static struct pim_nexthop_cache *pim_nexthop_cache_add(struct pim_instance *pim,
        pnc->rp_list = list_new();
        pnc->rp_list->cmp = pim_rp_list_cmp;
 
-       snprintf(hash_name, sizeof(hash_name), "PNC %s(%s) Upstream Hash",
-                prefix2str(&pnc->rpf.rpf_addr, buf1, 64), pim->vrf->name);
+       snprintfrr(hash_name, sizeof(hash_name), "PNC %pFX(%s) Upstream Hash",
+                  &pnc->rpf.rpf_addr, pim->vrf->name);
        pnc->upstream_hash = hash_create_size(8192, pim_upstream_hash_key,
                                              pim_upstream_equal, hash_name);
 
@@ -140,13 +138,10 @@ int pim_find_or_track_nexthop(struct pim_instance *pim, struct prefix *addr,
                pnc = pim_nexthop_cache_add(pim, &rpf);
                pim_sendmsg_zebra_rnh(pim, zclient, pnc,
                                      ZEBRA_NEXTHOP_REGISTER);
-               if (PIM_DEBUG_PIM_NHT) {
-                       char buf[PREFIX2STR_BUFFER];
-                       prefix2str(addr, buf, sizeof(buf));
+               if (PIM_DEBUG_PIM_NHT)
                        zlog_debug(
-                               "%s: NHT cache and zebra notification added for %s(%s)",
-                               __func__, buf, pim->vrf->name);
-               }
+                               "%s: NHT cache and zebra notification added for %pFX(%s)",
+                               __func__, addr, pim->vrf->name);
        }
 
        if (rp != NULL) {
@@ -215,14 +210,11 @@ void pim_delete_tracked_nexthop(struct pim_instance *pim, struct prefix *addr,
                if (del_bsr_tracking)
                        pnc->bsr_tracking = false;
 
-               if (PIM_DEBUG_PIM_NHT) {
-                       char buf[PREFIX_STRLEN];
-                       prefix2str(addr, buf, sizeof(buf));
+               if (PIM_DEBUG_PIM_NHT)
                        zlog_debug(
-                               "%s: NHT %s(%s) rp_list count:%d upstream count:%ld",
-                               __func__, buf, pim->vrf->name,
+                               "%s: NHT %pFX(%s) rp_list count:%d upstream count:%ld",
+                               __func__, addr, pim->vrf->name,
                                pnc->rp_list->count, pnc->upstream_hash->count);
-               }
 
                if (pnc->rp_list->count == 0
                    && pnc->upstream_hash->count == 0
@@ -744,13 +736,10 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
                prefix_copy(&rpf.rpf_addr, &nhr.prefix);
                pnc = pim_nexthop_cache_find(pim, &rpf);
                if (!pnc) {
-                       if (PIM_DEBUG_PIM_NHT) {
-                               char buf[PREFIX2STR_BUFFER];
-                               prefix2str(&rpf.rpf_addr, buf, sizeof(buf));
+                       if (PIM_DEBUG_PIM_NHT)
                                zlog_debug(
-                                       "%s: Skipping NHT update, addr %s is not in local cached DB.",
-                                       __func__, buf);
-                       }
+                                       "%s: Skipping NHT update, addr %pFX is not in local cached DB.",
+                                       __func__, &rpf.rpf_addr);
                        return 0;
                }
        } else {
@@ -819,17 +808,13 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
                                continue;
                        }
 
-                       if (PIM_DEBUG_PIM_NHT) {
-                               char p_str[PREFIX2STR_BUFFER];
-
-                               prefix2str(&nhr.prefix, p_str, sizeof(p_str));
+                       if (PIM_DEBUG_PIM_NHT)
                                zlog_debug(
-                                       "%s: NHT addr %s(%s) %d-nhop via %s(%s) type %d distance:%u metric:%u ",
-                                       __func__, p_str, pim->vrf->name, i + 1,
-                                       inet_ntoa(nexthop->gate.ipv4),
+                                       "%s: NHT addr %pFX(%s) %d-nhop via %s(%s) type %d distance:%u metric:%u ",
+                                       __func__, &nhr.prefix, pim->vrf->name,
+                                       i + 1, inet_ntoa(nexthop->gate.ipv4),
                                        ifp->name, nexthop->type, nhr.distance,
                                        nhr.metric);
-                       }
 
                        if (!ifp->info) {
                                /*
@@ -879,15 +864,12 @@ int pim_parse_nexthop_update(ZAPI_CALLBACK_ARGS)
        }
        SET_FLAG(pnc->flags, PIM_NEXTHOP_ANSWER_RECEIVED);
 
-       if (PIM_DEBUG_PIM_NHT) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&nhr.prefix, buf, sizeof(buf));
+       if (PIM_DEBUG_PIM_NHT)
                zlog_debug(
-                       "%s: NHT Update for %s(%s) num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
-                       __func__, buf, pim->vrf->name, nhr.nexthop_num,
+                       "%s: NHT Update for %pFX(%s) num_nh %d num_pim_nh %d vrf:%u up %ld rp %d",
+                       __func__, &nhr.prefix, pim->vrf->name, nhr.nexthop_num,
                        pnc->nexthop_num, vrf_id, pnc->upstream_hash->count,
                        listcount(pnc->rp_list));
-       }
 
        pim_rpf_set_refresh_time(pim);
 
index 11e6d47fc9cad3c493027ecfd39ccd5e6c00dab5..0ec8e45edb01ff4cb28b05e21c3279e9ce9b4f2c 100644 (file)
@@ -248,14 +248,10 @@ struct rp_info *pim_rp_find_match_group(struct pim_instance *pim,
        }
 
        rp_info = rn->info;
-       if (PIM_DEBUG_PIM_TRACE) {
-               char buf[PREFIX_STRLEN];
-
-               zlog_debug("Lookedup: %p for rp_info: %p(%s) Lock: %d", rn,
-                          rp_info,
-                          prefix2str(&rp_info->group, buf, sizeof(buf)),
+       if (PIM_DEBUG_PIM_TRACE)
+               zlog_debug("Lookedup: %p for rp_info: %p(%pFX) Lock: %d", rn,
+                          rp_info, &rp_info->group,
                           route_node_get_lock_count(rn));
-       }
 
        route_unlock_node(rn);
 
@@ -370,14 +366,10 @@ void pim_upstream_update(struct pim_instance *pim, struct pim_upstream *up)
                nht_p.family = AF_INET;
                nht_p.prefixlen = IPV4_MAX_BITLEN;
                nht_p.u.prefix4 = old_upstream_addr;
-               if (PIM_DEBUG_PIM_TRACE) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&nht_p, buf, sizeof(buf));
+               if (PIM_DEBUG_PIM_TRACE)
                        zlog_debug(
-                               "%s: Deregister upstream %s addr %s with Zebra NHT",
-                               __func__, up->sg_str, buf);
-               }
+                               "%s: Deregister upstream %s addr %pFX with Zebra NHT",
+                               __func__, up->sg_str, &nht_p);
                pim_delete_tracked_nexthop(pim, &nht_p, up, NULL, false);
        }
 
@@ -547,15 +539,10 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
                        nht_p.prefixlen = IPV4_MAX_BITLEN;
                        nht_p.u.prefix4 =
                                rp_all->rp.rpf_addr.u.prefix4; // RP address
-                       if (PIM_DEBUG_PIM_NHT_RP) {
-                               char buf[PREFIX2STR_BUFFER];
-                               char buf1[PREFIX2STR_BUFFER];
-                               prefix2str(&nht_p, buf, sizeof(buf));
-                               prefix2str(&rp_all->group, buf1, sizeof(buf1));
+                       if (PIM_DEBUG_PIM_NHT_RP)
                                zlog_debug(
-                                       "%s: NHT Register rp_all addr %s grp %s ",
-                                       __func__, buf, buf1);
-                       }
+                                       "%s: NHT Register rp_all addr %pFX grp %pFX ",
+                                       __func__, &nht_p, &rp_all->group);
 
                        frr_each (rb_pim_upstream, &pim->upstream_head, up) {
                                /* Find (*, G) upstream whose RP is not
@@ -643,14 +630,10 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
        rn = route_node_get(pim->rp_table, &rp_info->group);
        rn->info = rp_info;
 
-       if (PIM_DEBUG_PIM_TRACE) {
-               char buf[PREFIX_STRLEN];
-
-               zlog_debug("Allocated: %p for rp_info: %p(%s) Lock: %d", rn,
-                          rp_info,
-                          prefix2str(&rp_info->group, buf, sizeof(buf)),
+       if (PIM_DEBUG_PIM_TRACE)
+               zlog_debug("Allocated: %p for rp_info: %p(%pFX) Lock: %d", rn,
+                          rp_info, &rp_info->group,
                           route_node_get_lock_count(rn));
-       }
 
        frr_each (rb_pim_upstream, &pim->upstream_head, up) {
                if (up->sg.src.s_addr == INADDR_ANY) {
@@ -674,14 +657,9 @@ int pim_rp_new(struct pim_instance *pim, struct in_addr rp_addr,
        nht_p.family = AF_INET;
        nht_p.prefixlen = IPV4_MAX_BITLEN;
        nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
-       if (PIM_DEBUG_PIM_NHT_RP) {
-               char buf[PREFIX2STR_BUFFER];
-               char buf1[PREFIX2STR_BUFFER];
-               prefix2str(&nht_p, buf, sizeof(buf));
-               prefix2str(&rp_info->group, buf1, sizeof(buf1));
-               zlog_debug("%s: NHT Register RP addr %s grp %s with Zebra ",
-                          __func__, buf, buf1);
-       }
+       if (PIM_DEBUG_PIM_NHT_RP)
+               zlog_debug("%s: NHT Register RP addr %pFX grp %pFX with Zebra ",
+                          __func__, &nht_p, &rp_info->group);
        pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false, NULL);
        if (!pim_ecmp_nexthop_lookup(pim, &rp_info->rp.source_nexthop, &nht_p,
                                     &rp_info->group, 1))
@@ -727,12 +705,10 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
        struct pim_upstream *up;
        struct bsgrp_node *bsgrp = NULL;
        struct bsm_rpinfo *bsrp = NULL;
-       char grp_str[PREFIX2STR_BUFFER];
        char rp_str[INET_ADDRSTRLEN];
 
        if (!inet_ntop(AF_INET, &rp_addr, rp_str, sizeof(rp_str)))
                snprintf(rp_str, sizeof(rp_str), "<rp?>");
-       prefix2str(&group, grp_str, sizeof(grp_str));
 
        if (plist)
                rp_info = pim_rp_find_prefix_list(pim, rp_addr, plist);
@@ -748,8 +724,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
        }
 
        if (PIM_DEBUG_PIM_TRACE)
-               zlog_debug("%s: Delete RP %s for the group %s", __func__,
-                          rp_str, grp_str);
+               zlog_debug("%s: Delete RP %s for the group %pFX", __func__,
+                          rp_str, &group);
 
        /* While static RP is getting deleted, we need to check if dynamic RP
         * present for the same group in BSM RP table, then install the dynamic
@@ -771,8 +747,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
                                                         "<bsrp?>");
 
                                        zlog_debug(
-                                               "%s: BSM RP %s found for the group %s",
-                                               __func__, bsrp_str, grp_str);
+                                               "%s: BSM RP %s found for the group %pFX",
+                                               __func__, bsrp_str, &group);
                                }
                                return pim_rp_change(pim, bsrp->rp_address,
                                                     group, RP_SRC_BSR);
@@ -780,8 +756,8 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
                } else {
                        if (PIM_DEBUG_PIM_TRACE)
                                zlog_debug(
-                                       "%s: BSM RP not found for the group %s",
-                                       __func__, grp_str);
+                                       "%s: BSM RP not found for the group %pFX",
+                                       __func__, &group);
                }
        }
 
@@ -789,12 +765,9 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
        nht_p.family = AF_INET;
        nht_p.prefixlen = IPV4_MAX_BITLEN;
        nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
-       if (PIM_DEBUG_PIM_NHT_RP) {
-               char buf[PREFIX2STR_BUFFER];
-               prefix2str(&nht_p, buf, sizeof(buf));
-               zlog_debug("%s: Deregister RP addr %s with Zebra ", __func__,
-                          buf);
-       }
+       if (PIM_DEBUG_PIM_NHT_RP)
+               zlog_debug("%s: Deregister RP addr %pFX with Zebra ", __func__,
+                          &nht_p);
        pim_delete_tracked_nexthop(pim, &nht_p, NULL, rp_info, false);
 
        if (!str2prefix("224.0.0.0/4", &g_all))
@@ -837,16 +810,12 @@ int pim_rp_del(struct pim_instance *pim, struct in_addr rp_addr,
                                        EC_LIB_DEVELOPMENT,
                                        "Expected rn->info to be equal to rp_info");
 
-                       if (PIM_DEBUG_PIM_TRACE) {
-                               char buf[PREFIX_STRLEN];
-
+                       if (PIM_DEBUG_PIM_TRACE)
                                zlog_debug(
-                                       "%s:Found for Freeing: %p for rp_info: %p(%s) Lock: %d",
-                                       __func__, rn, rp_info,
-                                       prefix2str(&rp_info->group, buf,
-                                                  sizeof(buf)),
+                                       "%s:Found for Freeing: %p for rp_info: %p(%pFX) Lock: %d",
+                                       __func__, rn, rp_info, &rp_info->group,
                                        route_node_get_lock_count(rn));
-                       }
+
                        rn->info = NULL;
                        route_unlock_node(rn);
                        route_unlock_node(rn);
@@ -925,13 +894,9 @@ int pim_rp_change(struct pim_instance *pim, struct in_addr new_rp_addr,
        /* Deregister old RP addr with Zebra NHT */
        if (rp_info->rp.rpf_addr.u.prefix4.s_addr != INADDR_ANY) {
                nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
-               if (PIM_DEBUG_PIM_NHT_RP) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(&nht_p, buf, sizeof(buf));
-                       zlog_debug("%s: Deregister RP addr %s with Zebra ",
-                                  __func__, buf);
-               }
+               if (PIM_DEBUG_PIM_NHT_RP)
+                       zlog_debug("%s: Deregister RP addr %pFX with Zebra ",
+                                  __func__, &nht_p);
                pim_delete_tracked_nexthop(pim, &nht_p, NULL, rp_info, false);
        }
 
@@ -961,15 +926,9 @@ int pim_rp_change(struct pim_instance *pim, struct in_addr new_rp_addr,
 
        /* Register new RP addr with Zebra NHT */
        nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
-       if (PIM_DEBUG_PIM_NHT_RP) {
-               char buf[PREFIX2STR_BUFFER];
-               char buf1[PREFIX2STR_BUFFER];
-
-               prefix2str(&nht_p, buf, sizeof(buf));
-               prefix2str(&rp_info->group, buf1, sizeof(buf1));
-               zlog_debug("%s: NHT Register RP addr %s grp %s with Zebra ",
-                          __func__, buf, buf1);
-       }
+       if (PIM_DEBUG_PIM_NHT_RP)
+               zlog_debug("%s: NHT Register RP addr %pFX grp %pFX with Zebra ",
+                          __func__, &nht_p, &rp_info->group);
 
        pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false, NULL);
        if (!pim_ecmp_nexthop_lookup(pim, &rp_info->rp.source_nexthop, &nht_p,
@@ -1145,15 +1104,10 @@ struct pim_rpf *pim_rp_g(struct pim_instance *pim, struct in_addr group)
                nht_p.family = AF_INET;
                nht_p.prefixlen = IPV4_MAX_BITLEN;
                nht_p.u.prefix4 = rp_info->rp.rpf_addr.u.prefix4;
-               if (PIM_DEBUG_PIM_NHT_RP) {
-                       char buf[PREFIX2STR_BUFFER];
-                       char buf1[PREFIX2STR_BUFFER];
-                       prefix2str(&nht_p, buf, sizeof(buf));
-                       prefix2str(&rp_info->group, buf1, sizeof(buf1));
+               if (PIM_DEBUG_PIM_NHT_RP)
                        zlog_debug(
-                               "%s: NHT Register RP addr %s grp %s with Zebra",
-                               __func__, buf, buf1);
-               }
+                               "%s: NHT Register RP addr %pFX grp %pFX with Zebra",
+                               __func__, &nht_p, &rp_info->group);
                pim_find_or_track_nexthop(pim, &nht_p, NULL, rp_info, false,
                                          NULL);
                pim_rpf_set_refresh_time(pim);
@@ -1208,7 +1162,6 @@ int pim_rp_config_write(struct pim_instance *pim, struct vty *vty,
        struct listnode *node;
        struct rp_info *rp_info;
        char rp_buffer[32];
-       char group_buffer[32];
        int count = 0;
 
        for (ALL_LIST_ELEMENTS_RO(pim->rp_list, node, rp_info)) {
@@ -1225,11 +1178,11 @@ int pim_rp_config_write(struct pim_instance *pim, struct vty *vty,
                                          rp_buffer, 32),
                                rp_info->plist);
                else
-                       vty_out(vty, "%sip pim rp %s %s\n", spaces,
+                       vty_out(vty, "%sip pim rp %s %pFX\n", spaces,
                                inet_ntop(AF_INET,
                                          &rp_info->rp.rpf_addr.u.prefix4,
                                          rp_buffer, 32),
-                               prefix2str(&rp_info->group, group_buffer, 32));
+                               &rp_info->group);
                count++;
        }
 
@@ -1335,9 +1288,8 @@ void pim_rp_show_information(struct pim_instance *pim, struct vty *vty, bool uj)
                                if (rp_info->plist)
                                        vty_out(vty, "%-18s  ", rp_info->plist);
                                else
-                                       vty_out(vty, "%-18s  ",
-                                               prefix2str(&rp_info->group, buf,
-                                                          48));
+                                       vty_out(vty, "%-18pFX  ",
+                                               &rp_info->group);
 
                                if (rp_info->rp.source_nexthop.interface)
                                        vty_out(vty, "%-16s  ",
index d3fb0d46de9652a997f17bd56d45c9920dc1e3c3..312a7069df49021bfa7adbba8e46b44a05b3d378 100644 (file)
@@ -267,13 +267,10 @@ struct pim_upstream *pim_upstream_del(struct pim_instance *pim,
                nht_p.family = AF_INET;
                nht_p.prefixlen = IPV4_MAX_BITLEN;
                nht_p.u.prefix4 = up->upstream_addr;
-               if (PIM_DEBUG_PIM_TRACE) {
-                       char buf[PREFIX2STR_BUFFER];
-                       prefix2str(&nht_p, buf, sizeof(buf));
+               if (PIM_DEBUG_PIM_TRACE)
                        zlog_debug(
-                               "%s: Deregister upstream %s addr %s with Zebra NHT",
-                               __func__, up->sg_str, buf);
-               }
+                               "%s: Deregister upstream %s addr %pFX with Zebra NHT",
+                               __func__, up->sg_str, &nht_p);
                pim_delete_tracked_nexthop(pim, &nht_p, up, NULL, false);
        }
 
@@ -1062,15 +1059,13 @@ struct pim_upstream *pim_upstream_add(struct pim_instance *pim,
        }
 
        if (PIM_DEBUG_PIM_TRACE) {
-               if (up) {
-                       char buf[PREFIX2STR_BUFFER];
-                       prefix2str(&up->rpf.rpf_addr, buf, sizeof(buf));
-                       zlog_debug("%s(%s): %s, iif %s (%s) found: %d: ref_count: %d",
+               if (up)
+                       zlog_debug("%s(%s): %s, iif %pFX (%s) found: %d: ref_count: %d",
                   __func__, name,
-                  up->sg_str, buf, up->rpf.source_nexthop.interface ?
+                  up->sg_str, &up->rpf.rpf_addr, up->rpf.source_nexthop.interface ?
                    up->rpf.source_nexthop.interface->name : "Unknown" ,
                   found, up->ref_count);
-               else
+               else
                        zlog_debug("%s(%s): (%s) failure to create", __func__,
                                   name, pim_str_sg_dump(sg));
        }
index d089dfda51cd702f4f25f21a62e408b868b1e6fa..52bfab9a335e8ee44f372311dc3c2131663f0ae0 100644 (file)
@@ -130,10 +130,8 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
        p = c->address;
 
        if (PIM_DEBUG_ZEBRA) {
-               char buf[BUFSIZ];
-               prefix2str(p, buf, BUFSIZ);
-               zlog_debug("%s: %s(%u) connected IP address %s flags %u %s",
-                          __func__, c->ifp->name, vrf_id, buf, c->flags,
+               zlog_debug("%s: %s(%u) connected IP address %pFX flags %u %s",
+                          __func__, c->ifp->name, vrf_id, p, c->flags,
                           CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
                                   ? "secondary"
                                   : "primary");
@@ -149,17 +147,10 @@ static int pim_zebra_if_address_add(ZAPI_CALLBACK_ARGS)
                struct in_addr primary_addr = pim_find_primary_addr(c->ifp);
                if (p->family != AF_INET
                    || primary_addr.s_addr != p->u.prefix4.s_addr) {
-                       if (PIM_DEBUG_ZEBRA) {
-                               /* but we had a primary address already */
-
-                               char buf[BUFSIZ];
-
-                               prefix2str(p, buf, BUFSIZ);
-
+                       if (PIM_DEBUG_ZEBRA)
                                zlog_warn(
-                                       "%s: %s : forcing secondary flag on %s",
-                                       __func__, c->ifp->name, buf);
-                       }
+                                       "%s: %s : forcing secondary flag on %pFX",
+                                       __func__, c->ifp->name, p);
                        SET_FLAG(c->flags, ZEBRA_IFA_SECONDARY);
                }
        }
@@ -211,11 +202,9 @@ static int pim_zebra_if_address_del(ZAPI_CALLBACK_ARGS)
        p = c->address;
        if (p->family == AF_INET) {
                if (PIM_DEBUG_ZEBRA) {
-                       char buf[BUFSIZ];
-                       prefix2str(p, buf, BUFSIZ);
                        zlog_debug(
-                               "%s: %s(%u) disconnected IP address %s flags %u %s",
-                               __func__, c->ifp->name, vrf_id, buf, c->flags,
+                               "%s: %s(%u) disconnected IP address %pFX flags %u %s",
+                               __func__, c->ifp->name, vrf_id, p, c->flags,
                                CHECK_FLAG(c->flags, ZEBRA_IFA_SECONDARY)
                                        ? "secondary"
                                        : "primary");
index 077e2b29eb4ac39c3e3fd389a766fdbf572c6692..bed0ebfa27cd1fe66b6fb29912b5d13736738365 100644 (file)
@@ -60,14 +60,9 @@ void sharp_nh_tracker_dump(struct vty *vty)
        struct listnode *node;
        struct sharp_nh_tracker *nht;
 
-       for (ALL_LIST_ELEMENTS_RO(sg.nhs, node, nht)) {
-               char buf[PREFIX_STRLEN];
-
-               vty_out(vty, "%s: Nexthops: %u Updates: %u\n",
-                       prefix2str(&nht->p, buf, sizeof(buf)),
-                       nht->nhop_num,
-                       nht->updates);
-       }
+       for (ALL_LIST_ELEMENTS_RO(sg.nhs, node, nht))
+               vty_out(vty, "%pFX: Nexthops: %u Updates: %u\n", &nht->p,
+                       nht->nhop_num, nht->updates);
 }
 
 PREDECL_RBTREE_UNIQ(sharp_nhg_rb);
index 0c3bf7af78f3e105efca5131dff13fa1fd24a4a0..45c0799fa77700a606611efd3c0dafeeb2797831 100644 (file)
@@ -146,16 +146,12 @@ DEFPY (install_routes_data_dump,
        "Data about what is going on\n"
        "Route Install/Removal Information\n")
 {
-       char buf[PREFIX_STRLEN];
        struct timeval r;
 
        timersub(&sg.r.t_end, &sg.r.t_start, &r);
-       vty_out(vty, "Prefix: %s Total: %u %u %u Time: %jd.%ld\n",
-               prefix2str(&sg.r.orig_prefix, buf, sizeof(buf)),
-               sg.r.total_routes,
-               sg.r.installed_routes,
-               sg.r.removed_routes,
-               (intmax_t)r.tv_sec, (long)r.tv_usec);
+       vty_out(vty, "Prefix: %pFX Total: %u %u %u Time: %jd.%ld\n",
+               &sg.r.orig_prefix, sg.r.total_routes, sg.r.installed_routes,
+               sg.r.removed_routes, (intmax_t)r.tv_sec, (long)r.tv_usec);
 
        return CMD_SUCCESS;
 }
index efde3babd1957429a4c201fd6c24be69cf93a3f3..a9b570de8360c70ab1b6e4d5cb74cb8045cf528b 100644 (file)
@@ -109,24 +109,21 @@ static int route_notify_owner(ZAPI_CALLBACK_ARGS)
        struct prefix p;
        enum zapi_route_notify_owner note;
        uint32_t table_id;
-       char buf[PREFIX_STRLEN];
 
        if (!zapi_route_notify_decode(zclient->ibuf, &p, &table_id, &note))
                return -1;
 
-       prefix2str(&p, buf, sizeof(buf));
-
        switch (note) {
        case ZAPI_ROUTE_FAIL_INSTALL:
                static_nht_mark_state(&p, vrf_id, STATIC_NOT_INSTALLED);
-               zlog_warn("%s: Route %s failed to install for table: %u",
-                         __func__, buf, table_id);
+               zlog_warn("%s: Route %pFX failed to install for table: %u",
+                         __func__, &p, table_id);
                break;
        case ZAPI_ROUTE_BETTER_ADMIN_WON:
                static_nht_mark_state(&p, vrf_id, STATIC_NOT_INSTALLED);
                zlog_warn(
-                       "%s: Route %s over-ridden by better route for table: %u",
-                       __func__, buf, table_id);
+                       "%s: Route %pFX over-ridden by better route for table: %u",
+                       __func__, &p, table_id);
                break;
        case ZAPI_ROUTE_INSTALLED:
                static_nht_mark_state(&p, vrf_id, STATIC_INSTALLED);
@@ -136,8 +133,8 @@ static int route_notify_owner(ZAPI_CALLBACK_ARGS)
                break;
        case ZAPI_ROUTE_REMOVE_FAIL:
                static_nht_mark_state(&p, vrf_id, STATIC_INSTALLED);
-               zlog_warn("%s: Route %s failure to remove for table: %u",
-                         __func__, buf, table_id);
+               zlog_warn("%s: Route %pFX failure to remove for table: %u",
+                         __func__, &p, table_id);
                break;
        }
 
index 4eb132df55903fa548fdc79601486785227b05e8..e899e5b359e166eeedaa398f5ae36db0af1fd343 100644 (file)
@@ -109,10 +109,7 @@ static void check_lookup_result(struct bgp_dest *match, va_list arglist)
 
                if (bgp_dest_has_bgp_path_info_data(dest)
                    && !prefix_in_array(dest_p, prefixes, prefix_count)) {
-                       char buf[PREFIX2STR_BUFFER];
-
-                       prefix2str(dest_p, buf, PREFIX2STR_BUFFER);
-                       printf("prefix %s was not expected!\n", buf);
+                       printf("prefix %pFX was not expected!\n", dest_p);
                        assert(0);
                }
        }
index 8f062d8b5efdf916f3ae90160641bfc692f165d3..8dba1e29f08ba1c922b3b500073f44a6f5fa2618 100644 (file)
@@ -47,12 +47,10 @@ DEFPY(magic_test, magic_test_cmd,
        "magic (0-100) {ipv4net A.B.C.D/M|X:X::X:X$ipv6}",
        "1\n2\n3\n4\n5\n")
 {
-       char buf[256];
        vty_out(vty, "def: %s\n", self->string);
        vty_out(vty, "num: %ld\n", magic);
-       vty_out(vty, "ipv4: %s\n", prefix2str(ipv4net, buf, sizeof(buf)));
-       vty_out(vty, "ipv6: %s\n",
-               inet_ntop(AF_INET6, &ipv6, buf, sizeof(buf)));
+       vty_out(vty, "ipv4: %pFX\n", ipv4net);
+       vty_out(vty, "ipv6: %pI6\n", &ipv6);
        return CMD_SUCCESS;
 }
 
index 90d6c76bf1c26a9f7c3402a759a6eb89b37e2988..290657bd562ea186540a4cce9e5a38eeb9099c59 100644 (file)
@@ -104,7 +104,6 @@ static void add_nodes(struct route_table *table, ...)
 static void print_subtree(struct route_node *rn, const char *legend,
                          int indent_level)
 {
-       char buf[PREFIX2STR_BUFFER];
        int i;
 
        /*
@@ -114,8 +113,7 @@ static void print_subtree(struct route_node *rn, const char *legend,
                printf("  ");
        }
 
-       prefix2str(&rn->p, buf, sizeof(buf));
-       printf("%s: %s", legend, buf);
+       printf("%s: %pFX", legend, &rn->p);
        if (!rn->info) {
                printf(" (internal)");
        }
index 8c4ba163bdfb475cfeb0b33afd7bb8d67ea7a7d8..cd42b5b250599797757e38d02120aa2753294455 100644 (file)
@@ -259,14 +259,10 @@ void connected_up(struct interface *ifp, struct connected *ifc)
 
        /* Schedule LSP forwarding entries for processing, if appropriate. */
        if (zvrf->vrf->vrf_id == VRF_DEFAULT) {
-               if (IS_ZEBRA_DEBUG_MPLS) {
-                       char buf[PREFIX_STRLEN];
-
+               if (IS_ZEBRA_DEBUG_MPLS)
                        zlog_debug(
-                               "%u: IF %s IP %s address add/up, scheduling MPLS processing",
-                               zvrf->vrf->vrf_id, ifp->name,
-                               prefix2str(&p, buf, sizeof(buf)));
-               }
+                               "%u: IF %s IP %pFX address add/up, scheduling MPLS processing",
+                               zvrf->vrf->vrf_id, ifp->name, &p);
                mpls_mark_lsps_for_processing(zvrf, &p);
        }
 }
@@ -400,14 +396,10 @@ void connected_down(struct interface *ifp, struct connected *ifc)
 
        /* Schedule LSP forwarding entries for processing, if appropriate. */
        if (zvrf->vrf->vrf_id == VRF_DEFAULT) {
-               if (IS_ZEBRA_DEBUG_MPLS) {
-                       char buf[PREFIX_STRLEN];
-
+               if (IS_ZEBRA_DEBUG_MPLS)
                        zlog_debug(
-                               "%u: IF %s IP %s address down, scheduling MPLS processing",
-                               zvrf->vrf->vrf_id, ifp->name,
-                               prefix2str(&p, buf, sizeof(buf)));
-               }
+                               "%u: IF %s IP %pFX address down, scheduling MPLS processing",
+                               zvrf->vrf->vrf_id, ifp->name, &p);
                mpls_mark_lsps_for_processing(zvrf, &p);
        }
 }
@@ -424,14 +416,10 @@ static void connected_delete_helper(struct connected *ifc, struct prefix *p)
 
        /* Schedule LSP forwarding entries for processing, if appropriate. */
        if (ifp->vrf_id == VRF_DEFAULT) {
-               if (IS_ZEBRA_DEBUG_MPLS) {
-                       char buf[PREFIX_STRLEN];
-
+               if (IS_ZEBRA_DEBUG_MPLS)
                        zlog_debug(
-                               "%u: IF %s IP %s address delete, scheduling MPLS processing",
-                               ifp->vrf_id, ifp->name,
-                               prefix2str(p, buf, sizeof(buf)));
-               }
+                               "%u: IF %s IP %pFX address delete, scheduling MPLS processing",
+                               ifp->vrf_id, ifp->name, p);
                mpls_mark_lsps_for_processing(vrf_info_lookup(ifp->vrf_id), p);
        }
 }
index 321085580155db88f52777bd2d15a4c6b96c3ef0..0652d3a2ba9d58bc42ee822d6276f6a3c52f8ca2 100644 (file)
@@ -1296,8 +1296,6 @@ static void ifs_dump_brief_vty(struct vty *vty, struct vrf *vrf)
        bool print_header = true;
 
        FOR_ALL_INTERFACES (vrf, ifp) {
-               char global_pfx[PREFIX_STRLEN] = {0};
-               char buf[PREFIX_STRLEN] = {0};
                bool first_pfx_printed = false;
 
                if (print_header) {
@@ -1329,17 +1327,17 @@ static void ifs_dump_brief_vty(struct vty *vty, struct vrf *vrf)
                                if (!CHECK_FLAG(connected->flags,
                                                ZEBRA_IFA_SECONDARY)) {
                                        p = connected->address;
-                                       prefix2str(p, buf, sizeof(buf));
                                        if (first_pfx_printed) {
-                                               /* padding to prepare row only for ip addr */
+                                               /* padding to prepare row only
+                                                * for ip addr */
                                                vty_out(vty, "%-40s", "");
                                                if (list_size > 1)
                                                        vty_out(vty, "+ ");
-                                               vty_out(vty, "%s\n", buf);
+                                               vty_out(vty, "%pFX\n", p);
                                        } else {
                                                if (list_size > 1)
                                                        vty_out(vty, "+ ");
-                                               vty_out(vty, "%s\n", buf);
+                                               vty_out(vty, "%pFX\n", p);
                                        }
                                        first_pfx_printed = true;
                                        break;
@@ -1361,17 +1359,17 @@ static void ifs_dump_brief_vty(struct vty *vty, struct vrf *vrf)
                                p = connected->address;
                                /* Don't print link local pfx */
                                if (!IN6_IS_ADDR_LINKLOCAL(&p->u.prefix6)) {
-                                       prefix2str(p, global_pfx, PREFIX_STRLEN);
                                        if (first_pfx_printed) {
-                                               /* padding to prepare row only for ip addr */
+                                               /* padding to prepare row only
+                                                * for ip addr */
                                                vty_out(vty, "%-40s", "");
                                                if (v6_list_size > 1)
                                                        vty_out(vty, "+ ");
-                                               vty_out(vty, "%s\n", global_pfx);
+                                               vty_out(vty, "%pFX\n", p);
                                        } else {
                                                if (v6_list_size > 1)
                                                        vty_out(vty, "+ ");
-                                               vty_out(vty, "%s\n", global_pfx);
+                                               vty_out(vty, "%pFX\n", p);
                                        }
                                        first_pfx_printed = true;
                                        break;
index b868d23a94249efa566d197715fc6689ea8aebd4..710a32c45289a1bf1700cf3131c822d08b75d975 100644 (file)
@@ -175,7 +175,6 @@ static void irdp_send(struct interface *ifp, struct prefix *p, struct stream *s)
 {
        struct zebra_if *zi = ifp->info;
        struct irdp_interface *irdp = zi->irdp;
-       char buf[PREFIX_STRLEN];
        uint32_t dst;
        uint32_t ttl = 1;
 
@@ -190,10 +189,11 @@ static void irdp_send(struct interface *ifp, struct prefix *p, struct stream *s)
                dst = htonl(INADDR_ALLHOSTS_GROUP);
 
        if (irdp->flags & IF_DEBUG_MESSAGES)
-               zlog_debug("IRDP: TX Advert on %s %s Holdtime=%d Preference=%d",
-                          ifp->name, prefix2str(p, buf, sizeof(buf)),
-                          irdp->flags & IF_SHUTDOWN ? 0 : irdp->Lifetime,
-                          get_pref(irdp, p));
+               zlog_debug(
+                       "IRDP: TX Advert on %s %pFX Holdtime=%d Preference=%d",
+                       ifp->name, p,
+                       irdp->flags & IF_SHUTDOWN ? 0 : irdp->Lifetime,
+                       get_pref(irdp, p));
 
        send_packet(ifp, s, dst, p, ttl);
 }
index c0f89e6afeb721a91776e3fde3611416380fbc72..1f075cfb4b59ff2db045abd229e433bbe9172844 100644 (file)
@@ -119,18 +119,17 @@ static void zebra_redistribute(struct zserv *client, int type,
        for (rn = route_top(table); rn; rn = srcdest_route_next(rn))
                RNODE_FOREACH_RE (rn, newre) {
                        const struct prefix *dst_p, *src_p;
-                       char buf[PREFIX_STRLEN];
 
                        srcdest_rnode_prefixes(rn, &dst_p, &src_p);
 
                        if (IS_ZEBRA_DEBUG_RIB)
                                zlog_debug(
-                                       "%s: client %s %s(%u) checking: selected=%d, type=%d, distance=%d, metric=%d zebra_check_addr=%d",
+                                       "%s: client %s %pFX(%u) checking: selected=%d, type=%d, distance=%d, metric=%d zebra_check_addr=%d",
                                        __func__,
                                        zebra_route_string(client->proto),
-                                       prefix2str(dst_p, buf, sizeof(buf)),
-                                       vrf_id, CHECK_FLAG(newre->flags,
-                                                          ZEBRA_FLAG_SELECTED),
+                                       dst_p, vrf_id,
+                                       CHECK_FLAG(newre->flags,
+                                                  ZEBRA_FLAG_SELECTED),
                                        newre->type, newre->distance,
                                        newre->metric, zebra_check_addr(dst_p));
 
@@ -196,15 +195,13 @@ void redistribute_update(const struct prefix *p, const struct prefix *src_p,
        struct listnode *node, *nnode;
        struct zserv *client;
        int afi;
-       char buf[PREFIX_STRLEN];
 
-       if (IS_ZEBRA_DEBUG_RIB) {
+       if (IS_ZEBRA_DEBUG_RIB)
                zlog_debug(
-                       "(%u:%u):%s: Redist update re %p (%s), old %p (%s)",
-                       re->vrf_id, re->table, prefix2str(p, buf, sizeof(buf)),
-                       re, zebra_route_string(re->type), prev_re,
+                       "(%u:%u):%pFX: Redist update re %p (%s), old %p (%s)",
+                       re->vrf_id, re->table, p, re,
+                       zebra_route_string(re->type), prev_re,
                        prev_re ? zebra_route_string(prev_re->type) : "None");
-       }
 
        afi = family2afi(p->family);
        if (!afi) {
@@ -214,8 +211,7 @@ void redistribute_update(const struct prefix *p, const struct prefix *src_p,
        }
        if (!zebra_check_addr(p)) {
                if (IS_ZEBRA_DEBUG_RIB)
-                       zlog_debug("Redist update filter prefix %s",
-                                  prefix2str(p, buf, sizeof(buf)));
+                       zlog_debug("Redist update filter prefix %pFX", p);
                return;
        }
 
@@ -224,10 +220,9 @@ void redistribute_update(const struct prefix *p, const struct prefix *src_p,
                if (zebra_redistribute_check(re, client, p, afi)) {
                        if (IS_ZEBRA_DEBUG_RIB) {
                                zlog_debug(
-                                       "%s: client %s %s(%u:%u), type=%d, distance=%d, metric=%d",
+                                       "%s: client %s %pFX(%u:%u), type=%d, distance=%d, metric=%d",
                                        __func__,
-                                       zebra_route_string(client->proto),
-                                       prefix2str(p, buf, sizeof(buf)),
+                                       zebra_route_string(client->proto), p,
                                        re->vrf_id, re->table, re->type,
                                        re->distance, re->metric);
                        }
@@ -254,7 +249,6 @@ void redistribute_delete(const struct prefix *p, const struct prefix *src_p,
        struct listnode *node, *nnode;
        struct zserv *client;
        int afi;
-       char buf[PREFIX_STRLEN];
        vrf_id_t vrfid;
 
        if (old_re)
@@ -265,13 +259,11 @@ void redistribute_delete(const struct prefix *p, const struct prefix *src_p,
                return;
 
        if (IS_ZEBRA_DEBUG_RIB) {
-               zlog_debug(
-                       "%u:%s: Redist del: re %p (%s), new re %p (%s)",
-                       vrfid, prefix2str(p, buf, sizeof(buf)),
-                       old_re,
-                       old_re ? zebra_route_string(old_re->type) : "None",
-                       new_re,
-                       new_re ? zebra_route_string(new_re->type) : "None");
+               zlog_debug("%u:%pFX: Redist del: re %p (%s), new re %p (%s)",
+                          vrfid, p, old_re,
+                          old_re ? zebra_route_string(old_re->type) : "None",
+                          new_re,
+                          new_re ? zebra_route_string(new_re->type) : "None");
        }
 
        /* Add DISTANCE_INFINITY check. */
@@ -293,8 +285,8 @@ void redistribute_delete(const struct prefix *p, const struct prefix *src_p,
        if (!zebra_check_addr(p)) {
                if (IS_ZEBRA_DEBUG_RIB) {
                        zlog_debug(
-                               "%u:%s: Redist del old: skipping invalid prefix",
-                               vrfid, prefix2str(p, buf, sizeof(buf)));
+                               "%u:%pFX: Redist del old: skipping invalid prefix",
+                               vrfid, p);
                }
                return;
        }
@@ -541,12 +533,10 @@ void zebra_interface_address_add_update(struct interface *ifp,
        struct prefix *p;
 
        if (IS_ZEBRA_DEBUG_EVENT) {
-               char buf[PREFIX_STRLEN];
-
                p = ifc->address;
-               zlog_debug("MESSAGE: ZEBRA_INTERFACE_ADDRESS_ADD %s on %s(%u)",
-                          prefix2str(p, buf, sizeof(buf)), ifp->name,
-                          ifp->vrf_id);
+               zlog_debug(
+                       "MESSAGE: ZEBRA_INTERFACE_ADDRESS_ADD %pFX on %s(%u)",
+                       p, ifp->name, ifp->vrf_id);
        }
 
        if (!CHECK_FLAG(ifc->conf, ZEBRA_IFC_REAL))
@@ -580,12 +570,10 @@ void zebra_interface_address_delete_update(struct interface *ifp,
        struct prefix *p;
 
        if (IS_ZEBRA_DEBUG_EVENT) {
-               char buf[PREFIX_STRLEN];
-
                p = ifc->address;
-               zlog_debug("MESSAGE: ZEBRA_INTERFACE_ADDRESS_DELETE %s on %s(%u)",
-                          prefix2str(p, buf, sizeof(buf)),
-                          ifp->name, ifp->vrf_id);
+               zlog_debug(
+                       "MESSAGE: ZEBRA_INTERFACE_ADDRESS_DELETE %pFX on %s(%u)",
+                       p, ifp->name, ifp->vrf_id);
        }
 
        zebra_vxlan_add_del_gw_macip(ifp, ifc->address, 0);
index 1ce3c435feda5e65e10b03b4ff00d709685502c2..d0bf77f016f48b8f6ba91ddbe197cb72b3d328e7 100644 (file)
@@ -731,11 +731,10 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id,
                p.prefixlen = rtm->rtm_dst_len;
 
                if (rtm->rtm_src_len != 0) {
-                       char buf[PREFIX_STRLEN];
                        flog_warn(
                                EC_ZEBRA_UNSUPPORTED_V4_SRCDEST,
-                               "unsupported IPv4 sourcedest route (dest %s vrf %u)",
-                               prefix2str(&p, buf, sizeof(buf)), vrf_id);
+                               "unsupported IPv4 sourcedest route (dest %pFX vrf %u)",
+                               &p, vrf_id);
                        return 0;
                }
 
@@ -786,12 +785,11 @@ static int netlink_route_change_read_unicast(struct nlmsghdr *h, ns_id_t ns_id,
        }
 
        if (IS_ZEBRA_DEBUG_KERNEL) {
-               char buf[PREFIX_STRLEN];
                char buf2[PREFIX_STRLEN];
+
                zlog_debug(
-                       "%s %s%s%s vrf %s(%u) table_id: %u metric: %d Admin Distance: %d",
-                       nl_msg_type_to_str(h->nlmsg_type),
-                       prefix2str(&p, buf, sizeof(buf)),
+                       "%s %pFX%s%s vrf %s(%u) table_id: %u metric: %d Admin Distance: %d",
+                       nl_msg_type_to_str(h->nlmsg_type), &p,
                        src_p.prefixlen ? " from " : "",
                        src_p.prefixlen ? prefix2str(&src_p, buf2, sizeof(buf2))
                                        : "",
index a2e15cbd2b31d827ffd52a29f7f6dfa13ece1248..a0f401c33469fb4b66f503e1fcbc7a83c3bc12b2 100644 (file)
@@ -80,19 +80,15 @@ static int kernel_rtm(int cmd, const struct prefix *p,
        bool gate = false;
        int error;
        char gate_buf[INET6_BUFSIZ];
-       char prefix_buf[PREFIX_STRLEN];
        enum blackhole_type bh_type = BLACKHOLE_UNSPEC;
 
-       prefix2str(p, prefix_buf, sizeof(prefix_buf));
-
        /*
         * We only have the ability to ADD or DELETE at this point
         * in time.
         */
        if (cmd != RTM_ADD && cmd != RTM_DELETE) {
                if (IS_ZEBRA_DEBUG_KERNEL)
-                       zlog_debug("%s: %s odd command %s",
-                                  __func__, prefix_buf,
+                       zlog_debug("%s: %pFX odd command %s", __func__, p,
                                   lookup_msg(rtm_type_str, cmd, NULL));
                return 0;
        }
@@ -237,8 +233,8 @@ static int kernel_rtm(int cmd, const struct prefix *p,
                if (IS_ZEBRA_DEBUG_KERNEL) {
                        if (!gate) {
                                zlog_debug(
-                                       "%s: %s: attention! gate not found for re",
-                                       __func__, prefix_buf);
+                                       "%s: %pFX: attention! gate not found for re",
+                                       __func__, p);
                        } else {
                                switch (p->family) {
                                case AF_INET:
@@ -266,8 +262,8 @@ static int kernel_rtm(int cmd, const struct prefix *p,
                case ZEBRA_ERR_NOERROR:
                        nexthop_num++;
                        if (IS_ZEBRA_DEBUG_KERNEL)
-                               zlog_debug("%s: %s: successfully did NH %s",
-                                          __func__, prefix_buf, gate_buf);
+                               zlog_debug("%s: %pFX: successfully did NH %s",
+                                          __func__, p, gate_buf);
                        if (cmd == RTM_ADD)
                                SET_FLAG(nexthop->flags, NEXTHOP_FLAG_FIB);
                        break;
@@ -289,8 +285,8 @@ static int kernel_rtm(int cmd, const struct prefix *p,
                default:
                        flog_err(
                                EC_LIB_SYSTEM_CALL,
-                               "%s: %s: rtm_write() unexpectedly returned %d for command %s",
-                               __func__, prefix_buf, error,
+                               "%s: %pFX: rtm_write() unexpectedly returned %d for command %s",
+                               __func__, p, error,
                                lookup_msg(rtm_type_str, cmd, NULL));
                        break;
                }
@@ -300,8 +296,8 @@ static int kernel_rtm(int cmd, const struct prefix *p,
        if (nexthop_num == 0) {
                if (IS_ZEBRA_DEBUG_KERNEL)
                        zlog_debug(
-                               "%s: No useful nexthops were found in RIB prefix %s",
-                               __func__, prefix_buf);
+                               "%s: No useful nexthops were found in RIB prefix %pFX",
+                               __func__, p);
                return 1;
        }
 
index 13b7c150a3424643609ee7e9cd83933da30cab41..c3add16c5693a699373a73734f7aea49da630cf9 100644 (file)
@@ -2337,7 +2337,6 @@ static int rtadv_config_write(struct vty *vty, struct interface *ifp)
        struct rtadv_prefix *rprefix;
        struct rtadv_rdnss *rdnss;
        struct rtadv_dnssl *dnssl;
-       char buf[PREFIX_STRLEN];
        int interval;
 
        zif = ifp->info;
@@ -2408,8 +2407,7 @@ static int rtadv_config_write(struct vty *vty, struct interface *ifp)
        for (ALL_LIST_ELEMENTS_RO(zif->rtadv.AdvPrefixList, node, rprefix)) {
                if ((rprefix->AdvPrefixCreate == PREFIX_SRC_MANUAL)
                    || (rprefix->AdvPrefixCreate == PREFIX_SRC_BOTH)) {
-                       vty_out(vty, " ipv6 nd prefix %s",
-                               prefix2str(&rprefix->prefix, buf, sizeof(buf)));
+                       vty_out(vty, " ipv6 nd prefix %pFX", &rprefix->prefix);
                        if ((rprefix->AdvValidLifetime != RTADV_VALID_LIFETIME)
                            || (rprefix->AdvPreferredLifetime
                                != RTADV_PREFERRED_LIFETIME)) {
index d6a34327a6ae20ed454a3afb3d684391241c37de..a63504992eb241171a1e1201039c8fae533d47e7 100644 (file)
@@ -75,8 +75,6 @@ netlink_rule_msg_encode(int cmd, const struct zebra_dplane_ctx *ctx,
        } *req = buf;
 
        const char *ifname = dplane_ctx_rule_get_ifname(ctx);
-       char buf1[PREFIX_STRLEN];
-       char buf2[PREFIX_STRLEN];
 
        if (buflen < sizeof(*req))
                return 0;
@@ -141,11 +139,9 @@ netlink_rule_msg_encode(int cmd, const struct zebra_dplane_ctx *ctx,
 
        if (IS_ZEBRA_DEBUG_KERNEL)
                zlog_debug(
-                       "Tx %s family %s IF %s Pref %u Fwmark %u Src %s Dst %s Table %u",
+                       "Tx %s family %s IF %s Pref %u Fwmark %u Src %pFX Dst %pFX Table %u",
                        nl_msg_type_to_str(cmd), nl_family_to_str(family),
-                       ifname, priority, fwmark,
-                       prefix2str(src_ip, buf1, sizeof(buf1)),
-                       prefix2str(dst_ip, buf2, sizeof(buf2)), table);
+                       ifname, priority, fwmark, src_ip, dst_ip, table);
 
        return NLMSG_ALIGN(req->n.nlmsg_len);
 }
@@ -231,8 +227,6 @@ int netlink_rule_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
        int len;
        char *ifname;
        struct zebra_pbr_rule rule = {};
-       char buf1[PREFIX_STRLEN];
-       char buf2[PREFIX_STRLEN];
        uint8_t proto = 0;
 
        /* Basic validation followed by extracting attributes. */
@@ -324,17 +318,14 @@ int netlink_rule_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
                        ret = dplane_pbr_rule_delete(&rule);
 
                        zlog_debug(
-                               "%s: %s leftover rule: family %s IF %s Pref %u Src %s Dst %s Table %u",
+                               "%s: %s leftover rule: family %s IF %s Pref %u Src %pFX Dst %pFX Table %u",
                                __func__,
                                ((ret == ZEBRA_DPLANE_REQUEST_FAILURE)
                                         ? "Failed to remove"
                                         : "Removed"),
                                nl_family_to_str(frh->family), rule.ifname,
-                               rule.rule.priority,
-                               prefix2str(&rule.rule.filter.src_ip, buf1,
-                                          sizeof(buf1)),
-                               prefix2str(&rule.rule.filter.dst_ip, buf2,
-                                          sizeof(buf2)),
+                               rule.rule.priority, &rule.rule.filter.src_ip,
+                               &rule.rule.filter.dst_ip,
                                rule.rule.action.table);
                }
 
@@ -350,15 +341,11 @@ int netlink_rule_change(struct nlmsghdr *h, ns_id_t ns_id, int startup)
 
        if (IS_ZEBRA_DEBUG_KERNEL)
                zlog_debug(
-                       "Rx %s family %s IF %s Pref %u Src %s Dst %s Table %u",
+                       "Rx %s family %s IF %s Pref %u Src %pFX Dst %pFX Table %u",
                        nl_msg_type_to_str(h->nlmsg_type),
                        nl_family_to_str(frh->family), rule.ifname,
-                       rule.rule.priority,
-                       prefix2str(&rule.rule.filter.src_ip, buf1,
-                                  sizeof(buf1)),
-                       prefix2str(&rule.rule.filter.dst_ip, buf2,
-                                  sizeof(buf2)),
-                       rule.rule.action.table);
+                       rule.rule.priority, &rule.rule.filter.src_ip,
+                       &rule.rule.filter.dst_ip, rule.rule.action.table);
 
        return kernel_pbr_rule_del(&rule);
 }
index c33bca3d86fc3ebb90ede9251b56648942bafef4..18017c9700cd4932a3d17dfba3a94fba91cf643f 100644 (file)
@@ -644,17 +644,12 @@ int zsend_redistribute_route(int cmd, struct zserv *client,
                return -1;
        }
 
-       if (IS_ZEBRA_DEBUG_SEND) {
-               char buf_prefix[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf_prefix, sizeof(buf_prefix));
-
-               zlog_debug("%s: %s to client %s: type %s, vrf_id %d, p %s",
+       if (IS_ZEBRA_DEBUG_SEND)
+               zlog_debug("%s: %s to client %s: type %s, vrf_id %d, p %pFX",
                           __func__, zserv_command_string(cmd),
                           zebra_route_string(client->proto),
                           zebra_route_string(api.type), api.vrf_id,
-                          buf_prefix);
-       }
+                          &api.prefix);
        return zserv_send_message(client, s);
 }
 
@@ -755,26 +750,18 @@ static int route_notify_internal(const struct prefix *p, int type,
 
        client = zserv_find_client(type, instance);
        if (!client || !client->notify_owner) {
-               if (IS_ZEBRA_DEBUG_PACKET) {
-                       char buff[PREFIX_STRLEN];
-
+               if (IS_ZEBRA_DEBUG_PACKET)
                        zlog_debug(
-                               "Not Notifying Owner: %s about prefix %s(%u) %d vrf: %u",
-                               zebra_route_string(type),
-                               prefix2str(p, buff, sizeof(buff)), table_id,
-                               note, vrf_id);
-               }
+                               "Not Notifying Owner: %s about prefix %pFX(%u) %d vrf: %u",
+                               zebra_route_string(type), p, table_id, note,
+                               vrf_id);
                return 0;
        }
 
-       if (IS_ZEBRA_DEBUG_PACKET) {
-               char buff[PREFIX_STRLEN];
-
-               zlog_debug("Notifying Owner: %s about prefix %s(%u) %d vrf: %u",
-                          zebra_route_string(type),
-                          prefix2str(p, buff, sizeof(buff)), table_id, note,
-                          vrf_id);
-       }
+       if (IS_ZEBRA_DEBUG_PACKET)
+               zlog_debug(
+                       "Notifying Owner: %s about prefix %pFX(%u) %d vrf: %u",
+                       zebra_route_string(type), p, table_id, note, vrf_id);
 
        s = stream_new(ZEBRA_MAX_PACKET_SIZ);
        stream_reset(s);
@@ -1903,14 +1890,10 @@ static void zread_route_add(ZAPI_HANDLER_ARGS)
 
        vrf_id = zvrf_id(zvrf);
 
-       if (IS_ZEBRA_DEBUG_RECV) {
-               char buf_prefix[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf_prefix, sizeof(buf_prefix));
-               zlog_debug("%s: p=(%u:%u)%s, msg flags=0x%x, flags=0x%x",
-                          __func__, vrf_id, api.tableid, buf_prefix,
+       if (IS_ZEBRA_DEBUG_RECV)
+               zlog_debug("%s: p=(%u:%u)%pFX, msg flags=0x%x, flags=0x%x",
+                          __func__, vrf_id, api.tableid, &api.prefix,
                           (int)api.message, api.flags);
-       }
 
        /* Allocate new route. */
        re = XCALLOC(MTYPE_RE, sizeof(struct route_entry));
@@ -2068,14 +2051,10 @@ static void zread_route_del(ZAPI_HANDLER_ARGS)
        else
                table_id = zvrf->table_id;
 
-       if (IS_ZEBRA_DEBUG_RECV) {
-               char buf_prefix[PREFIX_STRLEN];
-
-               prefix2str(&api.prefix, buf_prefix, sizeof(buf_prefix));
-               zlog_debug("%s: p=(%u:%u)%s, msg flags=0x%x, flags=0x%x",
-                          __func__, zvrf_id(zvrf), table_id, buf_prefix,
+       if (IS_ZEBRA_DEBUG_RECV)
+               zlog_debug("%s: p=(%u:%u)%pFX, msg flags=0x%x, flags=0x%x",
+                          __func__, zvrf_id(zvrf), table_id, &api.prefix,
                           (int)api.message, api.flags);
-       }
 
        rib_delete(afi, api.safi, zvrf_id(zvrf), api.type, api.instance,
                   api.flags, &api.prefix, src_p, NULL, 0, table_id, api.metric,
index 76d7d00e4a3af94304adf22504b128f38627286a..24e8db6f3336e679a37880304123773bf5bc0567 100644 (file)
@@ -2224,20 +2224,14 @@ static int dplane_ctx_rule_init(struct zebra_dplane_ctx *ctx,
                                struct zebra_pbr_rule *new_rule,
                                struct zebra_pbr_rule *old_rule)
 {
-       if (IS_ZEBRA_DEBUG_DPLANE_DETAIL) {
-               char buf1[PREFIX_STRLEN];
-               char buf2[PREFIX_STRLEN];
-
+       if (IS_ZEBRA_DEBUG_DPLANE_DETAIL)
                zlog_debug(
-                       "init dplane ctx %s: IF %s Prio %u Fwmark %u Src %s Dst %s Table %u",
+                       "init dplane ctx %s: IF %s Prio %u Fwmark %u Src %pFX Dst %pFX Table %u",
                        dplane_op2str(op), new_rule->ifname,
                        new_rule->rule.priority, new_rule->rule.filter.fwmark,
-                       prefix2str(&new_rule->rule.filter.src_ip, buf1,
-                                  sizeof(buf1)),
-                       prefix2str(&new_rule->rule.filter.dst_ip, buf2,
-                                  sizeof(buf2)),
+                       &new_rule->rule.filter.src_ip,
+                       &new_rule->rule.filter.dst_ip,
                        new_rule->rule.action.table);
-       }
 
        ctx->zd_op = op;
        ctx->zd_status = ZEBRA_DPLANE_REQUEST_SUCCESS;
@@ -2895,15 +2889,10 @@ static enum zebra_dplane_result intf_addr_update_internal(
        struct zebra_dplane_ctx *ctx = NULL;
        struct zebra_ns *zns;
 
-       if (IS_ZEBRA_DEBUG_DPLANE_DETAIL) {
-               char addr_str[PREFIX_STRLEN];
-
-               prefix2str(ifc->address, addr_str, sizeof(addr_str));
-
-               zlog_debug("init intf ctx %s: idx %d, addr %u:%s",
+       if (IS_ZEBRA_DEBUG_DPLANE_DETAIL)
+               zlog_debug("init intf ctx %s: idx %d, addr %u:%pFX",
                           dplane_op2str(op), ifp->ifindex, ifp->vrf_id,
-                          addr_str);
-       }
+                          ifc->address);
 
        ctx = dplane_ctx_alloc();
 
@@ -3773,11 +3762,9 @@ static void kernel_dplane_log_detail(struct zebra_dplane_ctx *ctx)
        case DPLANE_OP_ROUTE_INSTALL:
        case DPLANE_OP_ROUTE_UPDATE:
        case DPLANE_OP_ROUTE_DELETE:
-               prefix2str(dplane_ctx_get_dest(ctx), buf, sizeof(buf));
-
-               zlog_debug("%u:%s Dplane route update ctx %p op %s",
-                          dplane_ctx_get_vrf(ctx), buf, ctx,
-                          dplane_op2str(dplane_ctx_get_op(ctx)));
+               zlog_debug("%u:%pFX Dplane route update ctx %p op %s",
+                          dplane_ctx_get_vrf(ctx), dplane_ctx_get_dest(ctx),
+                          ctx, dplane_op2str(dplane_ctx_get_op(ctx)));
                break;
 
        case DPLANE_OP_NH_INSTALL:
@@ -3804,11 +3791,10 @@ static void kernel_dplane_log_detail(struct zebra_dplane_ctx *ctx)
 
        case DPLANE_OP_ADDR_INSTALL:
        case DPLANE_OP_ADDR_UNINSTALL:
-               prefix2str(dplane_ctx_get_intf_addr(ctx), buf, sizeof(buf));
-
-               zlog_debug("Dplane intf %s, idx %u, addr %s",
+               zlog_debug("Dplane intf %s, idx %u, addr %pFX",
                           dplane_op2str(dplane_ctx_get_op(ctx)),
-                          dplane_ctx_get_ifindex(ctx), buf);
+                          dplane_ctx_get_ifindex(ctx),
+                          dplane_ctx_get_intf_addr(ctx));
                break;
 
        case DPLANE_OP_MAC_INSTALL:
index 56699c4e8375211b432df2fe68a12941b31ac5d3..e1dbd04def0a86c32406aa47a660d24b80490ff9 100644 (file)
@@ -349,7 +349,6 @@ static int ip_prefix_send_to_client(vrf_id_t vrf_id, struct prefix *p,
 {
        struct zserv *client = NULL;
        struct stream *s = NULL;
-       char buf[PREFIX_STRLEN];
 
        client = zserv_find_client(ZEBRA_ROUTE_BGP, 0);
        /* BGP may not be running. */
@@ -365,8 +364,7 @@ static int ip_prefix_send_to_client(vrf_id_t vrf_id, struct prefix *p,
        stream_putw_at(s, 0, stream_get_endp(s));
 
        if (IS_ZEBRA_DEBUG_VXLAN)
-               zlog_debug("Send ip prefix %s %s on vrf %s",
-                          prefix2str(p, buf, sizeof(buf)),
+               zlog_debug("Send ip prefix %pFX %s on vrf %s", p,
                           (cmd == ZEBRA_IP_PREFIX_ROUTE_ADD) ? "ADD" : "DEL",
                           vrf_id_to_name(vrf_id));
 
index f84c8c1fcc364a20a52be0bfc48bd34c35123fc1..1c3193449b7a26d120af920b766811c1eb2c8d4a 100644 (file)
@@ -1437,7 +1437,6 @@ static inline int zfpm_conn_is_up(void)
 static int zfpm_trigger_update(struct route_node *rn, const char *reason)
 {
        rib_dest_t *dest;
-       char buf[PREFIX_STRLEN];
 
        /*
         * Ignore if the connection is down. We will update the FPM about
@@ -1454,8 +1453,8 @@ static int zfpm_trigger_update(struct route_node *rn, const char *reason)
        }
 
        if (reason) {
-               zfpm_debug("%s triggering update to FPM - Reason: %s",
-                          prefix2str(&rn->p, buf, sizeof(buf)), reason);
+               zfpm_debug("%pFX triggering update to FPM - Reason: %s", &rn->p,
+                          reason);
        }
 
        SET_FLAG(dest->flags, RIB_DEST_UPDATE_FPM);
index a4f32dbf39f64a0c421ca04b4d575a2e7d38f1ad..ca6a33cd52ec8425301c93048c75e1ca7d3b45b7 100644 (file)
@@ -490,19 +490,15 @@ static void zebra_gr_process_route_entry(struct zserv *client,
                                         struct route_node *rn,
                                         struct route_entry *re)
 {
-       char buf[PREFIX2STR_BUFFER];
-
        if ((client == NULL) || (rn == NULL) || (re == NULL))
                return;
 
        /* If the route is not refreshed after restart, delete the entry */
        if (re->uptime < client->restart_time) {
-               if (IS_ZEBRA_DEBUG_RIB) {
-                       prefix2str(&rn->p, buf, sizeof(buf));
-                       zlog_debug("%s: Client %s stale route %s is deleted",
+               if (IS_ZEBRA_DEBUG_RIB)
+                       zlog_debug("%s: Client %s stale route %pFX is deleted",
                                   __func__, zebra_route_string(client->proto),
-                                  buf);
-               }
+                                  &rn->p);
                rib_delnode(rn, re);
        }
 }
index e0ad4f1cbed192752a2656a72fd94978744c7ed4..c3982904e9d49a66ea2c41e003068a91f46c08d7 100644 (file)
@@ -2362,10 +2362,9 @@ int zebra_mpls_fec_unregister(struct zebra_vrf *zvrf, struct prefix *p,
 
        fec = fec_find(table, p);
        if (!fec) {
-               prefix2str(p, buf, BUFSIZ);
                flog_err(EC_ZEBRA_FEC_RM_FAILED,
-                        "Failed to find FEC %s upon unregister, client %s",
-                        buf, zebra_route_string(client->proto));
+                        "Failed to find FEC %pFX upon unregister, client %s",
+                        p, zebra_route_string(client->proto));
                return -1;
        }
 
@@ -2530,9 +2529,8 @@ int zebra_mpls_static_fec_add(struct zebra_vrf *zvrf, struct prefix *p,
                fec = fec_add(table, p, in_label, FEC_FLAG_CONFIGURED,
                              MPLS_INVALID_LABEL_INDEX);
                if (!fec) {
-                       prefix2str(p, buf, BUFSIZ);
                        flog_err(EC_ZEBRA_FEC_ADD_FAILED,
-                                "Failed to add FEC %s upon config", buf);
+                                "Failed to add FEC %pFX upon config", p);
                        return -1;
                }
 
@@ -2585,8 +2583,7 @@ int zebra_mpls_static_fec_del(struct zebra_vrf *zvrf, struct prefix *p)
        }
 
        if (IS_ZEBRA_DEBUG_MPLS) {
-               prefix2str(p, buf, BUFSIZ);
-               zlog_debug("Delete fec %s label %u label index %u", buf,
+               zlog_debug("Delete fec %pFX label %u label index %u", p,
                           fec->label, fec->label_index);
        }
 
@@ -2620,7 +2617,6 @@ int zebra_mpls_write_fec_config(struct vty *vty, struct zebra_vrf *zvrf)
        struct route_node *rn;
        int af;
        zebra_fec_t *fec;
-       char buf[BUFSIZ];
        int write = 0;
 
        for (af = AFI_IP; af < AFI_MAX; af++) {
@@ -2639,8 +2635,7 @@ int zebra_mpls_write_fec_config(struct vty *vty, struct zebra_vrf *zvrf)
                                continue;
 
                        write = 1;
-                       prefix2str(&rn->p, buf, BUFSIZ);
-                       vty_out(vty, "mpls label bind %s %s\n", buf,
+                       vty_out(vty, "mpls label bind %pFX %s\n", &rn->p,
                                label2str(fec->label, lstr, BUFSIZ));
                }
        }
@@ -2846,7 +2841,7 @@ int mpls_zapi_labels_process(bool add_p, struct zebra_vrf *zvrf,
                             const struct zapi_labels *zl)
 {
        int i, counter, ret = 0;
-       char buf[NEXTHOP_STRLEN], prefix_buf[PREFIX_STRLEN];
+       char buf[NEXTHOP_STRLEN];
        const struct zapi_nexthop *znh;
        struct route_table *table;
        struct route_node *rn = NULL;
@@ -2910,12 +2905,10 @@ int mpls_zapi_labels_process(bool add_p, struct zebra_vrf *zvrf,
                         * attempted to manage LSPs before trying to
                         * find a route/FEC, so we'll continue that way.
                         */
-                       if (IS_ZEBRA_DEBUG_RECV || IS_ZEBRA_DEBUG_MPLS) {
-                               prefix2str(prefix, prefix_buf,
-                                          sizeof(prefix_buf));
-                               zlog_debug("%s: FTN update requested: no route for prefix %s",
-                                          __func__, prefix_buf);
-                       }
+                       if (IS_ZEBRA_DEBUG_RECV || IS_ZEBRA_DEBUG_MPLS)
+                               zlog_debug(
+                                       "%s: FTN update requested: no route for prefix %pFX",
+                                       __func__, prefix);
                }
        }
 
@@ -2957,9 +2950,9 @@ int mpls_zapi_labels_process(bool add_p, struct zebra_vrf *zvrf,
                        counter++;
                } else if (IS_ZEBRA_DEBUG_RECV | IS_ZEBRA_DEBUG_MPLS) {
                        zapi_nexthop2str(znh, buf, sizeof(buf));
-                       prefix2str(prefix, prefix_buf, sizeof(prefix_buf));
-                       zlog_debug("%s: Unable to update FEC: prefix %s, label %u, znh %s",
-                                  __func__, prefix_buf, zl->local_label, buf);
+                       zlog_debug(
+                               "%s: Unable to update FEC: prefix %pFX, label %u, znh %s",
+                               __func__, prefix, zl->local_label, buf);
                }
        }
 
@@ -3007,9 +3000,9 @@ int mpls_zapi_labels_process(bool add_p, struct zebra_vrf *zvrf,
                        counter++;
                } else if (IS_ZEBRA_DEBUG_RECV | IS_ZEBRA_DEBUG_MPLS) {
                        zapi_nexthop2str(znh, buf, sizeof(buf));
-                       prefix2str(prefix, prefix_buf, sizeof(prefix_buf));
-                       zlog_debug("%s: Unable to update backup FEC: prefix %s, label %u, znh %s",
-                                  __func__, prefix_buf, zl->local_label, buf);
+                       zlog_debug(
+                               "%s: Unable to update backup FEC: prefix %pFX, label %u, znh %s",
+                               __func__, prefix, zl->local_label, buf);
                }
        }
 
index b4ed910b4d8b235ce0a745134c9518baf28ed14b..f5a85519bb8ebd714647fab418953ba2c8efae12 100644 (file)
@@ -21,6 +21,7 @@
 
 #include "lib/log.h"
 #include "lib/northbound.h"
+#include "lib/printfrr.h"
 #include "libfrr.h"
 #include "lib/command.h"
 #include "lib/routemap.h"
@@ -839,7 +840,6 @@ int lib_interface_zebra_ip_addrs_create(struct nb_cb_create_args *args)
 {
        struct interface *ifp;
        struct prefix prefix;
-       char buf[PREFIX_STRLEN] = {0};
 
        ifp = nb_running_get_entry(args->dnode, NULL, true);
        // addr_family = yang_dnode_get_enum(dnode, "./address-family");
@@ -850,15 +850,13 @@ int lib_interface_zebra_ip_addrs_create(struct nb_cb_create_args *args)
        case NB_EV_VALIDATE:
                if (prefix.family == AF_INET
                    && ipv4_martian(&prefix.u.prefix4)) {
-                       snprintf(args->errmsg, args->errmsg_len,
-                                "invalid address %s",
-                                prefix2str(&prefix, buf, sizeof(buf)));
+                       snprintfrr(args->errmsg, args->errmsg_len,
+                                  "invalid address %pFX", &prefix);
                        return NB_ERR_VALIDATION;
                } else if (prefix.family == AF_INET6
                           && ipv6_martian(&prefix.u.prefix6)) {
-                       snprintf(args->errmsg, args->errmsg_len,
-                                "invalid address %s",
-                                prefix2str(&prefix, buf, sizeof(buf)));
+                       snprintfrr(args->errmsg, args->errmsg_len,
+                                  "invalid address %pFX", &prefix);
                        return NB_ERR_VALIDATION;
                }
                break;
index 166d479d78fc1d05a594b2424d9e335d6753dbf6..730042b72cb6503d11eabaa326ff4304dfa8302a 100644 (file)
@@ -694,15 +694,13 @@ void zebra_rib_evaluate_rn_nexthops(struct route_node *rn, uint32_t seq)
 
                        if (IS_ZEBRA_DEBUG_NHT_DETAILED) {
                                char buf1[PREFIX_STRLEN];
-                               char buf2[PREFIX_STRLEN];
 
                                zlog_debug(
-                                       "%s(%u):%s has Nexthop(%s) Type: %s depending on it, evaluating %u:%u",
+                                       "%s(%u):%s has Nexthop(%pFX) Type: %s depending on it, evaluating %u:%u",
                                        zvrf_name(zvrf), zvrf_id(zvrf),
                                        srcdest_rnode2str(rn, buf1,
                                                          sizeof(buf1)),
-                                       prefix2str(p, buf2, sizeof(buf2)),
-                                       rnh_type2str(rnh->type), seq,
+                                       p, rnh_type2str(rnh->type), seq,
                                        rnh->seqno);
                        }
 
@@ -1924,11 +1922,9 @@ static void rib_process_result(struct zebra_dplane_ctx *ctx)
                                zsend_route_notify_owner(re, dest_pfx,
                                                         ZAPI_ROUTE_FAIL_INSTALL);
 
-                       zlog_warn("%s(%u:%u):%s: Route install failed",
+                       zlog_warn("%s(%u:%u):%pFX: Route install failed",
                                  VRF_LOGNAME(vrf), dplane_ctx_get_vrf(ctx),
-                                 dplane_ctx_get_table(ctx),
-                                 prefix2str(dest_pfx, dest_str,
-                                            sizeof(dest_str)));
+                                 dplane_ctx_get_table(ctx), dest_pfx);
                }
                break;
        case DPLANE_OP_ROUTE_DELETE:
@@ -1954,11 +1950,9 @@ static void rib_process_result(struct zebra_dplane_ctx *ctx)
                        zsend_route_notify_owner_ctx(ctx,
                                                     ZAPI_ROUTE_REMOVE_FAIL);
 
-                       zlog_warn("%s(%u:%u):%s: Route Deletion failure",
+                       zlog_warn("%s(%u:%u):%pFX: Route Deletion failure",
                                  VRF_LOGNAME(vrf), dplane_ctx_get_vrf(ctx),
-                                 dplane_ctx_get_table(ctx),
-                                 prefix2str(dest_pfx, dest_str,
-                                            sizeof(dest_str)));
+                                 dplane_ctx_get_table(ctx), dest_pfx);
                }
 
                /*
@@ -2831,7 +2825,6 @@ void rib_lookup_and_dump(struct prefix_ipv4 *p, vrf_id_t vrf_id)
        struct route_node *rn;
        struct route_entry *re;
        struct vrf *vrf;
-       char prefix_buf[INET_ADDRSTRLEN];
 
        vrf = vrf_lookup_by_id(vrf_id);
 
@@ -2849,10 +2842,8 @@ void rib_lookup_and_dump(struct prefix_ipv4 *p, vrf_id_t vrf_id)
 
        /* No route for this prefix. */
        if (!rn) {
-               zlog_debug("%s:%s(%u) lookup failed for %s", __func__,
-                          VRF_LOGNAME(vrf), vrf_id,
-                          prefix2str((struct prefix *)p, prefix_buf,
-                                     sizeof(prefix_buf)));
+               zlog_debug("%s:%s(%u) lookup failed for %pFX", __func__,
+                          VRF_LOGNAME(vrf), vrf_id, (struct prefix *)p);
                return;
        }
 
@@ -2911,14 +2902,13 @@ void rib_lookup_and_pushup(struct prefix_ipv4 *p, vrf_id_t vrf_id)
         */
        if (dest->selected_fib) {
                if (IS_ZEBRA_DEBUG_RIB) {
-                       char buf[PREFIX_STRLEN];
                        struct vrf *vrf =
                                vrf_lookup_by_id(dest->selected_fib->vrf_id);
 
                        zlog_debug(
-                               "%s(%u):%s: freeing way for connected prefix",
+                               "%s(%u):%pFX: freeing way for connected prefix",
                                VRF_LOGNAME(vrf), dest->selected_fib->vrf_id,
-                               prefix2str(&rn->p, buf, sizeof(buf)));
+                               &rn->p);
                        route_entry_dump(&rn->p, NULL, dest->selected_fib);
                }
                rib_uninstall(rn, dest->selected_fib);
@@ -2969,14 +2959,12 @@ int rib_add_multipath_nhe(afi_t afi, safi_t safi, struct prefix *p,
                /* Lookup nhe from route information */
                nhe = zebra_nhg_rib_find_nhe(re_nhe, afi);
                if (!nhe) {
-                       char buf[PREFIX_STRLEN] = "";
                        char buf2[PREFIX_STRLEN] = "";
 
                        flog_err(
                                EC_ZEBRA_TABLE_LOOKUP_FAILED,
-                               "Zebra failed to find or create a nexthop hash entry for %s%s%s",
-                               prefix2str(p, buf, sizeof(buf)),
-                               src_p ? " from " : "",
+                               "Zebra failed to find or create a nexthop hash entry for %pFX%s%s",
+                               p, src_p ? " from " : "",
                                src_p ? prefix2str(src_p, buf2, sizeof(buf2))
                                      : "");
 
@@ -3116,9 +3104,8 @@ void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
        /* Lookup route node. */
        rn = srcdest_rnode_lookup(table, p, src_p);
        if (!rn) {
-               char dst_buf[PREFIX_STRLEN], src_buf[PREFIX_STRLEN];
+               char src_buf[PREFIX_STRLEN];
 
-               prefix2str(p, dst_buf, sizeof(dst_buf));
                if (src_p && src_p->prefixlen)
                        prefix2str(src_p, src_buf, sizeof(src_buf));
                else
@@ -3127,8 +3114,8 @@ void rib_delete(afi_t afi, safi_t safi, vrf_id_t vrf_id, int type,
                if (IS_ZEBRA_DEBUG_RIB) {
                        struct vrf *vrf = vrf_lookup_by_id(vrf_id);
 
-                       zlog_debug("%s[%d]:%s%s%s doesn't exist in rib",
-                                  vrf->name, table_id, dst_buf,
+                       zlog_debug("%s[%d]:%pFX%s%s doesn't exist in rib",
+                                  vrf->name, table_id, p,
                                   (src_buf[0] != '\0') ? " from " : "",
                                   src_buf);
                }
index 9c6ed445853bef7887146fb1bac6947503db05de..8178629b003041d664358d6494dedf9e4a87f1d0 100644 (file)
@@ -480,7 +480,6 @@ static void zebra_rnh_eval_import_check_entry(struct zebra_vrf *zvrf, afi_t afi,
 {
        int state_changed = 0;
        struct zserv *client;
-       char bufn[INET6_ADDRSTRLEN];
        struct listnode *node;
 
        zebra_rnh_remove_from_routing_table(rnh);
@@ -506,13 +505,11 @@ static void zebra_rnh_eval_import_check_entry(struct zebra_vrf *zvrf, afi_t afi,
        }
 
        if (state_changed || force) {
-               if (IS_ZEBRA_DEBUG_NHT) {
-                       prefix2str(&nrn->p, bufn, INET6_ADDRSTRLEN);
+               if (IS_ZEBRA_DEBUG_NHT)
                        zlog_debug("%s(%u):%pRN: Route import check %s %s",
                                   VRF_LOGNAME(zvrf->vrf), zvrf->vrf->vrf_id,
                                   nrn, rnh->state ? "passed" : "failed",
                                   state_changed ? "(state changed)" : "");
-               }
                /* state changed, notify clients */
                for (ALL_LIST_ELEMENTS_RO(rnh->client_list, node, client)) {
                        zebra_send_rnh_update(rnh, client,
index 82e871801ab52964dea9e18b135ced9e7456ca1b..f8b65bea15be23a57f29aae671459dce309c99b1 100644 (file)
@@ -310,8 +310,7 @@ static void zl3vni_print_nh(zebra_neigh_t *n, struct vty *vty,
                        rb_host_count(&n->host_rb));
                vty_out(vty, "  Prefixes:\n");
                RB_FOREACH (hle, host_rb_tree_entry, &n->host_rb)
-                       vty_out(vty, "    %s\n",
-                               prefix2str(&hle->p, buf2, sizeof(buf2)));
+                       vty_out(vty, "    %pFX\n", &hle->p);
        } else {
                json_hosts = json_object_new_array();
                json_object_string_add(
@@ -346,8 +345,7 @@ static void zl3vni_print_rmac(zebra_mac_t *zrmac, struct vty *vty,
                vty_out(vty, " Refcount: %d\n", rb_host_count(&zrmac->host_rb));
                vty_out(vty, "  Prefixes:\n");
                RB_FOREACH (hle, host_rb_tree_entry, &zrmac->host_rb)
-                       vty_out(vty, "    %s\n",
-                               prefix2str(&hle->p, buf2, sizeof(buf2)));
+                       vty_out(vty, "    %pFX\n", &hle->p);
        } else {
                json_hosts = json_object_new_array();
                json_object_string_add(
@@ -1270,7 +1268,6 @@ static int zl3vni_remote_rmac_add(zebra_l3vni_t *zl3vni,
 {
        char buf[ETHER_ADDR_STRLEN];
        char buf1[INET6_ADDRSTRLEN];
-       char buf2[PREFIX_STRLEN];
        zebra_mac_t *zrmac = NULL;
 
        zrmac = zl3vni_rmac_lookup(zl3vni, rmac);
@@ -1280,11 +1277,11 @@ static int zl3vni_remote_rmac_add(zebra_l3vni_t *zl3vni,
                zrmac = zl3vni_rmac_add(zl3vni, rmac);
                if (!zrmac) {
                        zlog_debug(
-                               "Failed to add RMAC %s L3VNI %u Remote VTEP %s, prefix %s",
+                               "Failed to add RMAC %s L3VNI %u Remote VTEP %s, prefix %pFX",
                                prefix_mac2str(rmac, buf, sizeof(buf)),
                                zl3vni->vni,
                                ipaddr2str(vtep_ip, buf1, sizeof(buf1)),
-                               prefix2str(host_prefix, buf2, sizeof(buf2)));
+                               host_prefix);
                        return -1;
                }
                memset(&zrmac->fwd_info, 0, sizeof(zrmac->fwd_info));
@@ -1300,12 +1297,12 @@ static int zl3vni_remote_rmac_add(zebra_l3vni_t *zl3vni,
                                   &vtep_ip->ipaddr_v4)) {
                if (IS_ZEBRA_DEBUG_VXLAN)
                        zlog_debug(
-                               "L3VNI %u Remote VTEP change(%s -> %s) for RMAC %s, prefix %s",
+                               "L3VNI %u Remote VTEP change(%s -> %s) for RMAC %s, prefix %pFX",
                                zl3vni->vni,
                                inet_ntoa(zrmac->fwd_info.r_vtep_ip),
                                ipaddr2str(vtep_ip, buf1, sizeof(buf1)),
                                prefix_mac2str(rmac, buf, sizeof(buf)),
-                               prefix2str(host_prefix, buf2, sizeof(buf2)));
+                               host_prefix);
 
                zrmac->fwd_info.r_vtep_ip = vtep_ip->ipaddr_v4;
 
@@ -1465,7 +1462,6 @@ static int zl3vni_remote_nh_add(zebra_l3vni_t *zl3vni,
        char buf[ETHER_ADDR_STRLEN];
        char buf1[ETHER_ADDR_STRLEN];
        char buf2[INET6_ADDRSTRLEN];
-       char buf3[PREFIX_STRLEN];
        zebra_neigh_t *nh = NULL;
 
        /* Create the next hop entry, or update its mac, if necessary. */
@@ -1474,11 +1470,10 @@ static int zl3vni_remote_nh_add(zebra_l3vni_t *zl3vni,
                nh = zl3vni_nh_add(zl3vni, vtep_ip, rmac);
                if (!nh) {
                        zlog_debug(
-                               "Failed to add NH %s as Neigh (RMAC %s L3-VNI %u prefix %s)",
+                               "Failed to add NH %s as Neigh (RMAC %s L3-VNI %u prefix %pFX)",
                                ipaddr2str(vtep_ip, buf1, sizeof(buf2)),
                                prefix_mac2str(rmac, buf, sizeof(buf)),
-                               zl3vni->vni,
-                               prefix2str(host_prefix, buf2, sizeof(buf2)));
+                               zl3vni->vni, host_prefix);
                        return -1;
                }
 
@@ -1486,12 +1481,13 @@ static int zl3vni_remote_nh_add(zebra_l3vni_t *zl3vni,
                zl3vni_nh_install(zl3vni, nh);
        } else if (memcmp(&nh->emac, rmac, ETH_ALEN) != 0) {
                if (IS_ZEBRA_DEBUG_VXLAN)
-                       zlog_debug("L3VNI %u RMAC change(%s --> %s) for nexthop %s, prefix %s",
-                                  zl3vni->vni,
-                                  prefix_mac2str(&nh->emac, buf, sizeof(buf)),
-                                  prefix_mac2str(rmac, buf1, sizeof(buf1)),
-                                  ipaddr2str(vtep_ip, buf2, sizeof(buf2)),
-                                  prefix2str(host_prefix, buf3, sizeof(buf3)));
+                       zlog_debug(
+                               "L3VNI %u RMAC change(%s --> %s) for nexthop %s, prefix %pFX",
+                               zl3vni->vni,
+                               prefix_mac2str(&nh->emac, buf, sizeof(buf)),
+                               prefix_mac2str(rmac, buf1, sizeof(buf1)),
+                               ipaddr2str(vtep_ip, buf2, sizeof(buf2)),
+                               host_prefix);
 
                memcpy(&nh->emac, rmac, ETH_ALEN);
                /* install (update) the nh neigh in kernel */
index 44f4641fcf5f8b1c3ca9a7a158b6a84fd9e52734..4b5791530d0868ea774f6dddcae5a60c6853422a 100644 (file)
@@ -1172,11 +1172,9 @@ static void zebra_show_stale_client_detail(struct vty *vty,
                                }
                        }
                        vty_out(vty, "Current AFI : %d\n", info->current_afi);
-                       if (info->current_prefix) {
-                               prefix2str(info->current_prefix, buf,
-                                          sizeof(buf));
-                               vty_out(vty, "Current prefix : %s\n", buf);
-                       }
+                       if (info->current_prefix)
+                               vty_out(vty, "Current prefix : %pFX\n",
+                                       info->current_prefix);
                }
        }
        vty_out(vty, "\n");