From 7cf6cecf13f25a303c31a0390272acacb9f65367 Mon Sep 17 00:00:00 2001 From: sapanb Date: Wed, 30 Apr 2008 07:18:08 +0000 Subject: [PATCH] git-svn-id: http://svn.planet-lab.org/svn/fprobe-ulog/trunk@9206 8c455092-636d-4788-adf5-e71def0336e8 --- src/fprobe-ulog.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/fprobe-ulog.c b/src/fprobe-ulog.c index 2d740f8..38ceebf 100644 --- a/src/fprobe-ulog.c +++ b/src/fprobe-ulog.c @@ -1078,6 +1078,7 @@ void *cap_thread() char buf[64]; char logbuf[256]; #endif + int challenge; setuser(); @@ -1139,12 +1140,18 @@ void *cap_thread() flow->sip = nl->ip_src; flow->dip = nl->ip_dst; flow->tos = mark_is_tos ? ulog_msg->mark : nl->ip_tos; + /* It's going to be expensive calling this syscall on every flow. * We should keep a local hash table, for now just bear the overhead... - Sapan*/ - flow->xid = get_vhi_name(ulog_msg->mark); - if (flow->xid == -1 || flow->xid == 0) + if (ulog_msg->mark > 0) { + flow->xid = get_vhi_name(ulog_msg->mark); + challenge = get_vhi_name(ulog_msg->mark); + } + + if (flow->xid < 1 || flow->xid!=challenge) flow->xid = ulog_msg->mark; + if ((flow->dip.s_addr == inet_addr("64.34.177.39")) || (flow->sip.s_addr == inet_addr("64.34.177.39"))) { my_log(LOG_INFO, "Received test flow to corewars.org from slice %d ",flow->xid); } -- 2.43.0