Hi,
I'm seeing wrong behavior of Netflow5 records emitted by Open vSwitch
2.1.90.
I've configured my switch to export Netflow records with an active timeout
of 30 seconds.
I've then started a single, long TCP session flowing through the switch.
The first netflow record seems OK - after 30 seconds, I get the first
record describing the session and it's OK.
>From that moment on, Netflow records about the session seem incorrect - the
start_time field ("init_time" in openvswitch code) is consistently set to a
very large value (which is identical in all records).
end_time is correct - it specifies the time in which the last packet from
the session was seen.
---
I've looked at ofproto/netflow.c, and I believe the problem lies in
the netflow_expire__ function.
The function calls nf_flow->created = 0; however, in gen_netflow_rec,
init_time is calculated like this:
nf_rec->init_time = htonl(nf_flow->created - nf->boot_time);
So for long sessions, which expire every active_timeout seconds, I will get
init_time = (0-boot_time) in every record which describes the ongoing
session.
I've recompiled openvswitch without the "nf_flow->created = 0" code, and
start_time looks good.
Any reason why this line should stay?
Thanks,
Lior Neudorfer
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev