diff options
author | 2016-03-07 10:57:59 +0200 | |
---|---|---|
committer | 2016-03-07 10:57:59 +0200 | |
commit | da6c8601da77ce858d9abeb55b838bb6ba985d3b (patch) | |
tree | 58a229d96c92281563ae5dbb42839edf68d67b85 | |
parent | 3866e35dc86d700c19001c46e56081ce6ae6c4cc (diff) |
Addition to flow stats documentation
-rw-r--r-- | draft_trex_stateless.asciidoc | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/draft_trex_stateless.asciidoc b/draft_trex_stateless.asciidoc index baf4006c..8a4eda47 100644 --- a/draft_trex_stateless.asciidoc +++ b/draft_trex_stateless.asciidoc @@ -1921,16 +1921,22 @@ In this example, change the fsize to 1500 bytes ==== Tutorial: Per stream statistics -* Per stream statistic is implemented using hardware assist on the X710/XL710 Intel NIC using flow director rules -* With I350/82599 it is implemented in software. +* Per stream statistics is implemented using hardware assist when possible (X710/XL710 Intel NICs flow director rules for example). +* With other NICs (Intel I350, 82599) it is implemented in software. +* Implementation works as follows: +1. User chooses 32 bit packet group id (pg_id). +1. IPv4 Identification field of the stream is changed to a value with in a reserved range (0xff00 to 0xffff). Notice that if a stream for which +no statistics is needed has IPv4 Identification in the reserved range, it is changed (left bit becomes 0). +1. In the software implementation, hardware rules are used to direct packets from relevant streams to rx thread, where they are counted. +In the hardware implementation, HW rules are inserted to count packets from relevant streams. +1. Summed up statistics (per stream, per port) are sent using ZMQ async channel to clients. - [TODO IDO] +* Limitations: -1. Works only for IPv4 (with or without VLAN) -2. IPv4 Identification field is changed to a reserve values. -3. All users acquire interfaces is configured with a rule to count this stream id (base on IPV4.id) -4. Client sum the counter per stream (it is sent on ZMQ async channel) -5. Number of RX stats are 128 +1. Currently, the feature supports only two packet types: +a. IPv4 over ethernet +b. IPv4 with one vlan tag +2. Number of concurrent streams you can get statistics for is 128. [source,python] @@ -1943,11 +1949,11 @@ class STLS1(object): STLPktBuilder( pkt ="stl/yaml/udp_64B_no_crc.pcap"), mode = STLTXCont(pps=10), - rx_stats = STLRxStats(user_id = 7)) <1> + rx_stats = STLRxStats(pg_id = 7)) <1> ] ---- -<1> Configure this stream to be count on all RX ports as user_id=7 +<1> Configure this stream to be counted on all RX ports as packet group id 7 * TUI should show Tx/Rx stats [TODO] * Python API to get the info [TODO] |