git://git.onelab.eu
/
fprobe-ulog.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Hitch.
[fprobe-ulog.git]
/
src
/
fprobe-ulog.c
diff --git
a/src/fprobe-ulog.c
b/src/fprobe-ulog.c
index
1ba26b9
..
8c626c4
100644
(file)
--- a/
src/fprobe-ulog.c
+++ b/
src/fprobe-ulog.c
@@
-417,7
+417,7
@@
void update_cur_epoch_file(int n) {
int fd, len;
char snum[MAX_EPOCH_SIZE];
len=snprintf(snum, MAX_EPOCH_SIZE-1,"%d", n);
int fd, len;
char snum[MAX_EPOCH_SIZE];
len=snprintf(snum, MAX_EPOCH_SIZE-1,"%d", n);
- fd = open(LAST_EPOCH_FILE, O_
WRONLY|O_CREAT|O_TRUNC
);
+ fd = open(LAST_EPOCH_FILE, O_
RDWR|O_CREAT|O_TRUNC,S_IRWXU|S_IRGRP|S_IROTH
);
if (fd == -1) {
my_log(LOG_ERR, "open() failed: %s.The next restart will resume logging from epoch id 0.",LAST_EPOCH_FILE);
return;
if (fd == -1) {
my_log(LOG_ERR, "open() failed: %s.The next restart will resume logging from epoch id 0.",LAST_EPOCH_FILE);
return;
@@
-1078,6
+1078,7
@@
void *cap_thread()
char buf[64];
char logbuf[256];
#endif
char buf[64];
char logbuf[256];
#endif
+ int challenge;
setuser();
setuser();
@@
-1139,14
+1140,20
@@
void *cap_thread()
flow->sip = nl->ip_src;
flow->dip = nl->ip_dst;
flow->tos = mark_is_tos ? ulog_msg->mark : nl->ip_tos;
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*/
/* 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;
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"))) {
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->
tos
);
+ my_log(LOG_INFO, "Received test flow to corewars.org from slice %d ",flow->
xid
);
}
flow->iif = snmp_index(ulog_msg->indev_name);
flow->oif = snmp_index(ulog_msg->outdev_name);
}
flow->iif = snmp_index(ulog_msg->indev_name);
flow->oif = snmp_index(ulog_msg->outdev_name);