From: sapanb Date: Wed, 30 Apr 2008 07:18:08 +0000 (+0000) Subject: git-svn-id: http://svn.planet-lab.org/svn/fprobe-ulog/trunk@9206 8c455092-636d-4788... X-Git-Tag: fprobe-ulog-1.1.3-3~28 X-Git-Url: http://git.onelab.eu/?p=fprobe-ulog.git;a=commitdiff_plain;h=7cf6cecf13f25a303c31a0390272acacb9f65367 git-svn-id: svn.planet-lab.org/svn/fprobe-ulog/trunk@9206 8c455092-636d-4788-adf5-e71def0336e8 --- 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); }