if (ic == NULL)
                return NF_DROP;
 
-       IP_VS_DBG(12, "Outgoing ICMP (%d,%d) %u.%u.%u.%u->%u.%u.%u.%u\n",
+       IP_VS_DBG(12, "Outgoing ICMP (%d,%d) %pI4->%pI4\n",
                  ic->type, ntohs(icmp_id(ic)),
-                 NIPQUAD(iph->saddr), NIPQUAD(iph->daddr));
+                 &iph->saddr, &iph->daddr);
 
        /*
         * Work through seeing if this is for us.
        if (ic == NULL)
                return NF_DROP;
 
-       IP_VS_DBG(12, "Incoming ICMP (%d,%d) %u.%u.%u.%u->%u.%u.%u.%u\n",
+       IP_VS_DBG(12, "Incoming ICMP (%d,%d) %pI4->%pI4\n",
                  ic->type, ntohs(icmp_id(ic)),
-                 NIPQUAD(iph->saddr), NIPQUAD(iph->daddr));
+                 &iph->saddr, &iph->daddr);
 
        /*
         * Work through seeing if this is for us.
        /* Ensure the checksum is correct */
        if (!skb_csum_unnecessary(skb) && ip_vs_checksum_complete(skb, ihl)) {
                /* Failed checksum! */
-               IP_VS_DBG(1, "Incoming ICMP: failed checksum from %d.%d.%d.%d!\n",
-                         NIPQUAD(iph->saddr));
+               IP_VS_DBG(1, "Incoming ICMP: failed checksum from %pI4!\n",
+                         &iph->saddr);
                goto out;
        }
 
 
 
        /* Check for valid protocol: TCP or UDP, even for fwmark!=0 */
        if (usvc.protocol != IPPROTO_TCP && usvc.protocol != IPPROTO_UDP) {
-               IP_VS_ERR("set_ctl: invalid protocol: %d %d.%d.%d.%d:%d %s\n",
-                         usvc.protocol, NIPQUAD(usvc.addr.ip),
+               IP_VS_ERR("set_ctl: invalid protocol: %d %pI4:%d %s\n",
+                         usvc.protocol, &usvc.addr.ip,
                          ntohs(usvc.port), usvc.sched_name);
                ret = -EFAULT;
                goto out_unlock;
 
                return NULL;
        }
 
-       IP_VS_DBG(6, "DH: destination IP address %u.%u.%u.%u "
-                 "--> server %u.%u.%u.%u:%d\n",
-                 NIPQUAD(iph->daddr),
-                 NIPQUAD(dest->addr.ip),
-                 ntohs(dest->port));
+       IP_VS_DBG(6, "DH: destination IP address %pI4 --> server %pI4:%d\n",
+                 &iph->daddr, &dest->addr.ip, ntohs(dest->port));
 
        return dest;
 }
 
                                           &start, &end) != 1)
                        return 1;
 
-               IP_VS_DBG(7, "PASV response (%u.%u.%u.%u:%d) -> "
-                         "%u.%u.%u.%u:%d detected\n",
-                         NIPQUAD(from.ip), ntohs(port),
-                         NIPQUAD(cp->caddr.ip), 0);
+               IP_VS_DBG(7, "PASV response (%pI4:%d) -> %pI4:%d detected\n",
+                         &from.ip, ntohs(port), &cp->caddr.ip, 0);
 
                /*
                 * Now update or create an connection entry for it
                                   &start, &end) != 1)
                return 1;
 
-       IP_VS_DBG(7, "PORT %u.%u.%u.%u:%d detected\n",
-                 NIPQUAD(to.ip), ntohs(port));
+       IP_VS_DBG(7, "PORT %pI4:%d detected\n", &to.ip, ntohs(port));
 
        /* Passive mode off */
        cp->app_data = NULL;
        /*
         * Now update or create a connection entry for it
         */
-       IP_VS_DBG(7, "protocol %s %u.%u.%u.%u:%d %u.%u.%u.%u:%d\n",
+       IP_VS_DBG(7, "protocol %s %pI4:%d %pI4:%d\n",
                  ip_vs_proto_name(iph->protocol),
-                 NIPQUAD(to.ip), ntohs(port), NIPQUAD(cp->vaddr.ip), 0);
+                 &to.ip, ntohs(port), &cp->vaddr.ip, 0);
 
        n_cp = ip_vs_conn_in_get(AF_INET, iph->protocol,
                                 &to, port,
 
                }
        }
 
-       IP_VS_DBG(6, "LBLC: server %d.%d.%d.%d:%d "
+       IP_VS_DBG(6, "LBLC: server %pI4:%d "
                  "activeconns %d refcnt %d weight %d overhead %d\n",
-                 NIPQUAD(least->addr.ip), ntohs(least->port),
+                 &least->addr.ip, ntohs(least->port),
                  atomic_read(&least->activeconns),
                  atomic_read(&least->refcnt),
                  atomic_read(&least->weight), loh);
        write_unlock(&svc->sched_lock);
 
 out:
-       IP_VS_DBG(6, "LBLC: destination IP address %u.%u.%u.%u "
-                 "--> server %u.%u.%u.%u:%d\n",
-                 NIPQUAD(iph->daddr),
-                 NIPQUAD(dest->addr.ip),
-                 ntohs(dest->port));
+       IP_VS_DBG(6, "LBLC: destination IP address %pI4 --> server %pI4:%d\n",
+                 &iph->daddr, &dest->addr.ip, ntohs(dest->port));
 
        return dest;
 }
 
                }
        }
 
-       IP_VS_DBG(6, "ip_vs_dest_set_min: server %d.%d.%d.%d:%d "
+       IP_VS_DBG(6, "ip_vs_dest_set_min: server %pI4:%d "
                  "activeconns %d refcnt %d weight %d overhead %d\n",
-                 NIPQUAD(least->addr.ip), ntohs(least->port),
+                 &least->addr.ip, ntohs(least->port),
                  atomic_read(&least->activeconns),
                  atomic_read(&least->refcnt),
                  atomic_read(&least->weight), loh);
                }
        }
 
-       IP_VS_DBG(6, "ip_vs_dest_set_max: server %d.%d.%d.%d:%d "
+       IP_VS_DBG(6, "ip_vs_dest_set_max: server %pI4:%d "
                  "activeconns %d refcnt %d weight %d overhead %d\n",
-                 NIPQUAD(most->addr.ip), ntohs(most->port),
+                 &most->addr.ip, ntohs(most->port),
                  atomic_read(&most->activeconns),
                  atomic_read(&most->refcnt),
                  atomic_read(&most->weight), moh);
                }
        }
 
-       IP_VS_DBG(6, "LBLCR: server %d.%d.%d.%d:%d "
+       IP_VS_DBG(6, "LBLCR: server %pI4:%d "
                  "activeconns %d refcnt %d weight %d overhead %d\n",
-                 NIPQUAD(least->addr.ip), ntohs(least->port),
+                 &least->addr.ip, ntohs(least->port),
                  atomic_read(&least->activeconns),
                  atomic_read(&least->refcnt),
                  atomic_read(&least->weight), loh);
        write_unlock(&svc->sched_lock);
 
 out:
-       IP_VS_DBG(6, "LBLCR: destination IP address %u.%u.%u.%u "
-                 "--> server %u.%u.%u.%u:%d\n",
-                 NIPQUAD(iph->daddr),
-                 NIPQUAD(dest->addr.ip),
-                 ntohs(dest->port));
+       IP_VS_DBG(6, "LBLCR: destination IP address %pI4 --> server %pI4:%d\n",
+                 &iph->daddr, &dest->addr.ip, ntohs(dest->port));
 
        return dest;
 }
 
        if (ih == NULL)
                sprintf(buf, "%s TRUNCATED", pp->name);
        else if (ih->frag_off & htons(IP_OFFSET))
-               sprintf(buf, "%s %u.%u.%u.%u->%u.%u.%u.%u frag",
-                       pp->name, NIPQUAD(ih->saddr),
-                       NIPQUAD(ih->daddr));
+               sprintf(buf, "%s %pI4->%pI4 frag",
+                       pp->name, &ih->saddr, &ih->daddr);
        else {
                __be16 _ports[2], *pptr
 ;
                pptr = skb_header_pointer(skb, offset + ih->ihl*4,
                                          sizeof(_ports), _ports);
                if (pptr == NULL)
-                       sprintf(buf, "%s TRUNCATED %u.%u.%u.%u->%u.%u.%u.%u",
-                               pp->name,
-                               NIPQUAD(ih->saddr),
-                               NIPQUAD(ih->daddr));
+                       sprintf(buf, "%s TRUNCATED %pI4->%pI4",
+                               pp->name, &ih->saddr, &ih->daddr);
                else
-                       sprintf(buf, "%s %u.%u.%u.%u:%u->%u.%u.%u.%u:%u",
+                       sprintf(buf, "%s %pI4:%u->%pI4:%u",
                                pp->name,
-                               NIPQUAD(ih->saddr),
-                               ntohs(pptr[0]),
-                               NIPQUAD(ih->daddr),
-                               ntohs(pptr[1]));
+                               &ih->saddr, ntohs(pptr[0]),
+                               &ih->daddr, ntohs(pptr[1]));
        }
 
        printk(KERN_DEBUG "IPVS: %s: %s\n", msg, buf);
 
        if (ih == NULL)
                sprintf(buf, "%s TRUNCATED", pp->name);
        else
-               sprintf(buf, "%s %u.%u.%u.%u->%u.%u.%u.%u",
-                       pp->name, NIPQUAD(ih->saddr),
-                       NIPQUAD(ih->daddr));
+               sprintf(buf, "%s %pI4->%pI4",
+                       pp->name, &ih->saddr, &ih->daddr);
 
        printk(KERN_DEBUG "IPVS: %s: %s\n", msg, buf);
 }
 
                return NULL;
        }
 
-       IP_VS_DBG(6, "SH: source IP address %u.%u.%u.%u "
-                 "--> server %u.%u.%u.%u:%d\n",
-                 NIPQUAD(iph->saddr),
-                 NIPQUAD(dest->addr.ip),
-                 ntohs(dest->port));
+       IP_VS_DBG(6, "SH: source IP address %pI4 --> server %pI4:%d\n",
+                 &iph->saddr, &dest->addr.ip, ntohs(dest->port));
 
        return dest;
 }
 
                IP_VS_ERR("You probably need to specify IP address on "
                          "multicast interface.\n");
 
-       IP_VS_DBG(7, "binding socket with (%s) %u.%u.%u.%u\n",
-                 ifname, NIPQUAD(addr));
+       IP_VS_DBG(7, "binding socket with (%s) %pI4\n",
+                 ifname, &addr);
 
        /* Now bind the socket with the address of multicast interface */
        sin.sin_family       = AF_INET;
 
 
                        if (ip_route_output_key(&init_net, &rt, &fl)) {
                                spin_unlock(&dest->dst_lock);
-                               IP_VS_DBG_RL("ip_route_output error, "
-                                            "dest: %u.%u.%u.%u\n",
-                                            NIPQUAD(dest->addr.ip));
+                               IP_VS_DBG_RL("ip_route_output error, dest: %pI4\n",
+                                            &dest->addr.ip);
                                return NULL;
                        }
                        __ip_vs_dst_set(dest, rtos, dst_clone(&rt->u.dst));
-                       IP_VS_DBG(10, "new dst %u.%u.%u.%u, refcnt=%d, rtos=%X\n",
-                                 NIPQUAD(dest->addr.ip),
+                       IP_VS_DBG(10, "new dst %pI4, refcnt=%d, rtos=%X\n",
+                                 &dest->addr.ip,
                                  atomic_read(&rt->u.dst.__refcnt), rtos);
                }
                spin_unlock(&dest->dst_lock);
                };
 
                if (ip_route_output_key(&init_net, &rt, &fl)) {
-                       IP_VS_DBG_RL("ip_route_output error, dest: "
-                                    "%u.%u.%u.%u\n", NIPQUAD(cp->daddr.ip));
+                       IP_VS_DBG_RL("ip_route_output error, dest: %pI4\n",
+                                    &cp->daddr.ip);
                        return NULL;
                }
        }
        EnterFunction(10);
 
        if (ip_route_output_key(&init_net, &rt, &fl)) {
-               IP_VS_DBG_RL("ip_vs_bypass_xmit(): ip_route_output error, "
-                            "dest: %u.%u.%u.%u\n", NIPQUAD(iph->daddr));
+               IP_VS_DBG_RL("ip_vs_bypass_xmit(): ip_route_output error, dest: %pI4\n",
+                            &iph->daddr);
                goto tx_error_icmp;
        }
 
 
                   different IP address.  Simply don't record it for
                   NAT. */
                if (cmd.l3num == PF_INET) {
-                       pr_debug("conntrack_ftp: NOT RECORDING: " NIPQUAD_FMT
-                                " != " NIPQUAD_FMT "\n",
-                                NIPQUAD(cmd.u3.ip),
-                                NIPQUAD(ct->tuplehash[dir].tuple.src.u3.ip));
+                       pr_debug("conntrack_ftp: NOT RECORDING: %pI4 != %pI4\n",
+                                &cmd.u3.ip,
+                                &ct->tuplehash[dir].tuple.src.u3.ip);
                } else {
                        pr_debug("conntrack_ftp: NOT RECORDING: %pI6 != %pI6\n",
                                 cmd.u3.ip6,
 
                /* we have at least (19+MINMATCHLEN)-5 bytes valid data left */
 
                iph = ip_hdr(skb);
-               pr_debug("DCC found in master %u.%u.%u.%u:%u %u.%u.%u.%u:%u\n",
-                        NIPQUAD(iph->saddr), ntohs(th->source),
-                        NIPQUAD(iph->daddr), ntohs(th->dest));
+               pr_debug("DCC found in master %pI4:%u %pI4:%u\n",
+                        &iph->saddr, ntohs(th->source),
+                        &iph->daddr, ntohs(th->dest));
 
                for (i = 0; i < ARRAY_SIZE(dccprotos); i++) {
                        if (memcmp(data, dccprotos[i], strlen(dccprotos[i]))) {
                            tuple->dst.u3.ip != htonl(dcc_ip)) {
                                if (net_ratelimit())
                                        printk(KERN_WARNING
-                                               "Forged DCC command from "
-                                               "%u.%u.%u.%u: %u.%u.%u.%u:%u\n",
-                                               NIPQUAD(tuple->src.u3.ip),
-                                               HIPQUAD(dcc_ip), dcc_port);
+                                               "Forged DCC command from %pI4: %pI4:%u\n",
+                                               &tuple->src.u3.ip,
+                                               &dcc_ip, dcc_port);
                                continue;
                        }
 
 
 
        switch (family) {
        case NFPROTO_IPV4:
-               return seq_printf(s, "%ld %u.%u.%u.%u:%u->"
-                                    "%u.%u.%u.%u:%u %u %u %u\n",
+               return seq_printf(s, "%ld %pI4:%u->%pI4:%u %u %u %u\n",
                                 (long)(ent->expires - jiffies)/HZ,
-                                NIPQUAD(ent->dst.ip.src),
+                                &ent->dst.ip.src,
                                 ntohs(ent->dst.src_port),
-                                NIPQUAD(ent->dst.ip.dst),
+                                &ent->dst.ip.dst,
                                 ntohs(ent->dst.dst_port),
                                 ent->rateinfo.credit, ent->rateinfo.credit_cap,
                                 ent->rateinfo.cost);
 
                if ((ntohl(iph->saddr) < ntohl(info->src.min_ip)
                          || ntohl(iph->saddr) > ntohl(info->src.max_ip))
                         ^ !!(info->flags & IPRANGE_SRC_INV)) {
-                       pr_debug("src IP %u.%u.%u.%u NOT in range %s"
-                                "%u.%u.%u.%u-%u.%u.%u.%u\n",
-                                NIPQUAD(iph->saddr),
+                       pr_debug("src IP %pI4 NOT in range %s%pI4-%pI4\n",
+                                &iph->saddr,
                                 info->flags & IPRANGE_SRC_INV ? "(INV) " : "",
-                                NIPQUAD(info->src.min_ip),
-                                NIPQUAD(info->src.max_ip));
+                                &info->src.min_ip,
+                                &info->src.max_ip);
                        return false;
                }
        }
                if ((ntohl(iph->daddr) < ntohl(info->dst.min_ip)
                          || ntohl(iph->daddr) > ntohl(info->dst.max_ip))
                         ^ !!(info->flags & IPRANGE_DST_INV)) {
-                       pr_debug("dst IP %u.%u.%u.%u NOT in range %s"
-                                "%u.%u.%u.%u-%u.%u.%u.%u\n",
-                                NIPQUAD(iph->daddr),
+                       pr_debug("dst IP %pI4 NOT in range %s%pI4-%pI4\n",
+                                &iph->daddr,
                                 info->flags & IPRANGE_DST_INV ? "(INV) " : "",
-                                NIPQUAD(info->dst.min_ip),
-                                NIPQUAD(info->dst.max_ip));
+                                &info->dst.min_ip,
+                                &info->dst.max_ip);
                        return false;
                }
        }
                m |= ntohl(iph->saddr) > ntohl(info->src_max.ip);
                m ^= !!(info->flags & IPRANGE_SRC_INV);
                if (m) {
-                       pr_debug("src IP " NIPQUAD_FMT " NOT in range %s"
-                                NIPQUAD_FMT "-" NIPQUAD_FMT "\n",
-                                NIPQUAD(iph->saddr),
+                       pr_debug("src IP %pI4 NOT in range %s%pI4-%pI4\n",
+                                &iph->saddr,
                                 (info->flags & IPRANGE_SRC_INV) ? "(INV) " : "",
-                                NIPQUAD(info->src_max.ip),
-                                NIPQUAD(info->src_max.ip));
+                                &info->src_max.ip,
+                                &info->src_max.ip);
                        return false;
                }
        }
                m |= ntohl(iph->daddr) > ntohl(info->dst_max.ip);
                m ^= !!(info->flags & IPRANGE_DST_INV);
                if (m) {
-                       pr_debug("dst IP " NIPQUAD_FMT " NOT in range %s"
-                                NIPQUAD_FMT "-" NIPQUAD_FMT "\n",
-                                NIPQUAD(iph->daddr),
+                       pr_debug("dst IP %pI4 NOT in range %s%pI4-%pI4\n",
+                                &iph->daddr,
                                 (info->flags & IPRANGE_DST_INV) ? "(INV) " : "",
-                                NIPQUAD(info->dst_min.ip),
-                                NIPQUAD(info->dst_max.ip));
+                                &info->dst_min.ip,
+                                &info->dst_max.ip);
                        return false;
                }
        }
 
 
        i = (e->index - 1) % ip_pkt_list_tot;
        if (e->family == NFPROTO_IPV4)
-               seq_printf(seq, "src=" NIPQUAD_FMT " ttl: %u last_seen: %lu "
-                          "oldest_pkt: %u", NIPQUAD(e->addr.ip), e->ttl,
-                          e->stamps[i], e->index);
+               seq_printf(seq, "src=%pI4 ttl: %u last_seen: %lu oldest_pkt: %u",
+                          &e->addr.ip, e->ttl, e->stamps[i], e->index);
        else
                seq_printf(seq, "src=%pI6 ttl: %u last_seen: %lu oldest_pkt: %u",
                           &e->addr.in6, e->ttl, e->stamps[i], e->index);