v1.81
authorHanoh Haim <[email protected]>
Thu, 3 Dec 2015 12:16:20 +0000 (14:16 +0200)
committerHanoh Haim <[email protected]>
Thu, 3 Dec 2015 12:16:20 +0000 (14:16 +0200)
release_notes.asciidoc
trex_book.asciidoc
trex_book_basic.asciidoc

index 91b89bf..0dee7bf 100755 (executable)
@@ -22,7 +22,11 @@ endif::backend-docbook[]
 
 == Release 1.81  ==
 
-** Support for specifying different modes for the packets used for latency measurement. Details link:trex_manual.html#_measure_jitter_latency[here].
+* more stateless support and fixes 
+** change the JSON-RPC result format 
+* Support for specifying different modes for the packets used for latency measurement. Details link:trex_manual.html#_measure_jitter_latency[here].
+
+=== fix issues: ===
 
 * link:http://csi-wiki-01:8090/issue/trex-149[trex-149] 
 
index c63c570..d151e55 100755 (executable)
@@ -107,7 +107,7 @@ TRex curretly works on x86 architecture and can operates well on Cisco UCS hardw
 | Bandwidth | Chipset |  Example
 | 1Gb/sec  | Intel I350 | Intel 4x1GE 350-T4 NIC
 | 10Gb/sec | Intel 82599  | Intel x520-D2  Cisco Order tool 2X Intel N2XX-AIPCI01, Intel X520 Dual Port 10Gb SFP+ Adapter
-| 40Gb/sec | Intel XL710  | QSFP+
+| 40Gb/sec | Intel XL710 Intel X710  | QSFP+, SFP+ 
 | VMXNET   | VMware paravirtualize  | connect using vmWare vSwitch
 | E1000    | paravirtualize  | vmWare/KVM/VirtualBox 
 |=================
@@ -120,12 +120,12 @@ TRex curretly works on x86 architecture and can operates well on Cisco UCS hardw
 * NUMAs-CPUs relation is determined with following command: lscpu
 * See real example of NUMA usage xref:numa-example[here]
 * Using Intel XL710 with Fedora 18 requires updating Kernel.
-* For Intel XL710 NICs need to verify the FW is v4.42 or v4.53:
+* For Intel XL710 NICs there is a need to verify the FW is v4.42 or v4.53 see  xref:xl710-firmware[here] for more info 
 ** > sudo ./t-rex-64 -f cap2/dns.yaml -d 0 --no-flow-control *-v 6* --nc | grep FW
-** PMD:  *FW 4.22* API 1.2 NVM 04.02.04 eetrack 800013fc
-** PMD:  *FW 4.22* API 1.2 NVM 04.02.04 eetrack 800013fc
-** PMD:  *FW 4.22* API 1.2 NVM 04.02.04 eetrack 800013fc
-** PMD:  *FW 4.22* API 1.2 NVM 04.02.04 eetrack 800013fc
+** PMD:  FW 4.22 API 1.2 NVM *04.04.02* eetrack 800013fc
+** PMD:  FW 4.22 API 1.2 NVM *04.04.02* eetrack 800013fc
+** PMD:  FW 4.22 API 1.2 NVM *04.04.02* eetrack 800013fc
+** PMD:  FW 4.22 API 1.2 NVM *04.04.02* eetrack 800013fc
 
 
 
@@ -1301,3 +1301,83 @@ $./bp-sim-64-debug -f avl/sfr_delay_10_1g.yaml -v 1
 <1> the memory usage of the templates 
 <2> CSV for all the templates 
 
+
+=== firmware update to XL710/X710 anchor:xl710-firmware[]
+To upgrade the firmware  follow  this
+
+==== Download the driver 
+
+*Download driver i40e from link:https://downloadcenter.intel.com/download/24411/Network-Adapter-Driver-for-PCI-E-40-Gigabit-Network-Connections-under-Linux-[here]
+*Build the kernel module
+
+[source,bash]
+----
+$tar -xvzf i40e-1.3.47
+$cd i40e-1.3.47/src
+$make 
+$sudo insmod  i40e.ko
+----
+
+
+====  Bind the NIC to Linux
+
+In this stage we bind the NIC to Linux (take it from DPDK)
+
+[source,bash]
+----
+$sudo ./dpdk_nic_bind.py --status # show the ports 
+
+Network devices using DPDK-compatible driver
+============================================
+0000:02:00.0 'Device 1583' drv=igb_uio unused=      #<1>
+0000:02:00.1 'Device 1583' drv=igb_uio unused=      #<2>
+0000:87:00.0 'Device 1583' drv=igb_uio unused=
+0000:87:00.1 'Device 1583' drv=igb_uio unused=
+
+$sudo dpdk_nic_bind.py -u 02:00.0  02:00.1          #<3> 
+
+$sudo dpdk_nic_bind.py -b i40e 02:00.0 02:00.1      #<4>
+
+$ethtool -i p1p2                                    #<5>  
+
+driver: i40e
+version: 1.3.47
+firmware-version: 4.24 0x800013fc 0.0.0             #<6>
+bus-info: 0000:02:00.1
+supports-statistics: yes
+supports-test: yes
+supports-eeprom-access: yes
+supports-register-dump: yes
+supports-priv-flags: yes
+
+   
+$ethtool -S p1p2 
+$lspci -s 02:00.0 -vvv                              #<7>
+
+
+----
+<1> XL710 ports that need to unbind from DPDK
+<2> XL710 ports that need to unbind from DPDK
+<3> Unbind from DPDK using this command
+<4> Bind to linux to i40e driver 
+<5> Show firmware version throw linux driver 
+<6> Firmare version
+<7> More info 
+
+
+====  Upgrade 
+
+Download NVMUpdatePackage.zip from Intel site link:http://downloadcenter.intel.com/download/24769/NVM-Update-Utility-for-Intel-Ethernet-Converged-Network-Adapter-XL710-X710-Series[here]  
+It includes the utility `nvmupdate64e`
+
+Run this:
+
+[source,bash]
+----
+$sudo ./nvmupdate64e  
+----
+
+You might need a power cycle and to run this command a few times to get the latest firmware  
+
+
index 5efce2e..c3f489a 100755 (executable)
@@ -3283,7 +3283,26 @@ This feature gives user more flexibility to define the IP generator.
 
 === Measure Jitter/Latency 
 
-To measure jitter/latency on high priorty packets (one SCTP or ICMP flow), use `-l [Hz]` where Hz defines the number of packets to send from each port per second. This option measures latency and jitter. We can define the type of traffic used for the latency measurement using the --l-pkt-mode option. The default it to use SCTP packets. We can change this to use ICMP echo request packets by specifying --l-pkt-mode 1. Can send ICMP requests from one side, and matching ICMP responses from other side, by specifying --l-pkt-mode 2. This is particulary usefull if your DUT drops traffic from outside, and you need to open pin hole to get the outside traffic in (for example when testing a firewall). There is another mode (--l-pkt-mode 3) which send ICMP request packets with a constant 0 sequence number.
+To measure jitter/latency on high priorty packets (one SCTP or ICMP flow), use `-l [Hz]` where Hz defines the number of packets to send from each port per second. 
+This option measures latency and jitter. We can define the type of traffic used for the latency measurement using the `--l-pkt-mode` option. 
+
+
+[options="header",cols="^1,10a"]
+|=================
+| Option ID|  Type
+| 0 |  
+*default*, SCTP packets 
+| 1 | 
+ICMP echo request packets from both sides
+| 2 | 
+*Stateful*, send ICMP requests from one side, and matching ICMP responses from other side.
+
+This is particulary usefull if your DUT drops traffic from outside, and you need to open pin hole to get the outside traffic in (for example when testing a firewall)
+
+| 3 | 
+send ICMP request packets with a constant 0 sequence number.
+|=================
+
 
 The shell output is similar to the following: