]> git.proxmox.com Git - mirror_frr.git/commitdiff
ripd: replace inet_ntoa
authorMark Stapp <mjs@voltanet.io>
Thu, 22 Oct 2020 18:16:33 +0000 (14:16 -0400)
committerMark Stapp <mjs@voltanet.io>
Thu, 22 Oct 2020 20:25:41 +0000 (16:25 -0400)
Replace all uses of inet_ntoa, using pI4, pFX, or inet_pton.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
ripd/rip_interface.c
ripd/rip_peer.c
ripd/rip_zebra.c
ripd/ripd.c

index 7c35781eefca43db8a3841cbf02f5e0987e62518..c2cee4d69da1387559228d51431b0c497f5d9b59 100644 (file)
@@ -172,8 +172,8 @@ static void rip_request_interface_send(struct interface *ifp, uint8_t version)
                                continue;
 
                        if (IS_RIP_DEBUG_EVENT)
-                               zlog_debug("SEND request to %s",
-                                          inet_ntoa(to.sin_addr));
+                               zlog_debug("SEND request to %pI4",
+                                          &to.sin_addr);
 
                        rip_request_send(&to, ifp, version, connected);
                }
@@ -1174,9 +1174,7 @@ int rip_show_network_config(struct vty *vty, struct rip *rip)
        for (node = route_top(rip->enable_network); node;
             node = route_next(node))
                if (node->info)
-                       vty_out(vty, "    %s/%u\n",
-                               inet_ntoa(node->p.u.prefix4),
-                               node->p.prefixlen);
+                       vty_out(vty, "    %pFX\n", &node->p);
 
        /* Interface name RIP enable statement. */
        for (i = 0; i < vector_active(rip->enable_interface); i++)
@@ -1186,7 +1184,7 @@ int rip_show_network_config(struct vty *vty, struct rip *rip)
        /* RIP neighbors listing. */
        for (node = route_top(rip->neighbor); node; node = route_next(node))
                if (node->info)
-                       vty_out(vty, "    %s\n", inet_ntoa(node->p.u.prefix4));
+                       vty_out(vty, "    %pI4\n", &node->p.u.prefix4);
 
        return 0;
 }
index 77c73ab398f12c65cfcf756b76ddd96d0c876a06..4c5233c82c505126a1881db31b0ad1ace3243f86 100644 (file)
@@ -155,8 +155,8 @@ void rip_peer_display(struct vty *vty, struct rip *rip)
        char timebuf[RIP_UPTIME_LEN];
 
        for (ALL_LIST_ELEMENTS(rip->peer_list, node, nnode, peer)) {
-               vty_out(vty, "    %-16s %9d %9d %9d   %s\n",
-                       inet_ntoa(peer->addr), peer->recv_badpackets,
+               vty_out(vty, "    %-16pI4 %9d %9d %9d   %s\n",
+                       &peer->addr, peer->recv_badpackets,
                        peer->recv_badroutes, ZEBRA_RIP_DISTANCE_DEFAULT,
                        rip_peer_uptime(peer, timebuf, RIP_UPTIME_LEN));
        }
index e07d218860b522f0c03a97931fac5c20110f09ba..074370dc26fd3a77d441f80aaf7795c44edb973b 100644 (file)
@@ -88,18 +88,16 @@ static void rip_zebra_ipv4_send(struct rip *rip, struct route_node *rp,
 
        if (IS_RIP_DEBUG_ZEBRA) {
                if (rip->ecmp)
-                       zlog_debug("%s: %s/%d nexthops %d",
+                       zlog_debug("%s: %pFX nexthops %d",
                                   (cmd == ZEBRA_ROUTE_ADD)
                                           ? "Install into zebra"
                                           : "Delete from zebra",
-                                  inet_ntoa(rp->p.u.prefix4), rp->p.prefixlen,
-                                  count);
+                                  &rp->p, count);
                else
-                       zlog_debug("%s: %s/%d",
+                       zlog_debug("%s: %pFX",
                                   (cmd == ZEBRA_ROUTE_ADD)
                                           ? "Install into zebra"
-                                          : "Delete from zebra",
-                                  inet_ntoa(rp->p.u.prefix4), rp->p.prefixlen);
+                                          : "Delete from zebra", &rp->p);
        }
 
        rip->counters.route_changes++;
index 49caf3f6d87f798527297b9a4d8363cbcf6f6f1c..07f24b5a99707cd843eef72d70d1be533d376d4b 100644 (file)
@@ -45,6 +45,7 @@
 #include "lib_errors.h"
 #include "northbound_cli.h"
 #include "network.h"
+#include "lib/printfrr.h"
 
 #include "ripd/ripd.h"
 #include "ripd/rip_nb.h"
@@ -466,8 +467,8 @@ static void rip_rte_process(struct rte *rte, struct sockaddr_in *from,
                if (ret == RMAP_DENYMATCH) {
                        if (IS_RIP_DEBUG_PACKET)
                                zlog_debug(
-                                       "RIP %s/%d is filtered by route-map in",
-                                       inet_ntoa(p.prefix), p.prefixlen);
+                                       "RIP %pFX is filtered by route-map in",
+                                       &p);
                        return;
                }
 
@@ -502,8 +503,8 @@ static void rip_rte_process(struct rte *rte, struct sockaddr_in *from,
        /* Check if nexthop address is myself, then do nothing. */
        if (rip_nexthop_check(rip, nexthop) < 0) {
                if (IS_RIP_DEBUG_PACKET)
-                       zlog_debug("Nexthop address %s is myself",
-                                  inet_ntoa(*nexthop));
+                       zlog_debug("Nexthop address %pI4 is myself",
+                                  nexthop);
                return;
        }
 
@@ -830,8 +831,8 @@ static int rip_auth_simple_password(struct rte *rte, struct sockaddr_in *from,
        }
 
        if (IS_RIP_DEBUG_EVENT)
-               zlog_debug("RIPv2 simple password authentication from %s",
-                          inet_ntoa(from->sin_addr));
+               zlog_debug("RIPv2 simple password authentication from %pI4",
+                          &from->sin_addr);
 
        ri = ifp->info;
 
@@ -878,8 +879,8 @@ static int rip_auth_md5(struct rip_packet *packet, struct sockaddr_in *from,
        char auth_str[RIP_AUTH_MD5_SIZE] = {};
 
        if (IS_RIP_DEBUG_EVENT)
-               zlog_debug("RIPv2 MD5 authentication from %s",
-                          inet_ntoa(from->sin_addr));
+               zlog_debug("RIPv2 MD5 authentication from %pI4",
+                          &from->sin_addr);
 
        ri = ifp->info;
        md5 = (struct rip_md5_info *)&packet->rte;
@@ -1160,8 +1161,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                              rip->vrf->vrf_id)
            == NULL) {
                zlog_info(
-                       "This datagram doesn't came from a valid neighbor: %s",
-                       inet_ntoa(from->sin_addr));
+                       "This datagram doesn't come from a valid neighbor: %pI4",
+                       &from->sin_addr);
                rip_peer_bad_packet(rip, from);
                return;
        }
@@ -1190,9 +1191,9 @@ static void rip_response_process(struct rip_packet *packet, int size,
 
                if (rte->family != htons(AF_INET)) {
                        /* Address family check.  RIP only supports AF_INET. */
-                       zlog_info("Unsupported family %d from %s.",
+                       zlog_info("Unsupported family %d from %pI4",
                                  ntohs(rte->family),
-                                 inet_ntoa(from->sin_addr));
+                                 &from->sin_addr);
                        continue;
                }
 
@@ -1218,8 +1219,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                /* RIPv1 does not have nexthop value. */
                if (packet->version == RIPv1
                    && rte->nexthop.s_addr != INADDR_ANY) {
-                       zlog_info("RIPv1 packet with nexthop value %s",
-                                 inet_ntoa(rte->nexthop));
+                       zlog_info("RIPv1 packet with nexthop value %pI4",
+                                 &rte->nexthop);
                        rip_peer_bad_route(rip, from);
                        continue;
                }
@@ -1236,8 +1237,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                        addrval = ntohl(rte->nexthop.s_addr);
                        if (IN_CLASSD(addrval)) {
                                zlog_info(
-                                       "Nexthop %s is multicast address, skip this rte",
-                                       inet_ntoa(rte->nexthop));
+                                       "Nexthop %pI4 is multicast address, skip this rte",
+                                       &rte->nexthop);
                                continue;
                        }
 
@@ -1257,16 +1258,14 @@ static void rip_response_process(struct rip_packet *packet, int size,
                                                       == RIP_ROUTE_RTE) {
                                                if (IS_RIP_DEBUG_EVENT)
                                                        zlog_debug(
-                                                               "Next hop %s is on RIP network.  Set nexthop to the packet's originator",
-                                                               inet_ntoa(
-                                                                       rte->nexthop));
+                                                               "Next hop %pI4 is on RIP network.  Set nexthop to the packet's originator",
+                                                               &rte->nexthop);
                                                rte->nexthop = rinfo->from;
                                        } else {
                                                if (IS_RIP_DEBUG_EVENT)
                                                        zlog_debug(
-                                                               "Next hop %s is not directly reachable. Treat it as 0.0.0.0",
-                                                               inet_ntoa(
-                                                                       rte->nexthop));
+                                                               "Next hop %pI4 is not directly reachable. Treat it as 0.0.0.0",
+                                                               &rte->nexthop);
                                                rte->nexthop.s_addr =
                                                        INADDR_ANY;
                                        }
@@ -1275,9 +1274,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                                } else {
                                        if (IS_RIP_DEBUG_EVENT)
                                                zlog_debug(
-                                                       "Next hop %s is not directly reachable. Treat it as 0.0.0.0",
-                                                       inet_ntoa(
-                                                               rte->nexthop));
+                                                       "Next hop %pI4 is not directly reachable. Treat it as 0.0.0.0",
+                                                       &rte->nexthop);
                                        rte->nexthop.s_addr = INADDR_ANY;
                                }
                        }
@@ -1331,8 +1329,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                                    != rte->prefix.s_addr)
                                        masklen2ip(32, &rte->mask);
                                if (IS_RIP_DEBUG_EVENT)
-                                       zlog_debug("Subnetted route %s",
-                                                  inet_ntoa(rte->prefix));
+                                       zlog_debug("Subnetted route %pI4",
+                                                  &rte->prefix);
                        } else {
                                if ((rte->prefix.s_addr & rte->mask.s_addr)
                                    != rte->prefix.s_addr)
@@ -1340,10 +1338,10 @@ static void rip_response_process(struct rip_packet *packet, int size,
                        }
 
                        if (IS_RIP_DEBUG_EVENT) {
-                               zlog_debug("Resultant route %s",
-                                          inet_ntoa(rte->prefix));
-                               zlog_debug("Resultant mask %s",
-                                          inet_ntoa(rte->mask));
+                               zlog_debug("Resultant route %pI4",
+                                          &rte->prefix);
+                               zlog_debug("Resultant mask %pI4",
+                                          &rte->mask);
                        }
                }
 
@@ -1354,8 +1352,8 @@ static void rip_response_process(struct rip_packet *packet, int size,
                    && ((rte->prefix.s_addr & rte->mask.s_addr)
                        != rte->prefix.s_addr)) {
                        zlog_warn(
-                               "RIPv2 address %s is not mask /%d applied one",
-                               inet_ntoa(rte->prefix), ip_masklen(rte->mask));
+                               "RIPv2 address %pI4 is not mask /%d applied one",
+                               &rte->prefix, ip_masklen(rte->mask));
                        rip_peer_bad_route(rip, from);
                        continue;
                }
@@ -1418,8 +1416,8 @@ int rip_create_socket(struct vrf *vrf)
        frr_with_privs(&ripd_privs) {
                if ((ret = bind(sock, (struct sockaddr *)&addr, sizeof(addr)))
                    < 0) {
-                       zlog_err("%s: Can't bind socket %d to %s port %d: %s",
-                                __func__, sock, inet_ntoa(addr.sin_addr),
+                       zlog_err("%s: Can't bind socket %d to %pI4 port %d: %s",
+                                __func__, sock, &addr.sin_addr,
                                 (int)ntohs(addr.sin_port),
                                 safe_strerror(errno));
 
@@ -1459,14 +1457,14 @@ static int rip_send_packet(uint8_t *buf, int size, struct sockaddr_in *to,
                char dst[ADDRESS_SIZE];
 
                if (to) {
-                       strlcpy(dst, inet_ntoa(to->sin_addr), sizeof(dst));
+                       inet_ntop(AF_INET, &to->sin_addr, dst, sizeof(dst));
                } else {
                        sin.sin_addr.s_addr = htonl(INADDR_RIP_GROUP);
-                       strlcpy(dst, inet_ntoa(sin.sin_addr), sizeof(dst));
+                       inet_ntop(AF_INET, &sin.sin_addr, dst, sizeof(dst));
                }
 #undef ADDRESS_SIZE
-               zlog_debug("rip_send_packet %s > %s (%s)",
-                          inet_ntoa(ifc->address->u.prefix4), dst,
+               zlog_debug("rip_send_packet %pI4 > %s (%s)",
+                          &ifc->address->u.prefix4, dst,
                           ifc->ifp->name);
        }
 
@@ -1533,7 +1531,7 @@ static int rip_send_packet(uint8_t *buf, int size, struct sockaddr_in *to,
        ret = sendmsg(rip->sock, &msg, 0);
 
        if (IS_RIP_DEBUG_EVENT)
-               zlog_debug("SEND to  %s.%d", inet_ntoa(sin.sin_addr),
+               zlog_debug("SEND to  %pI4%d", &sin.sin_addr,
                           ntohs(sin.sin_port));
 
        if (ret < 0)
@@ -1782,15 +1780,15 @@ static int rip_read(struct thread *t)
 
        /* RIP packet received */
        if (IS_RIP_DEBUG_EVENT)
-               zlog_debug("RECV packet from %s port %d on %s (VRF %s)",
-                          inet_ntoa(from.sin_addr), ntohs(from.sin_port),
+               zlog_debug("RECV packet from %pI4 port %d on %s (VRF %s)",
+                          &from.sin_addr, ntohs(from.sin_port),
                           ifp ? ifp->name : "unknown", rip->vrf_name);
 
        /* If this packet come from unknown interface, ignore it. */
        if (ifp == NULL) {
                zlog_info(
-                       "rip_read: cannot find interface for packet from %s port %d (VRF %s)",
-                       inet_ntoa(from.sin_addr), ntohs(from.sin_port),
+                       "rip_read: cannot find interface for packet from %pI4 port %d (VRF %s)",
+                       &from.sin_addr, ntohs(from.sin_port),
                        rip->vrf_name);
                return -1;
        }
@@ -1803,8 +1801,8 @@ static int rip_read(struct thread *t)
 
        if (ifc == NULL) {
                zlog_info(
-                       "rip_read: cannot find connected address for packet from %s port %d on interface %s (VRF %s)",
-                       inet_ntoa(from.sin_addr), ntohs(from.sin_port),
+                       "rip_read: cannot find connected address for packet from %pI4 port %d on interface %s (VRF %s)",
+                       &from.sin_addr, ntohs(from.sin_port),
                        ifp->name, rip->vrf_name);
                return -1;
        }
@@ -2077,8 +2075,8 @@ void rip_output_process(struct connected *ifc, struct sockaddr_in *to,
        /* Logging output event. */
        if (IS_RIP_DEBUG_EVENT) {
                if (to)
-                       zlog_debug("update routes to neighbor %s",
-                                  inet_ntoa(to->sin_addr));
+                       zlog_debug("update routes to neighbor %pI4",
+                                  &to->sin_addr);
                else
                        zlog_debug("update routes on interface %s ifindex %d",
                                   ifc->ifp->name, ifc->ifp->ifindex);
@@ -2143,9 +2141,8 @@ void rip_output_process(struct connected *ifc, struct sockaddr_in *to,
 
                                if (IS_RIP_DEBUG_PACKET)
                                        zlog_debug(
-                                               "RIPv1 mask check, %s/%d considered for output",
-                                               inet_ntoa(rp->p.u.prefix4),
-                                               rp->p.prefixlen);
+                                               "RIPv1 mask check, %pFX considered for output",
+                                               &rp->p);
 
                                if (subnetted
                                    && prefix_match(
@@ -2166,9 +2163,8 @@ void rip_output_process(struct connected *ifc, struct sockaddr_in *to,
                                }
                                if (IS_RIP_DEBUG_PACKET)
                                        zlog_debug(
-                                               "RIPv1 mask check, %s/%d made it through",
-                                               inet_ntoa(rp->p.u.prefix4),
-                                               rp->p.prefixlen);
+                                               "RIPv1 mask check, %pFX made it through",
+                                               &rp->p);
                        } else
                                p = (struct prefix_ipv4 *)&rp->p;
 
@@ -2452,10 +2448,10 @@ static void rip_update_interface(struct connected *ifc, uint8_t version,
                        to.sin_port = htons(RIP_PORT_DEFAULT);
 
                        if (IS_RIP_DEBUG_EVENT)
-                               zlog_debug("%s announce to %s on %s",
+                               zlog_debug("%s announce to %pI4 on %s",
                                           CONNECTED_PEER(ifc) ? "unicast"
                                                               : "broadcast",
-                                          inet_ntoa(to.sin_addr), ifp->name);
+                                          &to.sin_addr, ifp->name);
 
                        rip_output_process(ifc, &to, route_type, version);
                }
@@ -2530,8 +2526,8 @@ static void rip_update_process(struct rip *rip, int route_type)
                                                      rip->vrf->vrf_id);
                        if (!connected) {
                                zlog_warn(
-                                       "Neighbor %s doesn't have connected interface!",
-                                       inet_ntoa(p->u.prefix4));
+                                       "Neighbor %pI4 doesn't have connected interface!",
+                                       &p->u.prefix4);
                                continue;
                        }
 
@@ -2957,8 +2953,7 @@ static void rip_distance_show(struct vty *vty, struct rip *rip)
                                        "    Address           Distance  List\n");
                                header = 0;
                        }
-                       snprintf(buf, sizeof(buf), "%s/%d",
-                                inet_ntoa(rn->p.u.prefix4), rn->p.prefixlen);
+                       snprintfrr(buf, sizeof(buf), "%pFX", &rn->p);
                        vty_out(vty, "    %-20s  %4d  %s\n", buf,
                                rdistance->distance,
                                rdistance->access_list ? rdistance->access_list
@@ -3085,12 +3080,11 @@ DEFUN (show_ip_rip,
                                int len;
 
                                len = vty_out(
-                                       vty, "%c(%s) %s/%d",
+                                       vty, "%c(%s) %pFX",
                                        /* np->lock, For debugging. */
                                        zebra_route_char(rinfo->type),
                                        rip_route_type_print(rinfo->sub_type),
-                                       inet_ntoa(np->p.u.prefix4),
-                                       np->p.prefixlen);
+                                       &np->p);
 
                                len = 24 - len;
 
@@ -3100,8 +3094,8 @@ DEFUN (show_ip_rip,
                                switch (rinfo->nh.type) {
                                case NEXTHOP_TYPE_IPV4:
                                case NEXTHOP_TYPE_IPV4_IFINDEX:
-                                       vty_out(vty, "%-20s %2d ",
-                                               inet_ntoa(rinfo->nh.gate.ipv4),
+                                       vty_out(vty, "%-20pI4 %2d ",
+                                               &rinfo->nh.gate.ipv4,
                                                rinfo->metric);
                                        break;
                                case NEXTHOP_TYPE_IFINDEX:
@@ -3125,8 +3119,8 @@ DEFUN (show_ip_rip,
                                /* Route which exist in kernel routing table. */
                                if ((rinfo->type == ZEBRA_ROUTE_RIP)
                                    && (rinfo->sub_type == RIP_ROUTE_RTE)) {
-                                       vty_out(vty, "%-15s ",
-                                               inet_ntoa(rinfo->from));
+                                       vty_out(vty, "%-15pI4 ",
+                                               &rinfo->from);
                                        vty_out(vty, "%3" ROUTE_TAG_PRI " ",
                                                (route_tag_t)rinfo->tag);
                                        rip_vty_out_uptime(vty, rinfo);