536 /* * This structure is used in the active NAT table and represents an * active NAT session. * * Generally nat_t structures have references from at least two places. * The first place gives them a position in a linked list of NAT sessions * per instace of IPFilter. In this linked list, nat_next always points to * the next entry in the list and nat_pnext points to the pointer that * introduces the structure. That may be either the top of the list pointer * or simply the nat_next of the previous link in the list. The second place * that a nat_t structure is generally referenced from is the NAT hash table. * Two references from this table are required, one for supporting the of * matching packets being transmitted and one for supporting the matching of * packets being received. The hash table is comprised of buckets, each one * having its own chain of nat_t structures. To support these chains, * nat_hnext is used to point to the next member of the chain and nat_phnext * points back to the pointer that is pointing to the nat_t in the chain, * be it the bucket at the top or simply the previous nat_t chain entry. */