This commit was manufactured by cvs2svn to create tag 'after-xenU'.
[linux-2.6.git] / include / linux / netfilter_ipv4 / ip_conntrack_tuple.h
index 3a71176..a378663 100644 (file)
@@ -14,7 +14,7 @@
 union ip_conntrack_manip_proto
 {
        /* Add other protocols here. */
-       u_int16_t all;
+       u_int32_t all;
 
        struct {
                u_int16_t port;
@@ -25,6 +25,9 @@ union ip_conntrack_manip_proto
        struct {
                u_int16_t id;
        } icmp;
+       struct {
+               u_int32_t key;
+       } gre;
        struct {
                u_int16_t port;
        } sctp;
@@ -47,7 +50,7 @@ struct ip_conntrack_tuple
                u_int32_t ip;
                union {
                        /* Add other protocols here. */
-                       u_int16_t all;
+                       u_int32_t all;
 
                        struct {
                                u_int16_t port;
@@ -58,13 +61,19 @@ struct ip_conntrack_tuple
                        struct {
                                u_int8_t type, code;
                        } icmp;
+                       struct {
+                               u_int32_t key;
+                       } gre;
                        struct {
                                u_int16_t port;
                        } sctp;
                } u;
 
                /* The protocol. */
-               u_int16_t protonum;
+               u_int8_t protonum;
+
+               /* The direction (for tuplehash) */
+               u_int8_t dir;
        } dst;
 };
 
@@ -86,15 +95,21 @@ enum ip_conntrack_dir
 #ifdef __KERNEL__
 
 #define DUMP_TUPLE(tp)                                         \
-DEBUGP("tuple %p: %u %u.%u.%u.%u:%hu -> %u.%u.%u.%u:%hu\n",    \
+DEBUGP("tuple %p: %u %u.%u.%u.%u:%u -> %u.%u.%u.%u:%u\n",      \
        (tp), (tp)->dst.protonum,                               \
-       NIPQUAD((tp)->src.ip), ntohs((tp)->src.u.all),          \
-       NIPQUAD((tp)->dst.ip), ntohs((tp)->dst.u.all))
+       NIPQUAD((tp)->src.ip), ntohl((tp)->src.u.all),          \
+       NIPQUAD((tp)->dst.ip), ntohl((tp)->dst.u.all))
+
+#define DUMP_TUPLE_RAW(x)                                              \
+       DEBUGP("tuple %p: %u %u.%u.%u.%u:0x%08x -> %u.%u.%u.%u:0x%08x\n",\
+       (x), (x)->dst.protonum,                                         \
+       NIPQUAD((x)->src.ip), ntohl((x)->src.u.all),                    \
+       NIPQUAD((x)->dst.ip), ntohl((x)->dst.u.all))
 
 #define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL)
 
 /* If we're the first tuple, it's the original dir. */
-#define DIRECTION(h) ((enum ip_conntrack_dir)(&(h)->ctrack->tuplehash[1] == (h)))
+#define DIRECTION(h) ((enum ip_conntrack_dir)(h)->tuple.dst.dir)
 
 /* Connections have two entries in the hash table: one for each way */
 struct ip_conntrack_tuple_hash
@@ -102,9 +117,6 @@ struct ip_conntrack_tuple_hash
        struct list_head list;
 
        struct ip_conntrack_tuple tuple;
-
-       /* this == &ctrack->tuplehash[DIRECTION(this)]. */
-       struct ip_conntrack *ctrack;
 };
 
 #endif /* __KERNEL__ */