From: Mark Huang <mlhuang@cs.princeton.edu>
Date: Mon, 20 Feb 2006 20:08:53 +0000 (+0000)
Subject: - add "priority" (like skb->priority) classification variable to conntrack
X-Git-Tag: before-fedora-2_6_18-1_2239_FC5-vs2_0_2_2-rc6-merge~60
X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=f62abae9af6cf65c18533595665d4e86aee747a6;p=linux-2.6.git

- add "priority" (like skb->priority) classification variable to conntrack
---

diff --git a/include/linux/netfilter_ipv4/ip_conntrack.h b/include/linux/netfilter_ipv4/ip_conntrack.h
index 0ea861a1b..029985c83 100644
--- a/include/linux/netfilter_ipv4/ip_conntrack.h
+++ b/include/linux/netfilter_ipv4/ip_conntrack.h
@@ -189,6 +189,10 @@ struct ip_conntrack
 #if defined(CONFIG_VNET) || defined(CONFIG_VNET_MODULE)
 	/* VServer context id */
 	xid_t xid[IP_CT_DIR_MAX];
+
+	/* Connection priority (pushed to skb->priority) */
+	/* Can be used directly by some classful qdiscs such as HTB */
+	u_int32_t priority;
 #endif
 
 	/* Traversed often, so hopefully in different cacheline to top */
diff --git a/net/ipv4/netfilter/ip_conntrack_core.c b/net/ipv4/netfilter/ip_conntrack_core.c
index d11386a82..55b82ef50 100644
--- a/net/ipv4/netfilter/ip_conntrack_core.c
+++ b/net/ipv4/netfilter/ip_conntrack_core.c
@@ -502,6 +502,7 @@ init_conntrack(const struct ip_conntrack_tuple *tuple,
 #if defined(CONFIG_VNET) || defined(CONFIG_VNET_MODULE)
 	conntrack->xid[IP_CT_DIR_ORIGINAL] = -1;
 	conntrack->xid[IP_CT_DIR_REPLY] = -1;
+	conntrack->priority = (u_int32_t)-1;
 #endif
 	if (!protocol->new(conntrack, skb)) {
 		kmem_cache_free(ip_conntrack_cachep, conntrack);