#include <linux/netfilter/nf_conntrack_pptp.h>
 #include <net/netfilter/nf_conntrack_extend.h>
 
-struct nf_conn;
-
-/* The structure embedded in the conntrack structure. */
-struct nf_nat_info
-{
-       struct list_head bysource;
-       struct nf_nat_seq seq[IP_CT_DIR_MAX];
-       struct nf_conn *ct;
-};
-
 /* per conntrack: nat application helper private data */
 union nf_conntrack_nat_help
 {
        struct nf_nat_pptp nat_pptp_info;
 };
 
+struct nf_conn;
+
+/* The structure embedded in the conntrack structure. */
 struct nf_conn_nat
 {
-       struct nf_nat_info info;
+       struct list_head bysource;
+       struct nf_nat_seq seq[IP_CT_DIR_MAX];
+       struct nf_conn *ct;
        union nf_conntrack_nat_help help;
 #if defined(CONFIG_IP_NF_TARGET_MASQUERADE) || \
     defined(CONFIG_IP_NF_TARGET_MASQUERADE_MODULE)
 
        struct nf_conn *ct;
 
        read_lock_bh(&nf_nat_lock);
-       list_for_each_entry(nat, &bysource[h], info.bysource) {
-               ct = nat->info.ct;
+       list_for_each_entry(nat, &bysource[h], bysource) {
+               ct = nat->ct;
                if (same_src(ct, tuple)) {
                        /* Copy source part from reply tuple. */
                        nf_ct_invert_tuplepr(result,
 {
        struct nf_conntrack_tuple curr_tuple, new_tuple;
        struct nf_conn_nat *nat;
-       struct nf_nat_info *info;
        int have_to_hash = !(ct->status & IPS_NAT_DONE_MASK);
        enum nf_nat_manip_type maniptype = HOOK2MANIP(hooknum);
 
                srchash = hash_by_src(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
                write_lock_bh(&nf_nat_lock);
                /* nf_conntrack_alter_reply might re-allocate exntension aera */
-               info = &nfct_nat(ct)->info;
-               info->ct = ct;
-               list_add(&info->bysource, &bysource[srchash]);
+               nat = nfct_nat(ct);
+               nat->ct = ct;
+               list_add(&nat->bysource, &bysource[srchash]);
                write_unlock_bh(&nf_nat_lock);
        }
 
 {
        struct nf_conn_nat *nat = nf_ct_ext_find(ct, NF_CT_EXT_NAT);
 
-       if (nat == NULL || nat->info.ct == NULL)
+       if (nat == NULL || nat->ct == NULL)
                return;
 
-       NF_CT_ASSERT(nat->info.ct->status & IPS_NAT_DONE_MASK);
+       NF_CT_ASSERT(nat->ct->status & IPS_NAT_DONE_MASK);
 
        write_lock_bh(&nf_nat_lock);
-       list_del(&nat->info.bysource);
-       nat->info.ct = NULL;
+       list_del(&nat->bysource);
+       nat->ct = NULL;
        write_unlock_bh(&nf_nat_lock);
 }
 
 {
        struct nf_conn_nat *new_nat = nf_ct_ext_find(conntrack, NF_CT_EXT_NAT);
        struct nf_conn_nat *old_nat = (struct nf_conn_nat *)old;
-       struct nf_conn *ct = old_nat->info.ct;
+       struct nf_conn *ct = old_nat->ct;
        unsigned int srchash;
 
        if (!(ct->status & IPS_NAT_DONE_MASK))
        srchash = hash_by_src(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
 
        write_lock_bh(&nf_nat_lock);
-       list_replace(&old_nat->info.bysource, &new_nat->info.bysource);
-       new_nat->info.ct = ct;
+       list_replace(&old_nat->bysource, &new_nat->bysource);
+       new_nat->ct = ct;
        write_unlock_bh(&nf_nat_lock);
 }
 
 
 
        dir = CTINFO2DIR(ctinfo);
 
-       this_way = &nat->info.seq[dir];
-       other_way = &nat->info.seq[!dir];
+       this_way = &nat->seq[dir];
+       other_way = &nat->seq[!dir];
 
        DEBUGP("nf_nat_resize_packet: Seq_offset before: ");
        DUMP_OFFSET(this_way);
                            op[1] >= 2+TCPOLEN_SACK_PERBLOCK &&
                            ((op[1] - 2) % TCPOLEN_SACK_PERBLOCK) == 0)
                                sack_adjust(*pskb, tcph, optoff+2,
-                                           optoff+op[1],
-                                           &nat->info.seq[!dir]);
+                                           optoff+op[1], &nat->seq[!dir]);
                        optoff += op[1];
                }
        }
 
        dir = CTINFO2DIR(ctinfo);
 
-       this_way = &nat->info.seq[dir];
-       other_way = &nat->info.seq[!dir];
+       this_way = &nat->seq[dir];
+       other_way = &nat->seq[!dir];
 
        if (!skb_make_writable(pskb, ip_hdrlen(*pskb) + sizeof(*tcph)))
                return 0;