[ovs-dev] [PATCH] ofproto-dpif-ipfix: add support for per-flow TCP counters

Szczerbik, PrzemyslawX przemyslawx.szczerbik at intel.com
Fri May 19 10:57:17 UTC 2017



> -----Original Message-----
> From: Ben Pfaff [mailto:blp at ovn.org]
> Sent: Friday, May 19, 2017 4:39 AM
> To: Szczerbik, PrzemyslawX <przemyslawx.szczerbik at intel.com>
> Cc: dev at openvswitch.org
> Subject: Re: [ovs-dev] [PATCH] ofproto-dpif-ipfix: add support for per-flow TCP
> counters
> 
> On Thu, May 11, 2017 at 11:13:27AM +0100, Przemyslaw Szczerbik wrote:
> > This patch implements support for per-flow TCP IPFIX counters. It's based on
> RFC
> > 5102, section 5.10.
> >
> > Signed-off-by: Przemyslaw Szczerbik <przemyslawx.szczerbik at intel.com>
> 
> Thanks for working on IPFIX!
> 
> I suggest folding in an update to NEWS to mention this new feature,

Sure thing, I can update NEWS file.
> e.g.:
> 
> diff --git a/NEWS b/NEWS
> index 7a2b185bbd84..ab2faec02e57 100644
> --- a/NEWS
> +++ b/NEWS
> @@ -10,7 +10,9 @@ Post-v2.7.0
>         Log level can be changed in a usual OVS way using
>         'ovs-appctl vlog' commands for 'dpdk' module. Lower bound
>         still can be configured via extra arguments for DPDK EAL.
> -   - IPFIX now provides additional counters for totals since startup.
> +   - IPFIX now provides additional counters:
> +     * Total counters since metering process startup.
> +     * Per-flow TCP flag counters.
>     - New support for multiple VLANs (802.1ad or "QinQ"), including a new
>       "dot1q-tunnel" port VLAN mode.
>     - In ovn-vsctl and vtep-ctl, record UUIDs in commands may now be
> 
> However, I am worried about this feature.  I suspect that it does not
> report correct statistics.  It infers that, if a flow's tcp_flags
> contains a given flag, then that flag has been seen on every packet.
> But this is incorrect: in fact, it only means that the flag has been
> seen on at least one packet.

Flow represents exact content of the packet that is going to be sampled.
If packet, is it in fact a TCP packet, then tcp_flags member will contain appropriate values.
I'm assuming that all matched packets had exactly the same flags set, which really boils down to a single issue - IPFIX counters are based on probability.

Sampling probability is used to approximate number of matched packets, which is then used as a baseline for majority of other counters.
For instance, octet_delta_count counter implementation assumes that all matched packets have the same length.

I run a few tests on my patch and it worked quite well.

Is there a specific scenario that you would like me to test?
Do you have a suggestion how to improve implementation of TCP counters?

Regards,
Przemek



--------------------------------------------------------------
Intel Research and Development Ireland Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263


This e-mail and any attachments may contain confidential material for the sole
use of the intended recipient(s). Any review or distribution by others is
strictly prohibited. If you are not the intended recipient, please contact the
sender and delete all copies.



More information about the dev mailing list