break;
 
        case AF_INET6:
-               snprintf(buf, len, "%x:%x:%x:%x:%x:%x:%x:%x, port=%u",
-                       NIP6(((struct sockaddr_in6 *) addr)->sin6_addr),
+               snprintf(buf, len, "%p6, port=%u",
+                        &((struct sockaddr_in6 *)addr)->sin6_addr,
                        ntohs(((struct sockaddr_in6 *) addr)->sin6_port));
                break;
 
 
        int len;
 #ifdef CONFIG_IP_VS_IPV6
        if (af == AF_INET6)
-               len = snprintf(&buf[*idx], buf_len - *idx, "[" NIP6_FMT "]",
-                              NIP6(addr->in6)) + 1;
+               len = snprintf(&buf[*idx], buf_len - *idx, "[%p6]",
+                              &addr->in6) + 1;
        else
 #endif
                len = snprintf(&buf[*idx], buf_len - *idx, NIPQUAD_FMT,
 
 static inline void nf_ct_dump_tuple_ipv6(const struct nf_conntrack_tuple *t)
 {
 #ifdef DEBUG
-       printk("tuple %p: %u " NIP6_FMT " %hu -> " NIP6_FMT " %hu\n",
+       printk("tuple %p: %u %p6 %hu -> %p6 %hu\n",
               t, t->dst.protonum,
-              NIP6(*(struct in6_addr *)t->src.u3.all), ntohs(t->src.u.all),
-              NIP6(*(struct in6_addr *)t->dst.u3.all), ntohs(t->dst.u.all));
+              t->src.u3.all, ntohs(t->src.u.all),
+              t->dst.u3.all, ntohs(t->dst.u.all));
 #endif
 }
 
 
        if (sctp_debug_flag) { \
                if (saddr->sa.sa_family == AF_INET6) { \
                        printk(KERN_DEBUG \
-                              lead NIP6_FMT trail, \
+                              lead "%p6" trail, \
                               leadparm, \
-                              NIP6(saddr->v6.sin6_addr), \
+                              &saddr->v6.sin6_addr, \
                               otherparms); \
                } else { \
                        printk(KERN_DEBUG \
 
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
        else if (sk->sk_family == AF_INET6) {
                struct ipv6_pinfo *np = inet6_sk(sk);
-               printk(KERN_DEBUG "Undo %s " NIP6_FMT "/%u c%u l%u ss%u/%u p%u\n",
+               printk(KERN_DEBUG "Undo %s %p6/%u c%u l%u ss%u/%u p%u\n",
                       msg,
-                      NIP6(np->daddr), ntohs(inet->dport),
+                      &np->daddr, ntohs(inet->dport),
                       tp->snd_cwnd, tcp_left_out(tp),
                       tp->snd_ssthresh, tp->prior_ssthresh,
                       tp->packets_out);
 
 #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
                else if (sk->sk_family == AF_INET6) {
                        struct ipv6_pinfo *np = inet6_sk(sk);
-                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer " NIP6_FMT ":%u/%u shrinks window %u:%u. Repaired.\n",
-                              NIP6(np->daddr), ntohs(inet->dport),
+                       LIMIT_NETDEBUG(KERN_DEBUG "TCP: Treason uncloaked! Peer %p6:%u/%u shrinks window %u:%u. Repaired.\n",
+                              &np->daddr, ntohs(inet->dport),
                               inet->num, tp->snd_una, tp->snd_nxt);
                }
 #endif
 
        label = p ? p->label : IPV6_ADDR_LABEL_DEFAULT;
        rcu_read_unlock();
 
-       ADDRLABEL(KERN_DEBUG "%s(addr=" NIP6_FMT ", type=%d, ifindex=%d) => %08x\n",
-                       __func__,
-                       NIP6(*addr), type, ifindex,
-                       label);
+       ADDRLABEL(KERN_DEBUG "%s(addr=%p6, type=%d, ifindex=%d) => %08x\n",
+                 __func__, addr, type, ifindex, label);
 
        return label;
 }
        struct ip6addrlbl_entry *newp;
        int addrtype;
 
-       ADDRLABEL(KERN_DEBUG "%s(prefix=" NIP6_FMT ", prefixlen=%d, ifindex=%d, label=%u)\n",
-                       __func__,
-                       NIP6(*prefix), prefixlen,
-                       ifindex,
-                       (unsigned int)label);
+       ADDRLABEL(KERN_DEBUG "%s(prefix=%p6, prefixlen=%d, ifindex=%d, label=%u)\n",
+                 __func__, prefix, prefixlen, ifindex, (unsigned int)label);
 
        addrtype = ipv6_addr_type(prefix) & (IPV6_ADDR_MAPPED | IPV6_ADDR_COMPATv4 | IPV6_ADDR_LOOPBACK);
 
        struct ip6addrlbl_entry *newp;
        int ret = 0;
 
-       ADDRLABEL(KERN_DEBUG "%s(prefix=" NIP6_FMT ", prefixlen=%d, ifindex=%d, label=%u, replace=%d)\n",
-                       __func__,
-                       NIP6(*prefix), prefixlen,
-                       ifindex,
-                       (unsigned int)label,
-                       replace);
+       ADDRLABEL(KERN_DEBUG "%s(prefix=%p6, prefixlen=%d, ifindex=%d, label=%u, replace=%d)\n",
+                 __func__, prefix, prefixlen, ifindex, (unsigned int)label,
+                 replace);
 
        newp = ip6addrlbl_alloc(net, prefix, prefixlen, ifindex, label);
        if (IS_ERR(newp))
        struct hlist_node *pos, *n;
        int ret = -ESRCH;
 
-       ADDRLABEL(KERN_DEBUG "%s(prefix=" NIP6_FMT ", prefixlen=%d, ifindex=%d)\n",
-                       __func__,
-                       NIP6(*prefix), prefixlen,
-                       ifindex);
+       ADDRLABEL(KERN_DEBUG "%s(prefix=%p6, prefixlen=%d, ifindex=%d)\n",
+                 __func__, prefix, prefixlen, ifindex);
 
        hlist_for_each_entry_safe(p, pos, n, &ip6addrlbl_table.head, list) {
                if (p->prefixlen == prefixlen &&
        struct in6_addr prefix_buf;
        int ret;
 
-       ADDRLABEL(KERN_DEBUG "%s(prefix=" NIP6_FMT ", prefixlen=%d, ifindex=%d)\n",
-                       __func__,
-                       NIP6(*prefix), prefixlen,
-                       ifindex);
+       ADDRLABEL(KERN_DEBUG "%s(prefix=%p6, prefixlen=%d, ifindex=%d)\n",
+                 __func__, prefix, prefixlen, ifindex);
 
        ipv6_addr_prefix(&prefix_buf, prefix, prefixlen);
        spin_lock(&ip6addrlbl_table.lock);
 
        if (!x)
                return;
 
-       NETDEBUG(KERN_DEBUG "pmtu discovery on SA AH/%08x/" NIP6_FMT "\n",
-                ntohl(ah->spi), NIP6(iph->daddr));
+       NETDEBUG(KERN_DEBUG "pmtu discovery on SA AH/%08x/%p6\n",
+                ntohl(ah->spi), &iph->daddr);
 
        xfrm_state_put(x);
 }
 
        x = xfrm_state_lookup((xfrm_address_t *)&iph->daddr, esph->spi, IPPROTO_ESP, AF_INET6);
        if (!x)
                return;
-       printk(KERN_DEBUG "pmtu discovery on SA ESP/%08x/" NIP6_FMT "\n",
-                       ntohl(esph->spi), NIP6(iph->daddr));
+       printk(KERN_DEBUG "pmtu discovery on SA ESP/%08x/%p6\n",
+                       ntohl(esph->spi), &iph->daddr);
        xfrm_state_put(x);
 }
 
 
 
        if (!(ipv6_addr_type(&hao->addr) & IPV6_ADDR_UNICAST)) {
                LIMIT_NETDEBUG(
-                       KERN_DEBUG "hao is not an unicast addr: " NIP6_FMT "\n", NIP6(hao->addr));
+                       KERN_DEBUG "hao is not an unicast addr: %p6\n", &hao->addr);
                goto discard;
        }
 
 
                skb->csum = ~csum_unfold(csum_ipv6_magic(saddr, daddr, skb->len,
                                             IPPROTO_ICMPV6, 0));
                if (__skb_checksum_complete(skb)) {
-                       LIMIT_NETDEBUG(KERN_DEBUG "ICMPv6 checksum failed [" NIP6_FMT " > " NIP6_FMT "]\n",
-                                      NIP6(*saddr), NIP6(*daddr));
+                       LIMIT_NETDEBUG(KERN_DEBUG "ICMPv6 checksum failed [%p6 > %p6]\n",
+                                      saddr, daddr);
                        goto discard_it;
                }
        }
 
                const struct mfc6_cache *mfc = v;
                const struct ipmr_mfc_iter *it = seq->private;
 
-               seq_printf(seq,
-                          NIP6_FMT " " NIP6_FMT " %-3d %8ld %8ld %8ld",
-                          NIP6(mfc->mf6c_mcastgrp), NIP6(mfc->mf6c_origin),
+               seq_printf(seq, "%p6 %p6 %-3d %8ld %8ld %8ld",
+                          &mfc->mf6c_mcastgrp, &mfc->mf6c_origin,
                           mfc->mf6c_parent,
                           mfc->mfc_un.res.pkt,
                           mfc->mfc_un.res.bytes,
 
        if (!x)
                return;
 
-       printk(KERN_DEBUG "pmtu discovery on SA IPCOMP/%08x/" NIP6_FMT "\n",
-                       spi, NIP6(iph->daddr));
+       printk(KERN_DEBUG "pmtu discovery on SA IPCOMP/%08x/%p6\n",
+                       spi, &iph->daddr);
        xfrm_state_put(x);
 }
 
 
 
        if ((probes -= neigh->parms->ucast_probes) < 0) {
                if (!(neigh->nud_state & NUD_VALID)) {
-                       ND_PRINTK1(KERN_DEBUG
-                                  "%s(): trying to ucast probe in NUD_INVALID: "
-                                  NIP6_FMT "\n",
-                                  __func__,
-                                  NIP6(*target));
+                       ND_PRINTK1(KERN_DEBUG "%s(): trying to ucast probe in NUD_INVALID: %p6\n",
+                                  __func__, target);
                }
                ndisc_send_ns(dev, neigh, target, target, saddr);
        } else if ((probes -= neigh->parms->app_probes) < 0) {
 
        }
 
        /* Max length: 88 "SRC=0000.0000.0000.0000.0000.0000.0000.0000 DST=0000.0000.0000.0000.0000.0000.0000.0000 " */
-       printk("SRC=" NIP6_FMT " DST=" NIP6_FMT " ", NIP6(ih->saddr), NIP6(ih->daddr));
+       printk("SRC=%p6 DST=%p6 ", &ih->saddr, &ih->daddr);
 
        /* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
        printk("LEN=%Zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
 
 static int ipv6_print_tuple(struct seq_file *s,
                            const struct nf_conntrack_tuple *tuple)
 {
-       return seq_printf(s, "src=" NIP6_FMT " dst=" NIP6_FMT " ",
-                         NIP6(*((struct in6_addr *)tuple->src.u3.ip6)),
-                         NIP6(*((struct in6_addr *)tuple->dst.u3.ip6)));
+       return seq_printf(s, "src=%p6 dst=%p6 ",
+                         tuple->src.u3.ip6, tuple->dst.u3.ip6);
 }
 
 /*
 
 
        if (genhash || memcmp(hash_location, newhash, 16) != 0) {
                if (net_ratelimit()) {
-                       printk(KERN_INFO "MD5 Hash %s for "
-                              "(" NIP6_FMT ", %u)->"
-                              "(" NIP6_FMT ", %u)\n",
+                       printk(KERN_INFO "MD5 Hash %s for (%p6, %u)->(%p6, %u)\n",
                               genhash ? "failed" : "mismatch",
-                              NIP6(ip6h->saddr), ntohs(th->source),
-                              NIP6(ip6h->daddr), ntohs(th->dest));
+                              &ip6h->saddr, ntohs(th->source),
+                              &ip6h->daddr, ntohs(th->dest));
                }
                return 1;
        }