[RFC][PATCH 4/5] IPVS: debugging output for ip_vs_update_conntrack

From: Hannes Eder
Date: Mon Jul 27 2009 - 11:32:40 EST


This patch is not ment to be merged, its mere for debugging during
development.

Signed-off-by: Hannes Eder <heder@xxxxxxxxxx>

net/netfilter/ipvs/ip_vs_xmit.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)

diff --git a/net/netfilter/ipvs/ip_vs_xmit.c b/net/netfilter/ipvs/ip_vs_xmit.c
index f3b6810..ed6b811 100644
--- a/net/netfilter/ipvs/ip_vs_xmit.c
+++ b/net/netfilter/ipvs/ip_vs_xmit.c
@@ -24,6 +24,7 @@
#include <net/ip6_route.h>
#include <linux/icmpv6.h>
#include <linux/netfilter.h>
+#define DEBUG
#include <net/netfilter/nf_conntrack.h>
#include <linux/netfilter_ipv4.h>

@@ -345,12 +346,31 @@ ip_vs_bypass_xmit_v6(struct sk_buff *skb, struct ip_vs_conn *cp,
}
#endif

+#ifdef DEBUG
+static void
+ip_vs_dump_ct_tuple(const struct nf_conntrack_tuple *t)
+{
+ /*
+ * We ignore the fact that this is not SMP-safe. Otherwise we would
+ * have to duplicate code and this code is not ment to stay here anyway.
+ */
+ printk(KERN_DEBUG "IPVS: ");
+ nf_ct_dump_tuple(t);
+}
+#endif
+
static void
ip_vs_update_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp)
{
if (skb->nfct) {
struct nf_conn *ct = (struct nf_conn *)skb->nfct;

+#ifdef DEBUG
+ ip_vs_dump_ct_tuple(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
+ ip_vs_dump_ct_tuple(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
+ printk("IPVS: nfct confirmed=%d\n", nf_ct_is_confirmed(ct));
+#endif
+
if (ct != &nf_conntrack_untracked && !nf_ct_is_confirmed(ct)) {
/*
* The connection is not yet in the hashtable, so we
@@ -365,6 +385,12 @@ ip_vs_update_conntrack(struct sk_buff *skb, struct ip_vs_conn *cp)
ct->tuplehash[IP_CT_DIR_REPLY].tuple.src.u.tcp.port =
cp->dport;
}
+
+#ifdef DEBUG
+ ip_vs_dump_ct_tuple(&ct->tuplehash[IP_CT_DIR_ORIGINAL].tuple);
+ ip_vs_dump_ct_tuple(&ct->tuplehash[IP_CT_DIR_REPLY].tuple);
+#endif
+
}
}


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/