return 0;
 
        if (sysctl_ip_dynaddr > 1) {
-               printk(KERN_INFO "%s(): shifting inet->"
-                                "saddr from " NIPQUAD_FMT " to " NIPQUAD_FMT "\n",
-                      __func__,
-                      NIPQUAD(old_saddr),
-                      NIPQUAD(new_saddr));
+               printk(KERN_INFO "%s(): shifting inet->saddr from %pI4 to %pI4\n",
+                      __func__, &old_saddr, &new_saddr);
        }
 
        inet->saddr = inet->rcv_saddr = new_saddr;
 
 #if defined(CONFIG_AX25) || defined(CONFIG_AX25_MODULE)
        }
 #endif
-       sprintf(tbuf, NIPQUAD_FMT, NIPQUAD(*(u32*)n->primary_key));
+       sprintf(tbuf, "%pI4", n->primary_key);
        seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
                   tbuf, hatype, arp_state_to_flags(n), hbuffer, dev->name);
        read_unlock(&n->lock);
        int hatype = dev ? dev->type : 0;
        char tbuf[16];
 
-       sprintf(tbuf, NIPQUAD_FMT, NIPQUAD(*(u32*)n->key));
+       sprintf(tbuf, "%pI4", n->key);
        seq_printf(seq, "%-16s 0x%-10x0x%-10x%s     *        %s\n",
                   tbuf, hatype, ATF_PUBL | ATF_PERM, "00:00:00:00:00:00",
                   dev ? dev->name : "*");
 
                __be32 prf = htonl(mask_pfx(tn->key, tn->pos));
 
                seq_indent(seq, iter->depth-1);
-               seq_printf(seq, "  +-- " NIPQUAD_FMT "/%d %d %d %d\n",
-                          NIPQUAD(prf), tn->pos, tn->bits, tn->full_children,
+               seq_printf(seq, "  +-- %pI4/%d %d %d %d\n",
+                          &prf, tn->pos, tn->bits, tn->full_children,
                           tn->empty_children);
 
        } else {
                __be32 val = htonl(l->key);
 
                seq_indent(seq, iter->depth);
-               seq_printf(seq, "  |-- " NIPQUAD_FMT "\n", NIPQUAD(val));
+               seq_printf(seq, "  |-- %pI4\n", &val);
 
                hlist_for_each_entry_rcu(li, node, &l->list, hlist) {
                        struct fib_alias *fa;
 
                        break;
                case ICMP_FRAG_NEEDED:
                        if (ipv4_config.no_pmtu_disc) {
-                               LIMIT_NETDEBUG(KERN_INFO "ICMP: " NIPQUAD_FMT ": "
-                                                        "fragmentation needed "
-                                                        "and DF set.\n",
-                                              NIPQUAD(iph->daddr));
+                               LIMIT_NETDEBUG(KERN_INFO "ICMP: %pI4: fragmentation needed and DF set.\n",
+                                              &iph->daddr);
                        } else {
                                info = ip_rt_frag_needed(net, iph,
                                                         ntohs(icmph->un.frag.mtu),
                        }
                        break;
                case ICMP_SR_FAILED:
-                       LIMIT_NETDEBUG(KERN_INFO "ICMP: " NIPQUAD_FMT ": Source "
-                                                "Route Failed.\n",
-                                      NIPQUAD(iph->daddr));
+                       LIMIT_NETDEBUG(KERN_INFO "ICMP: %pI4: Source Route Failed.\n",
+                                      &iph->daddr);
                        break;
                default:
                        break;
        if (!net->ipv4.sysctl_icmp_ignore_bogus_error_responses &&
            inet_addr_type(net, iph->daddr) == RTN_BROADCAST) {
                if (net_ratelimit())
-                       printk(KERN_WARNING NIPQUAD_FMT " sent an invalid ICMP "
+                       printk(KERN_WARNING "%pI4 sent an invalid ICMP "
                                            "type %u, code %u "
-                                           "error to a broadcast: " NIPQUAD_FMT " on %s\n",
-                              NIPQUAD(ip_hdr(skb)->saddr),
+                                           "error to a broadcast: %pI4 on %s\n",
+                              &ip_hdr(skb)->saddr,
                               icmph->type, icmph->code,
-                              NIPQUAD(iph->daddr),
+                              &iph->daddr,
                               skb->dev->name);
                goto out;
        }
                                break;
                }
                if (!ifa && net_ratelimit()) {
-                       printk(KERN_INFO "Wrong address mask " NIPQUAD_FMT " from "
-                                        "%s/" NIPQUAD_FMT "\n",
-                              NIPQUAD(*mp), dev->name, NIPQUAD(rt->rt_src));
+                       printk(KERN_INFO "Wrong address mask %pI4 from %s/%pI4\n",
+                              mp, dev->name, &rt->rt_src);
                }
        }
        rcu_read_unlock();
 
        goto out_fail;
 out_oversize:
        if (net_ratelimit())
-               printk(KERN_INFO
-                       "Oversized IP packet from " NIPQUAD_FMT ".\n",
-                       NIPQUAD(qp->saddr));
+               printk(KERN_INFO "Oversized IP packet from %pI4.\n",
+                       &qp->saddr);
 out_fail:
        IP_INC_STATS_BH(dev_net(dev), IPSTATS_MIB_REASMFAILS);
        return err;
 
                        if (!IN_DEV_SOURCE_ROUTE(in_dev)) {
                                if (IN_DEV_LOG_MARTIANS(in_dev) &&
                                    net_ratelimit())
-                                       printk(KERN_INFO "source route option "
-                                              NIPQUAD_FMT " -> " NIPQUAD_FMT "\n",
-                                              NIPQUAD(iph->saddr),
-                                              NIPQUAD(iph->daddr));
+                                       printk(KERN_INFO "source route option %pI4 -> %pI4\n",
+                                              &iph->saddr, &iph->daddr);
                                in_dev_put(in_dev);
                                goto drop;
                        }
 
                              spi, IPPROTO_COMP, AF_INET);
        if (!x)
                return;
-       NETDEBUG(KERN_DEBUG "pmtu discovery on SA IPCOMP/%08x/" NIPQUAD_FMT "\n",
-                spi, NIPQUAD(iph->daddr));
+       NETDEBUG(KERN_DEBUG "pmtu discovery on SA IPCOMP/%08x/%pI4\n",
+                spi, &iph->daddr);
        xfrm_state_put(x);
 }
 
 
         */
 
        if (!ic_host_name_set)
-               sprintf(init_utsname()->nodename, NIPQUAD_FMT, NIPQUAD(ic_myaddr));
+               sprintf(init_utsname()->nodename, "%pI4", &ic_myaddr);
 
        if (root_server_addr == NONE)
                root_server_addr = ic_servaddr;
                else if (IN_CLASSC(ntohl(ic_myaddr)))
                        ic_netmask = htonl(IN_CLASSC_NET);
                else {
-                       printk(KERN_ERR "IP-Config: Unable to guess netmask for address " NIPQUAD_FMT "\n",
-                               NIPQUAD(ic_myaddr));
+                       printk(KERN_ERR "IP-Config: Unable to guess netmask for address %pI4\n",
+                               &ic_myaddr);
                        return -1;
                }
-               printk("IP-Config: Guessing netmask " NIPQUAD_FMT "\n", NIPQUAD(ic_netmask));
+               printk("IP-Config: Guessing netmask %pI4\n", &ic_netmask);
        }
 
        return 0;
                                ic_myaddr = b->your_ip;
                                ic_servaddr = server_id;
 #ifdef IPCONFIG_DEBUG
-                               printk("DHCP: Offered address " NIPQUAD_FMT,
-                                      NIPQUAD(ic_myaddr));
-                               printk(" by server " NIPQUAD_FMT "\n",
-                                      NIPQUAD(ic_servaddr));
+                               printk("DHCP: Offered address %pI4 by server %pI4\n",
+                                      &ic_myaddr, &ic_servaddr);
 #endif
                                /* The DHCP indicated server address takes
                                 * precedence over the bootp header one if
                return -1;
        }
 
-       printk("IP-Config: Got %s answer from " NIPQUAD_FMT ", ",
+       printk("IP-Config: Got %s answer from %pI4, ",
                ((ic_got_reply & IC_RARP) ? "RARP"
                 : (ic_proto_enabled & IC_USE_DHCP) ? "DHCP" : "BOOTP"),
-               NIPQUAD(ic_servaddr));
-       printk("my address is " NIPQUAD_FMT "\n", NIPQUAD(ic_myaddr));
+               &ic_servaddr);
+       printk("my address is %pI4\n", &ic_myaddr);
 
        return 0;
 }
                           "domain %s\n", ic_domain);
        for (i = 0; i < CONF_NAMESERVERS_MAX; i++) {
                if (ic_nameservers[i] != NONE)
-                       seq_printf(seq,
-                                  "nameserver " NIPQUAD_FMT "\n",
-                                  NIPQUAD(ic_nameservers[i]));
+                       seq_printf(seq, "nameserver %pI4\n",
+                                  &ic_nameservers[i]);
        }
        if (ic_servaddr != NONE)
-               seq_printf(seq,
-                          "bootserver " NIPQUAD_FMT "\n",
-                          NIPQUAD(ic_servaddr));
+               seq_printf(seq, "bootserver %pI4\n",
+                          &ic_servaddr);
        return 0;
 }
 
         */
        printk("IP-Config: Complete:");
        printk("\n     device=%s", ic_dev->name);
-       printk(", addr=" NIPQUAD_FMT, NIPQUAD(ic_myaddr));
-       printk(", mask=" NIPQUAD_FMT, NIPQUAD(ic_netmask));
-       printk(", gw=" NIPQUAD_FMT, NIPQUAD(ic_gateway));
+       printk(", addr=%pI4", &ic_myaddr);
+       printk(", mask=%pI4", &ic_netmask);
+       printk(", gw=%pI4", &ic_gateway);
        printk(",\n     host=%s, domain=%s, nis-domain=%s",
               utsname()->nodename, ic_domain, utsname()->domainname);
-       printk(",\n     bootserver=" NIPQUAD_FMT, NIPQUAD(ic_servaddr));
-       printk(", rootserver=" NIPQUAD_FMT, NIPQUAD(root_server_addr));
+       printk(",\n     bootserver=%pI4", &ic_servaddr);
+       printk(", rootserver=%pI4", &root_server_addr);
        printk(", rootpath=%s", root_server_path);
        printk("\n");
 #endif /* !SILENT */
 
 #if RT_CACHE_DEBUG >= 2
        if (rt->u.dst.rt_next) {
                struct rtable *trt;
-               printk(KERN_DEBUG "rt_cache @%02x: " NIPQUAD_FMT, hash,
-                      NIPQUAD(rt->rt_dst));
+               printk(KERN_DEBUG "rt_cache @%02x: %pI4", hash, &rt->rt_dst);
                for (trt = rt->u.dst.rt_next; trt; trt = trt->u.dst.rt_next)
-                       printk(" . " NIPQUAD_FMT, NIPQUAD(trt->rt_dst));
+                       printk(" . %pI4", &trt->rt_dst);
                printk("\n");
        }
 #endif
 reject_redirect:
 #ifdef CONFIG_IP_ROUTE_VERBOSE
        if (IN_DEV_LOG_MARTIANS(in_dev) && net_ratelimit())
-               printk(KERN_INFO "Redirect from " NIPQUAD_FMT " on %s about "
-                       NIPQUAD_FMT " ignored.\n"
-                       "  Advised path = " NIPQUAD_FMT " -> " NIPQUAD_FMT "\n",
-                      NIPQUAD(old_gw), dev->name, NIPQUAD(new_gw),
-                      NIPQUAD(saddr), NIPQUAD(daddr));
+               printk(KERN_INFO "Redirect from %pI4 on %s about %pI4 ignored.\n"
+                       "  Advised path = %pI4 -> %pI4\n",
+                      &old_gw, dev->name, &new_gw,
+                      &saddr, &daddr);
 #endif
        in_dev_put(in_dev);
 }
                                                rt->fl.oif,
                                                rt_genid(dev_net(dst->dev)));
 #if RT_CACHE_DEBUG >= 1
-                       printk(KERN_DEBUG "ipv4_negative_advice: redirect to "
-                                         NIPQUAD_FMT "/%02x dropped\n",
-                               NIPQUAD(rt->rt_dst), rt->fl.fl4_tos);
+                       printk(KERN_DEBUG "ipv4_negative_advice: redirect to %pI4/%02x dropped\n",
+                               &rt->rt_dst, rt->fl.fl4_tos);
 #endif
                        rt_del(hash, rt);
                        ret = NULL;
                if (IN_DEV_LOG_MARTIANS(in_dev) &&
                    rt->u.dst.rate_tokens == ip_rt_redirect_number &&
                    net_ratelimit())
-                       printk(KERN_WARNING "host " NIPQUAD_FMT "/if%d ignores "
-                               "redirects for " NIPQUAD_FMT " to " NIPQUAD_FMT ".\n",
-                               NIPQUAD(rt->rt_src), rt->rt_iif,
-                               NIPQUAD(rt->rt_dst), NIPQUAD(rt->rt_gateway));
+                       printk(KERN_WARNING "host %pI4/if%d ignores redirects for %pI4 to %pI4.\n",
+                               &rt->rt_src, rt->rt_iif,
+                               &rt->rt_dst, &rt->rt_gateway);
 #endif
        }
 out:
 
 static int ip_rt_bug(struct sk_buff *skb)
 {
-       printk(KERN_DEBUG "ip_rt_bug: " NIPQUAD_FMT " -> " NIPQUAD_FMT ", %s\n",
-               NIPQUAD(ip_hdr(skb)->saddr), NIPQUAD(ip_hdr(skb)->daddr),
+       printk(KERN_DEBUG "ip_rt_bug: %pI4 -> %pI4, %s\n",
+               &ip_hdr(skb)->saddr, &ip_hdr(skb)->daddr,
                skb->dev ? skb->dev->name : "?");
        kfree_skb(skb);
        return 0;
                 *      RFC1812 recommendation, if source is martian,
                 *      the only hint is MAC header.
                 */
-               printk(KERN_WARNING "martian source " NIPQUAD_FMT " from "
-                       NIPQUAD_FMT", on dev %s\n",
-                       NIPQUAD(daddr), NIPQUAD(saddr), dev->name);
+               printk(KERN_WARNING "martian source %pI4 from %pI4, on dev %s\n",
+                       &daddr, &saddr, dev->name);
                if (dev->hard_header_len && skb_mac_header_was_set(skb)) {
                        int i;
                        const unsigned char *p = skb_mac_header(skb);
        RT_CACHE_STAT_INC(in_martian_dst);
 #ifdef CONFIG_IP_ROUTE_VERBOSE
        if (IN_DEV_LOG_MARTIANS(in_dev) && net_ratelimit())
-               printk(KERN_WARNING "martian destination " NIPQUAD_FMT " from "
-                       NIPQUAD_FMT ", dev %s\n",
-                       NIPQUAD(daddr), NIPQUAD(saddr), dev->name);
+               printk(KERN_WARNING "martian destination %pI4 from %pI4, dev %s\n",
+                       &daddr, &saddr, dev->name);
 #endif
 
 e_hostunreach:
 
        struct inet_sock *inet = inet_sk(sk);
 
        if (sk->sk_family == AF_INET) {
-               printk(KERN_DEBUG "Undo %s " NIPQUAD_FMT "/%u c%u l%u ss%u/%u p%u\n",
+               printk(KERN_DEBUG "Undo %s %pI4/%u c%u l%u ss%u/%u p%u\n",
                       msg,
-                      NIPQUAD(inet->daddr), ntohs(inet->dport),
+                      &inet->daddr, ntohs(inet->dport),
                       tp->snd_cwnd, tcp_left_out(tp),
                       tp->snd_ssthresh, tp->prior_ssthresh,
                       tp->packets_out);
 
 
        if (genhash || memcmp(hash_location, newhash, 16) != 0) {
                if (net_ratelimit()) {
-                       printk(KERN_INFO "MD5 Hash failed for "
-                              "(" NIPQUAD_FMT ", %d)->(" NIPQUAD_FMT ", %d)%s\n",
-                              NIPQUAD(iph->saddr), ntohs(th->source),
-                              NIPQUAD(iph->daddr), ntohs(th->dest),
+                       printk(KERN_INFO "MD5 Hash failed for (%pI4, %d)->(%pI4, %d)%s\n",
+                              &iph->saddr, ntohs(th->source),
+                              &iph->daddr, ntohs(th->dest),
                               genhash ? " tcp_v4_calc_md5_hash failed" : "");
                }
                return 1;
                         * to destinations, already remembered
                         * to the moment of synflood.
                         */
-                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: drop open "
-                                      "request from " NIPQUAD_FMT "/%u\n",
-                                      NIPQUAD(saddr),
-                                      ntohs(tcp_hdr(skb)->source));
+                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: drop open request from %pI4/%u\n",
+                                      &saddr, ntohs(tcp_hdr(skb)->source));
                        goto drop_and_release;
                }
 
 
                = ktime_to_timespec(ktime_sub(p->tstamp, tcp_probe.start));
 
        return snprintf(tbuf, n,
-                       "%lu.%09lu " NIPQUAD_FMT ":%u " NIPQUAD_FMT ":%u"
-                       " %d %#x %#x %u %u %u %u\n",
+                       "%lu.%09lu %pI4:%u %pI4:%u %d %#x %#x %u %u %u %u\n",
                        (unsigned long) tv.tv_sec,
                        (unsigned long) tv.tv_nsec,
-                       NIPQUAD(p->saddr), ntohs(p->sport),
-                       NIPQUAD(p->daddr), ntohs(p->dport),
+                       &p->saddr, ntohs(p->sport),
+                       &p->daddr, ntohs(p->dport),
                        p->length, p->snd_nxt, p->snd_una,
                        p->snd_cwnd, p->ssthresh, p->snd_wnd, p->srtt);
 }
 
 #ifdef TCP_DEBUG
                struct inet_sock *inet = inet_sk(sk);
                if (sk->sk_family == AF_INET) {
-                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer " NIPQUAD_FMT ":%u/%u shrinks window %u:%u. Repaired.\n",
-                              NIPQUAD(inet->daddr), ntohs(inet->dport),
+                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer %pI4:%u/%u shrinks window %u:%u. Repaired.\n",
+                              &inet->daddr, ntohs(inet->dport),
                               inet->num, tp->snd_una, tp->snd_nxt);
                }
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
 
        return 0;
 
 short_packet:
-       LIMIT_NETDEBUG(KERN_DEBUG "UDP%s: short packet: From " NIPQUAD_FMT ":%u %d/%d to " NIPQUAD_FMT ":%u\n",
+       LIMIT_NETDEBUG(KERN_DEBUG "UDP%s: short packet: From %pI4:%u %d/%d to %pI4:%u\n",
                       proto == IPPROTO_UDPLITE ? "-Lite" : "",
-                      NIPQUAD(saddr),
+                      &saddr,
                       ntohs(uh->source),
                       ulen,
                       skb->len,
-                      NIPQUAD(daddr),
+                      &daddr,
                       ntohs(uh->dest));
        goto drop;
 
         * RFC1122: OK.  Discards the bad packet silently (as far as
         * the network is concerned, anyway) as per 4.1.3.4 (MUST).
         */
-       LIMIT_NETDEBUG(KERN_DEBUG "UDP%s: bad checksum. From " NIPQUAD_FMT ":%u to " NIPQUAD_FMT ":%u ulen %d\n",
+       LIMIT_NETDEBUG(KERN_DEBUG "UDP%s: bad checksum. From %pI4:%u to %pI4:%u ulen %d\n",
                       proto == IPPROTO_UDPLITE ? "-Lite" : "",
-                      NIPQUAD(saddr),
+                      &saddr,
                       ntohs(uh->source),
-                      NIPQUAD(daddr),
+                      &daddr,
                       ntohs(uh->dest),
                       ulen);
 drop:
 
                        if (skb->dev->type == ARPHRD_SIT) {
                                const struct iphdr *iph =
                                        (struct iphdr *)skb_mac_header(skb);
-                               printk("TUNNEL=%u.%u.%u.%u->%u.%u.%u.%u ",
-                                      NIPQUAD(iph->saddr),
-                                      NIPQUAD(iph->daddr));
+                               printk("TUNNEL=%pI4->%pI4 ",
+                                      &iph->saddr, &iph->daddr);
                        }
                } else
                        printk(" ");