samplevnf.git
6 years agoFix crc offloads. 03/56603/1 opnfv-6.0.0
Xavier Simonart [Sun, 15 Apr 2018 13:35:07 +0000 (15:35 +0200)]
Fix crc offloads.

When configuring a port, prox configures queue flags.
For historitical reasons, offloads had to be disabled on
some pmds.
There is now an API to query the ports and gets their
capabilities. This fix sets now the flags based on the capabilities,
and not the driver name.

Change-Id: Ic72d15001992f26910f653c70d31e4381fff8089
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoUpdate Fraser document... 01/56601/1
Deepak S [Thu, 26 Apr 2018 11:25:59 +0000 (16:55 +0530)]
Update Fraser document...

Change-Id: I4ed02be7ca899db4f8f97355c180a92d69d38d8f
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoSupport reading inline jumbo frame and dump them 87/56587/1
Xavier Simonart [Sun, 15 Apr 2018 13:14:01 +0000 (15:14 +0200)]
Support reading inline jumbo frame and dump them

Add support for pkt_inline of jumbo frames.
Dump the whole packet, and not a truncated packet. This might
have a small impact on performance as the memory footprint
is increased (by ~640K * number of tasks), resulting in potential
higher DTLB misses.

Change-Id: I4ed02be7ca899db4f8f97355c180a92d69d39d8f
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd support for generation of jumbo frames 85/56585/1
Xavier Simonart [Sat, 14 Apr 2018 20:42:53 +0000 (22:42 +0200)]
Add support for generation of jumbo frames

Change-Id: I63af4e5c5c01a4412d517e33fc7111481fd0524a
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoSupport for dpdk-stable-17.11.1 crypto 83/56583/1
Igor Shaula [Tue, 24 Apr 2018 11:14:54 +0000 (13:14 +0200)]
Support for dpdk-stable-17.11.1 crypto

Change-Id: I1a4aee3d550d007046be9d1677dd0ad980cb9817
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoFix memory leak introduced by 4a65cd84 81/56581/1
Xavier Simonart [Mon, 23 Apr 2018 12:19:58 +0000 (14:19 +0200)]
Fix memory leak introduced by 4a65cd84

Change-Id: I937bb38baa51d1902793fa8720a3ea740a583473
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd support for multiple variables in core definition 79/56579/1
Xavier Simonart [Mon, 23 Apr 2018 08:19:24 +0000 (10:19 +0200)]
Add support for multiple variables in core definition

In the [core] definition we were able to use one variable
such as $core1 in [core $core1] but not [core ${core1}].
The second syntax is used when we want multiple
variables such as in [core ${first_core}-${last_core}].
This second syntax is now supported.

Change-Id: Ic94b84cb8cf827acb6697789cd180f41c3bdb028
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix link speed when link is down at startup. 11/56111/1
Xavier Simonart [Wed, 11 Apr 2018 14:15:55 +0000 (16:15 +0200)]
Fix link speed when link is down at startup.

When link is down at startup, the link_speed returned by DPDK
is 0. This results in un-optimized latency estimates in gen and lat.
With this fix, lat and gen do nothing until link_speed is
properly initialized, and use the right link speed in the fast path.

Change-Id: Id2d14b6966ccfac7cc78db3c5a74e704b42edae7
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoSupport async operation in handle_esp 09/56109/1
Xavier Simonart [Mon, 16 Apr 2018 02:00:44 +0000 (04:00 +0200)]
Support async operation in handle_esp

Change-Id: Ibee77e31c0eb7a0e14e7aa0df092a278dfe75d6b
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd support for reception of jumbo frames 07/56107/1
Xavier Simonart [Sat, 14 Apr 2018 15:19:41 +0000 (17:19 +0200)]
Add support for reception of jumbo frames

Jumbo frames are now supported through the addition of a "mtu"
parameter of the port in the config file.
Setting the mtu to a value higher than 1500 bytes will enable
the reception of jumbo frames.
In addition, the rte_eth_dev_set_mtu is now set for all pmds.
Finally, setting mbuf_size does not set MEMPOOL_F_NO_SPREAD
anymore. This option was only used for pure debugging.

Big packets can be received using two ways
- Using multiple "small" mbufs, i.e. around 2K. This is the default.
- Using one big mbuf holding the whole packet. This can be enabled
  by setting a parameter mbuf_size in the receiving core configuration

Change-Id: Idd60ad31f41c89f9522dff4d894af2696b7a2ea1
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdded missing file: rapidVMs.vms 05/56105/1
Luc Provoost [Tue, 3 Apr 2018 11:59:35 +0000 (13:59 +0200)]
Added missing file: rapidVMs.vms

This file describes flavors, flavor meta data and boot info.
All this info can be defined in the [Default] section and will then be
used by to create all VMs. This data can also be specified in individual
VM sections to overule the deault values per VM.

Change-Id: I9d59208360eacec2790e5c467d7afcbeba301251
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
6 years agoAdd support for multiple GEN tasks running on the same core 03/56103/1
Igor Shaula [Fri, 30 Mar 2018 12:05:50 +0000 (14:05 +0200)]
Add support for multiple GEN tasks running on the same core

resolve memory allocation issue

Change-Id: I90bbf711a6a7a4869e5024c061470d9779839a60
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoAdd support for crypto on multiple cores 01/56101/1
Igor Shaula [Fri, 30 Mar 2018 11:45:00 +0000 (13:45 +0200)]
Add support for crypto on multiple cores

* Experimental, for dpdk-stable-17.05.2
* New improved ESP decapsulation function

Change-Id: If4862dacb3fcf53e21eb5932a195664f80c7c192
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoSupport additional MAC format in config file 49/54649/1
Igor Shaula [Fri, 30 Mar 2018 12:25:08 +0000 (14:25 +0200)]
Support additional MAC format in config file

Add support for space-divided bytes in MAC string.
Support the same format as in "pkt inline".

Change-Id: I7f2136c4424c45ce4abad4082470c9c9b1b3ab05
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoReplaced heat stack yaml files by individual server creation 11/54511/1
Luc Provoost [Tue, 27 Mar 2018 12:40:18 +0000 (14:40 +0200)]
Replaced heat stack yaml files by individual server creation

There is now a new file (rapidVMs.vms) describing how many VMs need
to be created. You can specify the same flavor values in the [DEFAULT]
section or specify specific flavors per VM.
The heat stack yaml files are removed.

Change-Id: Ic5ec485e8344a35e9ac9f6e8347adbc70520d10a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
6 years agoTrivial: fix trailing white-spaces 07/54407/1
Patrice Buriez [Fri, 23 Mar 2018 17:20:00 +0000 (18:20 +0100)]
Trivial: fix trailing white-spaces

Makefile checks for some coding style rules.
Previous commit introduced trailing white-spaces, which broke
compilation.

Change-Id: Ia57fc9b1428b4a9f8537dce4875e62ac55265fe3
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
6 years agoMerge "Fix potential crash if link speed is null"
Deepak S [Fri, 16 Mar 2018 04:19:03 +0000 (04:19 +0000)]
Merge "Fix potential crash if link speed is null"

6 years agoMerge "Fix minimum latency"
Deepak S [Fri, 16 Mar 2018 04:18:54 +0000 (04:18 +0000)]
Merge "Fix minimum latency"

6 years agoAdding Farser preliminary documentation 29/53929/1
Deepak S [Fri, 16 Mar 2018 09:35:37 +0000 (15:05 +0530)]
Adding Farser  preliminary documentation

Change-Id: I3bbd7897deb6e452068c07ef68d395affa4a4b50
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoFix minimum latency 85/52785/2
Xavier Simonart [Tue, 27 Feb 2018 22:59:52 +0000 (23:59 +0100)]
Fix minimum latency

Revert back part of commit 9fa316261d7d9
The function abs_diff was erroneously changed to diff_or_zero.
This function was supposed to measure the difference between rx and
tx time; when rx time overflowed and tx time not yet (i.e.
rx time ~= 0 and tx_time ~=UINT32_MAX, this function added UINT32_MAX
to rx_time. The name of the function was confusing and caused the
previous commit. Net effect of previous commit was that every four seconds
the minimum latency was 0
This commit reverse back to the original behavior, with a function name
diff_time.

Change-Id: Ia1b80e48a756cf5df411dcf58ca1cbc835214d13
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix potential crash if link speed is null 81/52781/1
Xavier Simonart [Tue, 27 Feb 2018 22:44:51 +0000 (23:44 +0100)]
Fix potential crash if link speed is null

Link_speed could be null when prox started with the ports down.
This was potentially causing a crash.
Another task will need to update link speed when the port come
up. Failing to do this results in less accurate latencies
(no extrapolation)

Change-Id: I597b68e30117e6edb9ccb4732c2acedd5eb8ac80
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Fixed the calculation of dropped packets and other changes"
Deepak S [Thu, 22 Feb 2018 14:48:39 +0000 (14:48 +0000)]
Merge "Fixed the calculation of dropped packets and other changes"

6 years agoMerge "Add support for comments in configuration variables"
Deepak S [Thu, 22 Feb 2018 14:48:27 +0000 (14:48 +0000)]
Merge "Add support for comments in configuration variables"

6 years agoMerge "Fix latency accuracy and dumping latencies to file"
Deepak S [Thu, 22 Feb 2018 14:48:19 +0000 (14:48 +0000)]
Merge "Fix latency accuracy and dumping latencies to file"

6 years agoFixed the calculation of dropped packets and other changes 23/52423/1
Luc Provoost [Wed, 21 Feb 2018 20:03:38 +0000 (21:03 +0100)]
Fixed the calculation of dropped packets and other changes

* Calculation of aboslute and relative dropped packets was wrong and is
now fixed.
* ./createrapid.py has now an extra option to select custom availability
zones for the different VMs.
* Fixed a typo to create the flavor: hw:cpu_thread_policy
* The generator config files have now the packet id & signature fields.
See PROX for more details on this.
* ./runrapid has now a new option --configonly. Default is False. If set
to True, all configuration files will be copied to the VMS, but the
tests are not started. This allows you to go to the VMs and manually
start PROX.
* In addition to the average latency, maximum latency is now also
displayed.

Change-Id: I3bbd7897deb6e452068c07ef68d3959ffa4a4b50
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
6 years agoFix latency accuracy and dumping latencies to file 31/51131/3
Xavier Simonart [Sat, 13 Jan 2018 20:28:14 +0000 (21:28 +0100)]
Fix latency accuracy and dumping latencies to file

- Also changed lat_info.tx_packet_index to uint64_t,
  so also did it for task_lat.prev_tx_packet_index and n_loss.
- Adjusted format strings accordingly, and fixed some other formats.
- Adjusted overflow increment to 2^32 (i.e. UINT32_MAX + 1).
- Replaced hard-coded 64 with ACCURACY_BUFFER_SIZE (still hard-coded
  in handle_gen.c).

Change-Id: Ia59f36e17c0797a2a958dbe3b2ac420263473524
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
6 years agoAdd support for comments in configuration variables 95/52195/1
Xavier Simonart [Thu, 15 Feb 2018 14:45:04 +0000 (15:45 +0100)]
Add support for comments in configuration variables

This feature will enable the possibility to have many cores
configured in a prox config file, and enable/disable them
through variables.
For instance, a [core $var1] section in a config file will
result in [core 1] if $var1 = 1; the whole section and section
content will be ignored if $var1=#
Before this implementation, [#core 1] or [core #] was already
treated as a commented out section (the whole section was
commented). But there was no way to define a variable $var = #
to comment a section through a variable.

Note that in today's implementation any non numerical
(except s, h, t, -) characteter in the [core] section header
(and not only #) will cause the section to be ignored.
It would probably be better to consider # (as maybe N/A and none)
as comments, and everything else as error. This is however not
supported by the change request.

Change-Id: Id4e2b27a1f9b6d595e0b442dcd971ad44a502031
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Auto Generated INFO.yaml file"
Deepak S [Thu, 15 Feb 2018 10:03:19 +0000 (10:03 +0000)]
Merge "Auto Generated INFO.yaml file"

6 years agoMerge "Fix potential crash in rx and tx distribution"
Deepak S [Thu, 15 Feb 2018 10:00:55 +0000 (10:00 +0000)]
Merge "Fix potential crash in rx and tx distribution"

6 years agoFix potential crash in rx and tx distribution 25/51125/2
Xavier Simonart [Sat, 13 Jan 2018 20:44:49 +0000 (21:44 +0100)]
Fix potential crash in rx and tx distribution

In some (rare) modes, more than 64 packets can be received through
one rx function. This is for instance the case of the lat mode.

Change-Id: Ie733c927a8e116c679c464f2551768185ef85366
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoZero packet loss testing has been added. 37/52037/1
Luc Provoost [Mon, 12 Feb 2018 10:32:35 +0000 (11:32 +0100)]
Zero packet loss testing has been added.

Using l2 testing, where no ARP messages are being used, you can now run
a zero packet loss test. The binary search will continue to find the
speed where absolutely no packets have been lost during the test.
On top of that, the output has been reformatted to also show the
absolute and relative packet loss.
The *.test files have now 2 new parameters: drop_rate_treshold and accuracy.
When drop_rate_treshold is set to 0, this test will conclude successfull
when no packet has been lost whatsoever. If this is set to any other
number, the test will be successfull when the relative packet loss is
lower than drop_rate_treshold.
The new accuray parameter defines when the binary search will stop:
when the relative difference between the min and max of the search
window is lower than accuracy.
The irq testing is slightly modified to print the total number of
interrupts in a certain time bucket, not only as the number per second,
but when there is no interrupt whatsowever, we print '0' in stead of
'0.0'

Change-Id: I8fafded0a225cbe1ba7ac61cd28e94d72099e4a0
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
6 years agoAuto Generated INFO.yaml file 03/51703/1
agardner [Mon, 5 Feb 2018 19:25:04 +0000 (14:25 -0500)]
Auto Generated INFO.yaml file

INFO.yaml meant to be machine readable.
This file was auto generated from an ldap lookup
and your projects INFO file.

Meeting times are not currently filled out.
please ammend this patchset to complete

Going forward comitter promotions should be done
against this file.

PTLs:
Must be merged for you to gain delete access on
testresults.opnfv.org

If project_lead: is missing (my script could not parse)
please amend with same from commiters section eg:

project_lead: &opnfv_$project_ptl
    name: 'Lead Name'
    email: 'lead email'
    id: 'lead lfid'
    company: 'lead company'

Change-Id: Ib034d62db7138a9f7c66c4d3377d6681764c41b4
Signed-off-by: agardner <agardner@linuxfoundation.org>
6 years agoFixed issues with the pkt_size command 23/51623/2
Luc Provoost [Sat, 3 Feb 2018 21:47:55 +0000 (22:47 +0100)]
Fixed issues with the pkt_size command

Fixed issues with pkt_size. For a 64 byte packet, we need to issue
pkt_size <core> <task> 60
4 extra bytes will be calculated and added automatically by PROX
Also added the missing irq.test and irq.cfg files
Added support for OpenStack systems not using floating IP addresses

Change-Id: I05d775eb858a58dd349ea370a0e34ac6448590c9
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
6 years agoRework of the test cases in the *.test files 03/51303/2
Provoost [Mon, 29 Jan 2018 12:01:07 +0000 (13:01 +0100)]
Rework of the test cases in the *.test files
Cores can now be specified in the test files. An irq test has been
added to verify if the VMs are not suffering from long interrupts.

Change-Id: I647fda3ebf76c7c2b36a8df9a63d9fb83563c249
Signed-off-by: Provoost <luc.provoost@intel.com>
6 years agoMerge "Fix dumping receive packets"
Deepak S [Thu, 25 Jan 2018 14:50:52 +0000 (14:50 +0000)]
Merge "Fix dumping receive packets"

6 years agoMerge "Integrate irq mode into PROX (support display and command line)"
Deepak S [Thu, 25 Jan 2018 14:50:45 +0000 (14:50 +0000)]
Merge "Integrate irq mode into PROX (support display and command line)"

6 years agoFix extrapolation used in latency measurements 05/50705/2
Xavier Simonart [Mon, 8 Jan 2018 10:21:44 +0000 (11:21 +0100)]
Fix extrapolation used in latency measurements

When doing latency measurements PROX takes into account the
generation or reception of a bulk of packets. For instance, if
PROX receives at time T 4 packets, it knows that the first
packet was received by te NIC before T (the time to receive the other
3 packets, as they were received at maximum link speed).
So the latency data is decreased by the minimum time to receive those
3 packets.
For this PROX was using a default link speed of 10Gbps. This is wrong
for 1Gbps and 40Gbps networks, and was causing for instance issues
on 40 Gbps networks as extrapolating too much, resulting in either
too low latencies or negative numbers (visible as very high latencies).

Change-Id: I4e0f02e8383dd8d168ac50ecae37a05510ad08bc
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoIntegrate irq mode into PROX (support display and command line) 09/50709/1
Xavier Simonart [Sun, 14 Jan 2018 17:13:09 +0000 (18:13 +0100)]
Integrate irq mode into PROX (support display and command line)

irq mode can be used to show how a core is interrupted by other tasks.
This mode does not handle packets. It only loops reading tsc.
When the difference between two consecutive calls to rdtsc() is high
then it means the core was interrupted.
This task implementes the display, so that we can see a histogram of
interrupts as well as the maximum, per core.
Command line is also supported, through "show irq buckets" (too show
the intervals of each buckets, in micrcoseconds), and the stats
command line (showing the number of items in each buckets and the max)..

Change-Id: I153cc3deaa7b86ae2776ea44e46ef9ecfd116992
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix dumping receive packets 07/50707/1
Xavier Simonart [Mon, 8 Jan 2018 11:32:23 +0000 (12:32 +0100)]
Fix dumping receive packets

There were two issues identified in dump receive packets
- when the receive packets was going to be dropped (and not transmitted),
  it was also printed as TX[255].
- a potential crash when using the dump function with modes like
  lat which can receive more than MAX_RING_BURST.
Those issues have been fixed.

Change-Id: Ia2297539d64961a211389d68e3c9c6280472243c
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Add support for DPDK 17.11"
Deepak S [Tue, 16 Jan 2018 12:51:27 +0000 (12:51 +0000)]
Merge "Add support for DPDK 17.11"

6 years agoMerge "Add config option to use port mac as src mac in l2fwd and swap"
Deepak S [Tue, 16 Jan 2018 12:51:25 +0000 (12:51 +0000)]
Merge "Add config option to use port mac as src mac in l2fwd and swap"

6 years agoMerge "Fix using signature in latency measurements"
Deepak S [Tue, 16 Jan 2018 12:51:22 +0000 (12:51 +0000)]
Merge "Fix using signature in latency measurements"

6 years agoMerge "Fix stacking of rx receive functions"
Deepak S [Tue, 16 Jan 2018 12:51:20 +0000 (12:51 +0000)]
Merge "Fix stacking of rx receive functions"

6 years agoMerge "Fix potential crash when issuing "tx distr stop" command."
Deepak S [Tue, 16 Jan 2018 12:51:17 +0000 (12:51 +0000)]
Merge "Fix potential crash when issuing "tx distr stop" command."

6 years agoFix using signature in latency measurements 27/50227/1
Xavier Simonart [Mon, 8 Jan 2018 11:10:41 +0000 (12:10 +0100)]
Fix using signature in latency measurements

When doing latency measurements the generator can add a
32 bits signature in the packet at a specific location,
so that the receiver only uses the packets generated by the
generator and ignores packets generated for instance by a switch
The is particuly important for latency measurements as we use
data in the packets as timestamps, and packets generated elsewhere
would result in random latency for those packets.

Change-Id: I8352b35aff76ec8d1344a1e492b9dcc20a53f1ce
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix stacking of rx receive functions 17/50217/1
Xavier Simonart [Mon, 8 Jan 2018 09:58:14 +0000 (10:58 +0100)]
Fix stacking of rx receive functions

PROX can stack different RX functions, so that they are executed
after each other.
This feature is for instance used to dump packets or to print
distribution of receive packets, without influencing the performance
of the rx functions when no dump or print is needed.
The previous implementation was wrong and causing some of the stacked
functions not to be executed. This was causing for instance issues
in latency measurement after enabling dumping packets.

Change-Id: I766b8ee8e8852fa17cdaf60ee6e1fec0dc98c719
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Initialize fields of outer IP header"
Deepak S [Fri, 5 Jan 2018 04:48:07 +0000 (04:48 +0000)]
Merge "Initialize fields of outer IP header"

6 years agoFix potential crash when issuing "tx distr stop" command. 47/50047/1
Xavier Simonart [Thu, 4 Jan 2018 15:29:04 +0000 (16:29 +0100)]
Fix potential crash when issuing "tx distr stop" command.

Change-Id: I9ef89020d203674f6c3301653ab2ff9d623665b6
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd config option to use port mac as src mac in l2fwd and swap 41/48641/2
Xavier Simonart [Mon, 11 Dec 2017 12:15:58 +0000 (13:15 +0100)]
Add config option to use port mac as src mac in l2fwd and swap

L2fwd and swap has many options to set src mac. swap was supposed
to support the ability to use port mac, but config file parsing was
wrong. L2fwd was using port mac if a port was available and if
src mac=packet or if there was no src mac in the config.

Now l2fwd supports the following options
- "src mac=xx:xx:xx:xx:xx:xx" => this mac address is used as src mac.
- "src mac=packet" => the src mac is taken from the dst mac of the
received packet.
- "src mac=hw" => the src mac is taken from the mac address of the port,
if there is a physical port. Error otherwise.
- "src mac=no" => src mac kept untouched
- No "src mac" => same as "src mac=hw" if there is a physical port
              and same as "src mac=packet" otherwise.

Default is (no "src mac") hence the mac is taken from the tx port if there
              is one tx port and from the packet otherwise.

swap support is similar, except that it does not support "src mac=no".

Change-Id: I70fe49a61c2e85772288b769ede14a7a6205d122
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd support for DPDK 17.11 41/50041/1
Xavier Simonart [Thu, 4 Jan 2018 13:35:57 +0000 (14:35 +0100)]
Add support for DPDK 17.11

Change-Id: I5611ead4b61b23d6c1c983852e8c75619e08ecf9
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoInitialize fields of outer IP header 47/49147/2
Xavier Simonart [Sun, 17 Dec 2017 16:19:07 +0000 (17:19 +0100)]
Initialize fields of outer IP header

As it was non being initialized, fragment offset was sometimes non null.
prox_ip_cksum_sw (as well as prox_ip_cksum_hw) require the hdr_checksum
field to be initialized to 0.

Change-Id: I3824682023782edb555982e558e5ae68062c3c9b
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Adding Security gateway testing"
Deepak S [Tue, 19 Dec 2017 05:34:56 +0000 (05:34 +0000)]
Merge "Adding Security gateway testing"

6 years agoMerge "Add l3 support for tasks without physical tx ports"
Deepak S [Tue, 19 Dec 2017 05:34:54 +0000 (05:34 +0000)]
Merge "Add l3 support for tasks without physical tx ports"

6 years agoAdd support for multiple tasks generating to same ip in l3 mode. 49/49149/2
Xavier Simonart [Sun, 17 Dec 2017 17:43:56 +0000 (18:43 +0100)]
Add support for multiple tasks generating to same ip in l3 mode.

When multiple tasks generate to the same ip in l3 mode (i.e. with arp
support), all those tasks generate arp requests. we need to make sure
that they all receive a arp-reply i.e. that the master broadcast
the reply to all those cores.

Change-Id: I7e89196497a1016a94dde167f212b1f6ed03bcfe
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdd l3 support for tasks without physical tx ports 45/49145/2
Xavier Simonart [Sun, 17 Dec 2017 15:46:52 +0000 (16:46 +0100)]
Add l3 support for tasks without physical tx ports

This adds support for tasks in l3 submode receiving from ports but
transmitting to rings.

ARP related information is exchanged between tasks through master core.
Tasks transmitting to physical ports are responsible to transmit arp
related packets. Tasks not transmitting to physical ports (and using
rings) should not try to transmit arp packets. Transmitting arp
packets through ring would be more complex, as we would need extra information
(within the mbuf) to distinguish for instance an arp reply comoing from the
network and an arp reply coming from a core (as a reply to an arp request).

Change-Id: Ib55dc8c39d5e55703a933faa16bcc008f1274929
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoAdding Security gateway testing 89/49089/2
Provoost [Fri, 15 Dec 2017 17:33:59 +0000 (18:33 +0100)]
Adding Security gateway testing

Using now .test files describing the test to be executed.
Also desribed in the README file how to deal with SRIOV ports.

Change-Id: I3eb1551d7f205fef3fa1914bc6959c2126d63425
Signed-off-by: Provoost <luc.provoost@intel.com>
6 years agoUpdating release notes for OPNFV Euphrates 5.1 31/49031/1 opnfv-5.1.0 opnfv-5.1.RC1
Deepak S [Thu, 14 Dec 2017 20:52:18 +0000 (12:52 -0800)]
Updating release notes for OPNFV Euphrates 5.1

Change-Id: I01a619de621a3dfbfe11cabef257f9dec311e318
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoMerge "Fix command parser"
Deepak S [Fri, 8 Dec 2017 03:39:59 +0000 (03:39 +0000)]
Merge "Fix command parser"

6 years agoMerge "Fix checks done when changing generator pkt_size"
Deepak S [Fri, 8 Dec 2017 03:39:49 +0000 (03:39 +0000)]
Merge "Fix checks done when changing generator pkt_size"

6 years agoFix qos statistics 77/48477/1
Xavier Simonart [Wed, 6 Dec 2017 17:09:19 +0000 (18:09 +0100)]
Fix qos statistics

Packets dropped by QoS (because queues were full) were erroneously
shown as idle cycles. There aee now shown as discarded packets.

Change-Id: I01a619de621a3dfbfe11cabef257f9dec311e208
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix checks done when changing generator pkt_size 71/48471/1
Xavier Simonart [Wed, 6 Dec 2017 15:54:05 +0000 (16:54 +0100)]
Fix checks done when changing generator pkt_size

Different checks were done when setting the generator pkt_size.
In case of wrong pkt_size (e.g. too big) an error was printed but
the pkt_size was still set causing a potential corruption.
In addition, in case of a packet size incompatible with some
of the packet fields (e.g. latency data) PROX was panicing
while this should not happen runtime for such an error.

Change-Id: Ifa11475bf295aaac7b0255c1bf9b5feed8ef90c4
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix command parser 59/48459/1
Xavier Simonart [Wed, 6 Dec 2017 15:18:05 +0000 (16:18 +0100)]
Fix command parser

Command parser could have been crashing if a wrong core/task was
used in pkt_size command. For some other commands both an error
and a warning were printed in case of errors.

Change-Id: I6648bfca1b5bcde3c6393d49687ed84900326d49
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agocorrect prox ipsec vnf 61/47661/1
Igor Shaula [Wed, 22 Nov 2017 13:44:55 +0000 (14:44 +0100)]
correct prox ipsec vnf

reapply the latest changes (47355 and 47521) due to gerrit merge problem

* fix crypto init for both encryptor and decryptor
* improve performance: preallocate crypto op memory in init
* finalize enabling routed ipsec traffic (proper IP/MAC addresses)
* correct handling of dropped packets at encryptor
* Fix receive packets with size > 1024 bytes

Change-Id: I51cccc9bef0b9564ea1a3465ad28fb985eee06d1
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agofix prox crypto build 53/47353/3
Igor Shaula [Thu, 16 Nov 2017 08:59:37 +0000 (09:59 +0100)]
fix prox crypto build

Change-Id: I4ea54763871c18b1bd6cec9dbb926f18f0f5833f
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoMerge "Add support for nop mode with l3 submode"
Deepak S [Tue, 21 Nov 2017 17:44:20 +0000 (17:44 +0000)]
Merge "Add support for nop mode with l3 submode"

6 years ago* fix encryption: ESP packet format 19/47319/3
Igor Shaula [Thu, 16 Nov 2017 08:56:34 +0000 (09:56 +0100)]
* fix encryption: ESP packet format
* fix traffic routing
* enqueue packets in a bulk (improve crypto performance: TBD)
* improve code clarity
* fix crypto dequeuing
* complete decryption path implementation
* NOTE: the code works in a chain mode; crypto init to be fixed next

Change-Id: I058a906f4f4f5691ebf25d2cdf5b5faded88e11d
Signed-off-by: Igor Shaula <igor.shaula@intel.com>
6 years agoAdd support for nop mode with l3 submode 53/46953/3
Xavier Simonart [Thu, 9 Nov 2017 14:57:11 +0000 (15:57 +0100)]
Add support for nop mode with l3 submode

The l3 submode was not supported in nop mode, as the nop mode uses some
specific nop thread (and not generic). When L3 is specified, the nop mode
must use the generic thread. In addition the l3 submode is implemented
differently than other submodes. It is not supported through task_init
structures (i.e. each task does not have to explicitely tell that it
supports l3 submode). But this prevented to run both a nop with no submode
and a nop with a l3 submode. Note that nop with l3 is usually not very useful
 - it handles arp (requests and response) but as nop, it does not swap IP
addresses. So with a real switch, the packets transmitted will be received
back... and l3 mode is usually mainly usefull when using a switch.
 However, there is at least one nop mode where l3 submode makes sense:
when the nop does not transmit. In such cases, for instace used in
conjunction with a gen l3, the nop receives all packets and forward
the arp requests and responses to the master for handling.

Change-Id: I992121db285ba25a11cbb494092a6afc6fe55a58
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoRemove unused files in udp replay 25/47125/1
Deepak S [Mon, 13 Nov 2017 08:16:01 +0000 (00:16 -0800)]
Remove unused files in udp replay

Change-Id: I8cbad85c607ca5148723ed3689eaed2c4967fb1d
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoMerge "Fix changing impair delay through command line"
Deepak S [Thu, 9 Nov 2017 14:18:06 +0000 (14:18 +0000)]
Merge "Fix changing impair delay through command line"

6 years agoFix latency commands in l3 submode 77/46877/2
Xavier Simonart [Wed, 18 Oct 2017 11:19:27 +0000 (13:19 +0200)]
Fix latency commands in l3 submode

Change-Id: I9c46b57f98b566efc8ca3ea5966befe2a150315b
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoFix changing impair delay through command line 43/46943/1
Xavier Simonart [Wed, 8 Nov 2017 17:35:20 +0000 (18:35 +0100)]
Fix changing impair delay through command line

Change-Id: I7797241a1d384fa184bdf4d73b81babb21f7383d
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
6 years agoMerge "Rework handle_esp.c (proto, DPDK<17.08, cleanup)"
Deepak S [Tue, 7 Nov 2017 04:57:21 +0000 (04:57 +0000)]
Merge "Rework handle_esp.c (proto, DPDK<17.08, cleanup)"

6 years agoMerge "lw_AFTR: IP Checksum required on generated packet."
Deepak S [Tue, 7 Nov 2017 04:56:51 +0000 (04:56 +0000)]
Merge "lw_AFTR: IP Checksum required on generated packet."

6 years agolw_AFTR: IP Checksum required on generated packet. 67/46267/4
DanielMartinBuckley [Thu, 26 Oct 2017 17:48:47 +0000 (18:48 +0100)]
lw_AFTR: IP Checksum required on generated packet.

In lwAFTR (ipv6 de-encapsulate) the generated ipv4 packet requires an IP
checksum, otherwise this packet is dropped in Openstack. (Openstack is
much stricter than baremetal) Some fields in the header need to be
initialized.

Add flag in Makefile which when enabled will build to include the generate
the IP checksum in the build. FLAG = GEN_DECAP_IPV6_TO_IPV4_CKSUM=y
Not include in default build.

Change-Id: If94e7cff64b03c66362021f05e48fb9265fc8210
Signed-off-by: Daniel Martin Buckley <daniel.m.buckley@intel.com>
6 years agoRework handle_esp.c (proto, DPDK<17.08, cleanup) 13/46313/1
Patrice Buriez [Fri, 27 Oct 2017 10:43:09 +0000 (12:43 +0200)]
Rework handle_esp.c (proto, DPDK<17.08, cleanup)

- Adjust handle functions to PROX-v035+ prototype, returning 0 when all
  packets have been handled.
- Because cryptodev API was modified in DPDK 17.08, many changes would
  be necessary to support it. For the moment, just exclude handle_esp.c
  from PROX build when using DPDK 17.08+, which will be supported later.
- Cleanup:
  - consistent use of PROX_PANIC to cleanly fail on errors
  - consistent use of OUT_DISCARD to drop unhandled packets
  - remove "__attribute__((unused))" when parameter is actually used
  - remove unused defines, fields and variables

Change-Id: I10d84fa184a866b4a5f87272875612aace5dd5b1
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
6 years agoMerge changes from PROX-v041 31/46331/1
Patrice Buriez [Wed, 25 Oct 2017 18:30:34 +0000 (20:30 +0200)]
Merge changes from PROX-v041

Change-Id: Ie6d4e7ce22c27967117a446626f5923643397812
Signed-off-by: Patrice Buriez <patrice.buriez@intel.com>
6 years agoMerge "Makefile change and new task structures for IPSec Prox task"
Deepak S [Tue, 24 Oct 2017 09:15:48 +0000 (09:15 +0000)]
Merge "Makefile change and new task structures for IPSec Prox task"

6 years agoMerge "Added IPSec/ESP performance demo building block to DPPD-PROX"
Deepak S [Tue, 24 Oct 2017 09:15:44 +0000 (09:15 +0000)]
Merge "Added IPSec/ESP performance demo building block to DPPD-PROX"

6 years agoMerge "Adjusted referencing for docs"
Deepak S [Thu, 19 Oct 2017 10:26:18 +0000 (10:26 +0000)]
Merge "Adjusted referencing for docs"

6 years agoMakefile change and new task structures for IPSec Prox task 53/45753/1
Alexander Komarov [Thu, 19 Oct 2017 07:11:49 +0000 (09:11 +0200)]
Makefile change and new task structures for IPSec Prox task

Change-Id: I389389e5317d1a9d0d79cc1762d6f15d8287e36a
Signed-off-by: Alexander Komarov <alexander.komarov@intel.com>
Signed-off-by: Alexander Komarov <izard.ak@gmail.com>
6 years agoFix all the config files alignment issues 15/45715/3
Deepak S [Wed, 18 Oct 2017 20:16:11 +0000 (13:16 -0700)]
Fix all the config files alignment issues

Change-Id: I087c9a9acf412a99f8425fd65d07db6c3b7a4af7
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoAdded IPSec/ESP performance demo building block to DPPD-PROX 69/45469/1
Alexander Komarov [Wed, 18 Oct 2017 07:42:46 +0000 (09:42 +0200)]
Added IPSec/ESP performance demo building block to DPPD-PROX

Change-Id: I25ab50297cd7d2f80a5206ddc3c55ffad36bd8d8
Signed-off-by: Alexander Komarov <alexander.komarov@intel.com>
Signed-off-by: Alexander Komarov <izard.ak@gmail.com>
6 years agoupdate rest api table 37/45537/3
Deepak S [Wed, 18 Oct 2017 04:23:00 +0000 (21:23 -0700)]
update rest api table

Change-Id: I71f8b419a8b28bc3c9208c8902b91d06bc4653de
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoFix table issues in release notes 13/45513/1
Deepak S [Wed, 18 Oct 2017 04:08:29 +0000 (21:08 -0700)]
Fix table issues in release notes

Change-Id: I0c2accf7e2c1f417b9823a0dfa1f356ff7730a3d
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoUpdating user guide 09/45509/1
Deepak S [Wed, 18 Oct 2017 02:34:58 +0000 (19:34 -0700)]
Updating user guide

Change-Id: I80bcbe616b8f2c64151de6e588c892de6c3dc8f1
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoremove unwated proxy in the script 77/45477/1
Deepak S [Wed, 18 Oct 2017 01:27:36 +0000 (18:27 -0700)]
remove unwated proxy in the script

Change-Id: I4a38ac4f7a05b6a96fd9e0e8539aa76252ded3b0
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoAdding script to build samplevnf VM images 73/45473/1
Deepak S [Wed, 18 Oct 2017 01:09:21 +0000 (18:09 -0700)]
Adding script to build samplevnf VM images

Change-Id: I1238aa72f178fb8744fdea688704ef7ff22c9c75
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoUpdating release notes of samplevnf 41/45441/1
Deepak S [Tue, 17 Oct 2017 21:09:54 +0000 (14:09 -0700)]
Updating release notes of samplevnf

Change-Id: I5c6854467bca41ab0ca5894e1a706a65eb68ef32
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoMerge "Rest API: Fix all the bugs in the HWLB, mask issue, etc"
Deepak S [Tue, 17 Oct 2017 17:30:32 +0000 (17:30 +0000)]
Merge "Rest API: Fix all the bugs in the HWLB, mask issue, etc"

6 years agoAdjusted referencing for docs 31/45331/1
Sofia Wallin [Tue, 17 Oct 2017 11:41:04 +0000 (13:41 +0200)]
Adjusted referencing for docs

Change-Id: If9e92a2404214e91c682793622f097e28c11597d
Signed-off-by: Sofia Wallin <sofia.wallin@ericsson.com>
6 years agoRest API: Fix all the bugs in the HWLB, mask issue, etc 73/45373/1
Deepak S [Tue, 17 Oct 2017 10:09:56 +0000 (15:39 +0530)]
Rest API: Fix all the bugs in the HWLB, mask issue, etc

Change-Id: If7cc44f3b57a54aef510f729930e6f79bf83689e
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoCopy the dev bind to standard path 71/45371/1
Deepak S [Tue, 17 Oct 2017 09:58:42 +0000 (02:58 -0700)]
Copy the dev bind to standard path

Change-Id: I44972071e41b67a5aec2adaf426ec84f54c4414e
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoDocs: Developer guide review and update 33/45333/5
Anand B Jyoti [Tue, 17 Oct 2017 04:31:49 +0000 (10:01 +0530)]
Docs: Developer guide review and update

Review and update teh Developer guide for E-Release.

Change-Id: I88221fe6ea5bf3581c1dbf8bf6aaa31a628fff87
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
6 years agoFix udp replay issue 23/45323/1
Deepak S [Tue, 17 Oct 2017 03:20:34 +0000 (08:50 +0530)]
Fix udp replay issue

Change-Id: I6b78044beb21fdf07ad70d22c81bcca6ca955e63
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoFix compilation issue with older gcc 09/45309/1
Deepak S [Tue, 17 Oct 2017 01:06:37 +0000 (06:36 +0530)]
Fix compilation issue with older gcc

Change-Id: Ib7f67bff93ce531f66be31c3fbd63ecbb33a46d8
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoAdding app version display 03/45303/1
Deepak S [Tue, 17 Oct 2017 01:03:51 +0000 (18:03 -0700)]
Adding app version display

Change-Id: I366d915a05f58c5653de89c1c59ebd180904e080
Signed-off-by: Deepak S <deepak.s@linux.intel.com>
6 years agoDocs: Enhance the userguide with CLI command reference 03/44203/11
Anand B Jyoti [Wed, 4 Oct 2017 02:56:56 +0000 (08:26 +0530)]
Docs: Enhance the userguide with CLI command reference

JIRA: SAMPLEVNF-84

Update the documents with CLI command reference and Resolve the
jenkins build warnings.

Change-Id: I2bf22507758e1a13b648cc40d86495581fe0d981
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
6 years agovACL: The ethernet mac address not updated correctly 89/44889/2
Anand B Jyoti [Thu, 12 Oct 2017 01:34:03 +0000 (07:04 +0530)]
vACL: The ethernet mac address not updated correctly

JIRA: SAMPLEVNF-85

The ethernet header pointer initialization was wrong due to which
the MAC address were not updated. Hence the packets were not
reaching the destination.

Change-Id: I90a38bba8d26d5f481c6476e6995eed92970b6e3
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
6 years agoarp: Config parameters longer than PIPELINE_MAX_ARGS chars ignored 85/44785/4
Anand B Jyoti [Wed, 11 Oct 2017 05:09:51 +0000 (10:39 +0530)]
arp: Config parameters longer than PIPELINE_MAX_ARGS chars ignored

JIRA: SAMPLEVNF-86

Due to this KW fix the arp pipeline is rejecting the commands
greater than PIPELINE_MAX_ARGS size. This is seen in arp_route_tbl
which can is becoming bigger in case of multi port setup.

This patch undo the KW fix which is causing issue with longer
parameters under ARPICMP pipeline.

Change-Id: I96ba3882b5fecc6ac2f7b75f11a63083b847bba5
Signed-off-by: Anand B Jyoti <anand.b.jyoti@intel.com>
6 years agoAdding index.rst for developer guide 11/44611/1
Deepak S [Mon, 9 Oct 2017 20:11:05 +0000 (13:11 -0700)]
Adding index.rst for developer guide

Change-Id: Id9ad242c5147a1dc15a181baa2c5bd886335921c
Signed-off-by: Deepak S <deepak.s@linux.intel.com>