docs: Add more on trex 96/16196/2
authorjdenisco <jdenisco@cisco.com>
Mon, 26 Nov 2018 20:15:09 +0000 (15:15 -0500)
committerDave Barach <openvpp@barachs.net>
Tue, 27 Nov 2018 15:48:06 +0000 (15:48 +0000)
Change-Id: Ifb5eabe30e1b0ba911ddf455573cc346ff4bec85
Signed-off-by: jdenisco <jdenisco@cisco.com>
docs/about.rst
docs/usecases/index.rst
docs/usecases/simpleperf/index.rst
docs/usecases/simpleperf/trex.rst
docs/usecases/simpleperf/trex1.rst
docs/usecases/simpleperf/trex2.rst [new file with mode: 0644]
docs/usecases/simpleperf/trex3.rst [new file with mode: 0644]

index 092da57..91c907b 100644 (file)
@@ -4,6 +4,6 @@
 About
 =====
 
-**VPP Version:** 19.01-rc0~238-g2419508
+**VPP Version:** 19.01-rc0~326-g162989e
 
-**Built on:** Tue Nov 13 17:37:07 GMT 2018
+**Built on:** Mon Nov 26 20:07:23 GMT 2018
index e6287f3..735947c 100644 (file)
@@ -14,3 +14,5 @@ extensive list, but should give a sampling of the many features contained in FD.
    vhost/index.rst
    homegateway
    contiv/index.rst
+
+
index 0f1d307..c1cbf58 100644 (file)
@@ -11,6 +11,8 @@ VPP with Iperf3 and TRex
    iperf31
    trex
    trex1
+   trex2
+   trex3
 
 
 
index 3dffcab..996ed15 100644 (file)
@@ -66,13 +66,6 @@ information on the configuration file, please refer to the `TRex Manual <http://
          - ip: 10.10.1.2
            default_gw: 10.10.1.1
    
-     platform:
-         master_thread_id: 0
-         latency_thread_id: 1
-         dual_if:
-           - socket: 1
-             threads: [22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43]
-
 Stop the previous VPP session and start it again in order to add a route for new
 IP addresses 16.0.0.0/8 and 48.0.0.0/8, according to Figure 2. Those IP addresses
 are needed because TRex generates packets that use these addresses. Refer to the
@@ -130,4 +123,3 @@ configuration file "cap2/dns.yaml".
 On *csp2s22c03*, the *show run* command displays the graph runtime statistics.
 
 .. figure:: /_images/build-a-fast-network-stack-terminal-2.png
-
index d1101ed..0daa57f 100644 (file)
@@ -30,15 +30,3 @@ On *csp2s22c03*, use the VCC CLI command show run to display the graph runtime s
 Observe that the average vector per node is 10.69 and 14.47:
 
 .. figure:: /_images/build-a-fast-network-stack-terminal-3.png
-
-Summary
-=======
-
-This tutorial showed how to download, compile, and install the VPP binary on an
-IntelĀ® Architecture platform. Examples of /etc/sysctl.d/80-vpp.conf and
-/etc/vpp/startup.conf/startup.conf configuration files were provided to get the
-user up and running with VPP. The tutorial also illustrated how to detect and bind
-the network interfaces to a DPDK-compatible driver. You can use the VPP CLI to assign
-IP addresses to these interfaces and bring them up. Finally, four examples using iperf3
-and TRex were included, to show how VPP processes packets in batches.
-
diff --git a/docs/usecases/simpleperf/trex2.rst b/docs/usecases/simpleperf/trex2.rst
new file mode 100644 (file)
index 0000000..adb1d10
--- /dev/null
@@ -0,0 +1,192 @@
+.. _trex2:
+
+TRex Stateless Mode
+===================
+
+TRex can also be run in a stateless mode. For a detailed description of TRex stateless support
+please refer to `TRex Stateless Support <https://trex-tgn.cisco.com/trex/doc/trex_stateless.html>`_.
+
+In this section we show some simple examples using TRex stateless mode. These examples use
+the configuration as shown in the section :ref:`trex`. These examples we will be using VMWare VMs.
+
+To use TRex stateless mode we use 2 terminals on the TRex traffic generator node.  One terminal will
+be used for the TRex console and one to monitor the traffic.
+
+In one of terminals start TRex in stateless mode.  Use *Ctrl-C* to stop.
+
+.. code-block:: console
+
+    # cd v2.46/
+    # ./trex -i
+    -Per port stats table 
+          ports |               0 |               1 |               2 |               3 
+     -----------------------------------------------------------------------------------------
+       opackets |               0 |               0 |               0 |               0 
+         obytes |               0 |               0 |               0 |               0 
+       ipackets |               6 |               6 |               5 |               5 
+         ibytes |             384 |             384 |             320 |             320 
+        ierrors |               0 |               0 |               0 |               0 
+        oerrors |               0 |               0 |               0 |               0 
+          Tx Bw |       0.00  bps |       0.00  bps |       0.00  bps |       0.00  bps 
+    
+    -Global stats enabled 
+     Cpu Utilization : 0.0  %
+     Platform_factor : 1.0  
+     Total-Tx        :       0.00  bps  
+     Total-Rx        :     238.30  bps  
+     Total-PPS       :       0.00  pps  
+     Total-CPS       :       0.00  cps  
+    
+     Expected-PPS    :       0.00  pps  
+     Expected-CPS    :       0.00  cps  
+     Expected-BPS    :       0.00  bps  
+    
+     Active-flows    :        0  Clients :        0   Socket-util : 0.0000 %    
+     Open-flows      :        0  Servers :        0   Socket :        0 Socket/Clients :  -nan 
+     drop-rate       :       0.00  bps   
+     current time    : 21.4 sec  
+     test duration   : 0.0 sec  
+     *** TRex is shutting down - cause: 'CTRL + C detected'
+     All cores stopped !! 
+
+In the other terminal start the TRex console. With this console we will execute the TRex commands.
+
+.. code-block:: console
+
+    # cd v2.46/
+    # ./trex -console
+    
+    Using 'python' as Python interpeter
+    
+    
+    Connecting to RPC server on localhost:4501                   [SUCCESS]
+    
+    
+    Connecting to publisher server on localhost:4500             [SUCCESS]
+    
+    
+    Acquiring ports [0, 1, 2, 3]:                                [SUCCESS]
+    
+    
+    Server Info:
+    
+    Server version:   v2.46 @ STL
+    Server mode:      Stateless
+    Server CPU:       2 x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
+    Ports count:      4 x 10Gbps @ VMXNET3 Ethernet Controller 
+    
+    -=TRex Console v3.0=-
+    
+    Type 'help' or '?' for supported actions
+    trex>
+
+Start some traffic using the **stl/imix.py** traffic profile.
+
+.. code-block:: console
+
+    trex>start -f ./stl/imix.py -p 0 1 2 3 -m 9475mbps
+    
+    Removing all streams from port(s) [0, 1, 2, 3]:              [SUCCESS]
+    
+    
+    Attaching 3 streams to port(s) [0]:                          [SUCCESS]
+    
+    
+    Attaching 3 streams to port(s) [1]:                          [SUCCESS]
+    
+    
+    Attaching 3 streams to port(s) [2]:                          [SUCCESS]
+    
+    
+    Attaching 3 streams to port(s) [3]:                          [SUCCESS]
+    
+    
+    Starting traffic on port(s) [0, 1, 2, 3]:                    [SUCCESS]
+    
+    80.94 [ms]
+    
+    trex>
+
+The **-f ./stl/imix.py** argument specifies the file that is used to create the
+traffic profile. The argument **-p 0 1 2 3** specifies the ports to be used.
+The argument **-m 9475mbps** the number of packets/sec to be used.
+All the arguments can be displayed with the **-h** argument.
+
+In the other terminal the display shows the statistics related the traffic flows.
+
+.. code-block:: console
+
+    -Per port stats table 
+          ports |               0 |               1 |               2 |               3
+     -----------------------------------------------------------------------------------------
+       opackets |       789907304 |       789894738 |       790017701 |       790017132 
+         obytes |    285397726750 |    285392406754 |    285406864578 |    285405883070 
+       ipackets |      1563501970 |              45 |      1563504693 |              44 
+         ibytes |    564870783050 |            2880 |    564873491682 |            2816 
+        ierrors |        15728759 |               0 |        15732451 |               0 
+        oerrors |               0 |               0 |               0 |               0 
+          Tx Bw |     606.55 Mbps |     606.19 Mbps |     606.25 Mbps |     606.51 Mbps 
+
+    -Global stats enabled 
+     Cpu Utilization : 100.0  %  2.4 Gb/core 
+     Platform_factor : 1.0  
+     Total-Tx        :       2.43 Gbps  
+     Total-Rx        :       2.40 Gbps  
+     Total-PPS       :     841.44 Kpps  
+     Total-CPS       :       0.00  cps  
+    
+     Expected-PPS    :       0.00  pps  
+     Expected-CPS    :       0.00  cps  
+     Expected-BPS    :       0.00  bps  
+    
+     Active-flows    :        0  Clients :        0   Socket-util : 0.0000 %    
+     Open-flows      :        0  Servers :        0   Socket :        0 Socket/Clients :  -nan 
+     Total_queue_full : 6529970196         
+     drop-rate       :       0.00  bps   
+     current time    : 4016.8 sec  
+     test duration   : 0.0 sec  
+    
+More statistics can be displayed on the TRex console using the **tui** command.
+
+.. code-block:: console
+
+    trex>tui
+    
+    Global Statistitcs
+    
+    connection   : localhost, Port 4501                  total_tx_L2  : 2.45 Gb/sec                    
+    version      : STL @ v2.46                           total_tx_L1  : 2.59 Gb/sec                    
+    cpu_util.    : 99.89% @ 2 cores (1 per port)         total_rx     : 2.42 Gb/sec                    
+    rx_cpu_util. : 4.03% / 837.39 Kpkt/sec               total_pps    : 846.96 Kpkt/sec                
+    async_util.  : 0.05% / 1.76 KB/sec                   drop_rate    : 0 b/sec                        
+                                                         queue_full   : 42,750,771 pkts                
+    
+    Port Statistics
+    
+       port    |         0         |         1         |         2         |         3         |       total       
+    -----------+-------------------+-------------------+-------------------+-------------------+------------------
+    owner      |              root |              root |              root |              root |                   
+    link       |                UP |                UP |                UP |                UP |                   
+    state      |      TRANSMITTING |      TRANSMITTING |      TRANSMITTING |      TRANSMITTING |                   
+    speed      |           10 Gb/s |           10 Gb/s |           10 Gb/s |           10 Gb/s |                   
+    CPU util.  |            99.89% |            99.89% |            99.89% |            99.89% |                   
+    --         |                   |                   |                   |                   |                   
+    Tx bps L2  |       612.76 Mbps |       613.07 Mbps |       612.52 Mbps |       612.77 Mbps |         2.45 Gbps 
+    Tx bps L1  |       646.64 Mbps |       646.96 Mbps |        646.4 Mbps |       646.64 Mbps |         2.59 Gbps 
+    Tx pps     |       211.72 Kpps |        211.8 Kpps |       211.73 Kpps |       211.71 Kpps |       846.96 Kpps 
+    Line Util. |            6.47 % |            6.47 % |            6.46 % |            6.47 % |                   
+    ---        |                   |                   |                   |                   |                   
+    Rx bps     |         1.21 Gbps |     \u25bc\u25bc\u25bc 23.03 bps |         1.21 Gbps |          5.94 bps |         2.42 G    bps 
+    Rx pps     |       418.59 Kpps |          0.04 pps |       418.77 Kpps |          0.01 pps |       837.36 Kpps 
+    ----       |                   |                   |                   |                   |                   
+    opackets   |           5227126 |           5227271 |           5432528 |           5432354 |          21319279 
+    ipackets   |          10526000 |                 5 |          10527054 |                 4 |          21053063 
+    obytes     |        1890829910 |        1891039152 |        1965259162 |        1965124338 |        7712252562 
+    ibytes     |        3807894454 |               320 |        3808149896 |               256 |        7616044926 
+    tx-pkts    |        5.23 Mpkts |        5.23 Mpkts |        5.43 Mpkts |        5.43 Mpkts |       21.32 Mpkts 
+    rx-pkts    |       10.53 Mpkts |            5 pkts |       10.53 Mpkts |            4 pkts |       21.05 Mpkts 
+    tx-bytes   |           1.89 GB |           1.89 GB |           1.97 GB |           1.97 GB |           7.71 GB 
+    rx-bytes   |           3.81 GB |             320 B |           3.81 GB |             256 B |           7.62 GB 
+    -----      |                   |                   |                   |                   |                   
+    oerrors    |                 0 |                 0 |                 0 |                 0 |                 0 
+    ierrors    |           133,370 |                 0 |           132,529 |                 0 |           265,899 
diff --git a/docs/usecases/simpleperf/trex3.rst b/docs/usecases/simpleperf/trex3.rst
new file mode 100644 (file)
index 0000000..e1014e5
--- /dev/null
@@ -0,0 +1,27 @@
+.. _trex3:
+
+Examples
+========
+
+There are many examples of how to create traffic flows in the directories below the
+TRex root directory. The stateless examples are written in Python and are found in
+the **./stl** directory. Examine the directories **./avl/, ./stl and ./cap2**. A few
+simple examples are as follows:
+
+* ./cap2/dns.yaml - Used in the first example
+* ./avl/sfr_delay_10_1g.yaml - Used in the second example
+* ./cap2/imix*.yaml - Uses some imix traffic profiles.
+* ./stl/udp_1pkt.py - UDP example
+* ./stl/imix.py - Simple imix example
+
+Summary
+=======
+
+This tutorial showed how to download, compile, and install the VPP binary on an
+IntelĀ® Architecture platform. Examples of /etc/sysctl.d/80-vpp.conf and
+/etc/vpp/startup.conf/startup.conf configuration files were provided to get the
+user up and running with VPP. The tutorial also illustrated how to detect and bind
+the network interfaces to a DPDK-compatible driver. You can use the VPP CLI to assign
+IP addresses to these interfaces and bring them up. Four examples using iperf3
+and TRex were included, to show how VPP processes packets in batches. We
+also showed how to use TRex in stateless mode and examine traffic flow statistics.