}
 }
 
-#define NF_CT_DUMP_TUPLE(tp)   nf_ct_dump_tuple(tp)
-
 /* If we're the first tuple, it's the original dir. */
 #define NF_CT_DIRECTION(h)                                             \
        ((enum ip_conntrack_dir)(h)->tuple.dst.dir)
 
        }
 
 #ifdef DEBUG
-       NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
+       nf_ct_dump_tuple_ip(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
 #endif
        pr_debug("hash=%u ct_hash=%u ", hash, ct->mark);
        if (!clusterip_responsible(cipinfo->config, hash)) {
 
                /* Can't create a new ICMP `conn' with this. */
                pr_debug("icmp: can't create new conn with type %u\n",
                         ct->tuplehash[0].tuple.dst.u.icmp.type);
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[0].tuple);
+               nf_ct_dump_tuple_ip(&ct->tuplehash[0].tuple);
                return false;
        }
        atomic_set(&ct->proto.icmp.count, 0);
 
        }
 
        pr_debug("trying to unexpect other dir: ");
-       NF_CT_DUMP_TUPLE(&t);
+       nf_ct_dump_tuple_ip(&t);
        other_exp = nf_ct_expect_find_get(&t);
        if (other_exp) {
                nf_ct_unexpect_related(other_exp);
 
                /* Can't create a new ICMPv6 `conn' with this. */
                pr_debug("icmpv6: can't create new conn with type %u\n",
                         type + 128);
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[0].tuple);
+               nf_ct_dump_tuple_ipv6(&ct->tuplehash[0].tuple);
                return false;
        }
        atomic_set(&ct->proto.icmp.count, 0);
 
        NF_CT_ASSERT(!nf_ct_is_confirmed(ct));
 
        pr_debug("Altering reply tuple of %p to ", ct);
-       NF_CT_DUMP_TUPLE(newreply);
+       nf_ct_dump_tuple(newreply);
 
        ct->tuplehash[IP_CT_DIR_REPLY].tuple = *newreply;
        if (ct->master || (help && help->expecting != 0))
 
                if (nf_ct_expect_related(rtp_exp) == 0) {
                        if (nf_ct_expect_related(rtcp_exp) == 0) {
                                pr_debug("nf_ct_h323: expect RTP ");
-                               NF_CT_DUMP_TUPLE(&rtp_exp->tuple);
+                               nf_ct_dump_tuple(&rtp_exp->tuple);
                                pr_debug("nf_ct_h323: expect RTCP ");
-                               NF_CT_DUMP_TUPLE(&rtcp_exp->tuple);
+                               nf_ct_dump_tuple(&rtcp_exp->tuple);
                        } else {
                                nf_ct_unexpect_related(rtp_exp);
                                ret = -1;
        } else {                /* Conntrack only */
                if (nf_ct_expect_related(exp) == 0) {
                        pr_debug("nf_ct_h323: expect T.120 ");
-                       NF_CT_DUMP_TUPLE(&exp->tuple);
+                       nf_ct_dump_tuple(&exp->tuple);
                } else
                        ret = -1;
        }
        while (get_tpkt_data(skb, protoff, ct, ctinfo,
                             &data, &datalen, &dataoff)) {
                pr_debug("nf_ct_h245: TPKT len=%d ", datalen);
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
+               nf_ct_dump_tuple(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
 
                /* Decode H.245 signal */
                ret = DecodeMultimediaSystemControlMessage(data, datalen,
        } else {                /* Conntrack only */
                if (nf_ct_expect_related(exp) == 0) {
                        pr_debug("nf_ct_q931: expect H.245 ");
-                       NF_CT_DUMP_TUPLE(&exp->tuple);
+                       nf_ct_dump_tuple(&exp->tuple);
                } else
                        ret = -1;
        }
        } else {                /* Conntrack only */
                if (nf_ct_expect_related(exp) == 0) {
                        pr_debug("nf_ct_q931: expect Call Forwarding ");
-                       NF_CT_DUMP_TUPLE(&exp->tuple);
+                       nf_ct_dump_tuple(&exp->tuple);
                } else
                        ret = -1;
        }
        while (get_tpkt_data(skb, protoff, ct, ctinfo,
                             &data, &datalen, &dataoff)) {
                pr_debug("nf_ct_q931: TPKT len=%d ", datalen);
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
+               nf_ct_dump_tuple(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
 
                /* Decode Q.931 signal */
                ret = DecodeQ931(data, datalen, &q931);
        } else {                /* Conntrack only */
                if (nf_ct_expect_related(exp) == 0) {
                        pr_debug("nf_ct_ras: expect Q.931 ");
-                       NF_CT_DUMP_TUPLE(&exp->tuple);
+                       nf_ct_dump_tuple(&exp->tuple);
 
                        /* Save port for looking up expect in processing RCF */
                        info->sig_port[dir] = port;
 
        if (nf_ct_expect_related(exp) == 0) {
                pr_debug("nf_ct_ras: expect RAS ");
-               NF_CT_DUMP_TUPLE(&exp->tuple);
+               nf_ct_dump_tuple(&exp->tuple);
        } else
                ret = -1;
 
                        pr_debug("nf_ct_ras: set Q.931 expect "
                                 "timeout to %u seconds for",
                                 info->timeout);
-                       NF_CT_DUMP_TUPLE(&exp->tuple);
+                       nf_ct_dump_tuple(&exp->tuple);
                        set_expect_timeout(exp, info->timeout);
                }
                spin_unlock_bh(&nf_conntrack_lock);
 
        if (nf_ct_expect_related(exp) == 0) {
                pr_debug("nf_ct_ras: expect Q.931 ");
-               NF_CT_DUMP_TUPLE(&exp->tuple);
+               nf_ct_dump_tuple(&exp->tuple);
        } else
                ret = -1;
 
 
        if (nf_ct_expect_related(exp) == 0) {
                pr_debug("nf_ct_ras: expect Q.931 ");
-               NF_CT_DUMP_TUPLE(&exp->tuple);
+               nf_ct_dump_tuple(&exp->tuple);
        } else
                ret = -1;
 
        if (data == NULL)
                goto accept;
        pr_debug("nf_ct_ras: RAS message len=%d ", datalen);
-       NF_CT_DUMP_TUPLE(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
+       nf_ct_dump_tuple(&ct->tuplehash[CTINFO2DIR(ctinfo)].tuple);
 
        /* Decode RAS message */
        ret = DecodeRasMessage(data, datalen, &ras);
 
                /* obviously this tuple inversion only works until you do NAT */
                nf_ct_invert_tuplepr(&inv_t, &exp->tuple);
                pr_debug("trying to unexpect other dir: ");
-               NF_CT_DUMP_TUPLE(&inv_t);
+               nf_ct_dump_tuple(&inv_t);
 
                exp_other = nf_ct_expect_find_get(&inv_t);
                if (exp_other) {
        struct nf_conn *sibling;
 
        pr_debug("trying to timeout ct or exp for tuple ");
-       NF_CT_DUMP_TUPLE(t);
+       nf_ct_dump_tuple(t);
 
        h = nf_conntrack_find_get(t);
        if (h)  {
 
        read_unlock_bh(&nf_ct_gre_lock);
 
        pr_debug("lookup src key 0x%x for ", key);
-       NF_CT_DUMP_TUPLE(t);
+       nf_ct_dump_tuple(t);
 
        return key;
 }
        *kmp = km;
 
        pr_debug("adding new entry %p: ", km);
-       NF_CT_DUMP_TUPLE(&km->tuple);
+       nf_ct_dump_tuple(&km->tuple);
 
        write_lock_bh(&nf_ct_gre_lock);
        list_add_tail(&km->list, &gre_keymap_list);
                    unsigned int dataoff)
 {
        pr_debug(": ");
-       NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
+       nf_ct_dump_tuple(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
 
        /* initialize to sane value.  Ideally a conntrack helper
         * (e.g. in case of pptp) is increasing them */
 
 
        pr_debug("tcp_in_window: START\n");
        pr_debug("tcp_in_window: ");
-       NF_CT_DUMP_TUPLE(tuple);
+       nf_ct_dump_tuple(tuple);
        pr_debug("seq=%u ack=%u sack=%u win=%u end=%u\n",
                 seq, ack, sack, win, end);
        pr_debug("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
                seq = end = sender->td_end;
 
        pr_debug("tcp_in_window: ");
-       NF_CT_DUMP_TUPLE(tuple);
+       nf_ct_dump_tuple(tuple);
        pr_debug("seq=%u ack=%u sack =%u win=%u end=%u\n",
                 seq, ack, sack, win, end);
        pr_debug("tcp_in_window: sender end=%u maxend=%u maxwin=%u scale=%i "
        ct->proto.tcp.last_dir = dir;
 
        pr_debug("tcp_conntracks: ");
-       NF_CT_DUMP_TUPLE(tuple);
+       nf_ct_dump_tuple(tuple);
        pr_debug("syn=%i ack=%i fin=%i rst=%i old=%i new=%i\n",
                 (th->syn ? 1 : 0), (th->ack ? 1 : 0),
                 (th->fin ? 1 : 0), (th->rst ? 1 : 0),
 
                          IPPROTO_TCP, NULL, &reply->port);
 
        pr_debug("nf_ct_sane: expect: ");
-       NF_CT_DUMP_TUPLE(&exp->tuple);
+       nf_ct_dump_tuple(&exp->tuple);
 
        /* Can't expect this?  Best to drop packet now. */
        if (nf_ct_expect_related(exp) != 0)
 
        case TFTP_OPCODE_READ:
        case TFTP_OPCODE_WRITE:
                /* RRQ and WRQ works the same way */
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
-               NF_CT_DUMP_TUPLE(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
+               nf_ct_dump_tuple(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
+               nf_ct_dump_tuple(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
 
                exp = nf_ct_expect_alloc(ct);
                if (exp == NULL)
                                  IPPROTO_UDP, NULL, &tuple->dst.u.udp.port);
 
                pr_debug("expect: ");
-               NF_CT_DUMP_TUPLE(&exp->tuple);
+               nf_ct_dump_tuple(&exp->tuple);
 
                nf_nat_tftp = rcu_dereference(nf_nat_tftp_hook);
                if (nf_nat_tftp && ct->status & IPS_NAT_MASK)