Luc Provoost [Tue, 12 Nov 2024 11:30:59 +0000 (12:30 +0100)]
fix some default values in parsing
'prox_socket' 'prox_launch_exit' and 'monitor' will be set to 'True' if
not in the configration file for that specific test machine. The code is
now cleaner.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I8f05a4eac884896139b2fb6deabbce4d3edfd2ae
Luc Provoost [Mon, 11 Nov 2024 14:26:51 +0000 (15:26 +0100)]
Allow to collect power
In order to collect pwoer of the system under test, one can now define a
power helper function that will retrieve System, CPU, and RAM power. This
function will then be called at the end of a test iteration. The actual
function to collect the power is not provided in this github.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ic33881326f9318f1669fdef69a872596cc8e6dbc
Luc Provoost [Mon, 11 Nov 2024 13:16:25 +0000 (14:16 +0100)]
New determination of the cpu set
Check out https://github.com/kubernetes/kubernetes/issues/119669
That describes the problem. The solution can be found in this change.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Id4d47e5d36b1c4acefea8dbe13d7a1e7c499c70d
Luc Provoost [Sun, 10 Nov 2024 11:02:46 +0000 (12:02 +0100)]
simplify core parameter parsing
Simplified some of the code to deal with the differrent core options
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I4f33563b51370efe807e8ace807acc3fdcd2bfc4
Luc Provoost [Sat, 9 Nov 2024 15:51:26 +0000 (16:51 +0100)]
fix namespace log error
Logging wrong parameter
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I7ca4b1b0eba93eadbd5289d51a2a3fb259af7938
Luc Provoost [Sat, 9 Nov 2024 14:55:26 +0000 (15:55 +0100)]
Nodeport service and modified ssh and socket ports
We support now the use of K8s Nodeport services and non standard ssh and
prox socket ports.
In order to use Nodeport service, you need to specify the name of the
service for each prox pod in the rapid.pods file.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I2873b7e22fee042a14b575e772267a9128b7c4f2
Luc Provoost [Fri, 8 Nov 2024 14:49:30 +0000 (15:49 +0100)]
fix crc offloading for iavf ports
Apply i40e_vf CRC offload code to iavf ports
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ife50c99447ede118941d50c320038f716f08a301
Luc Provoost [Fri, 30 Jun 2023 15:42:13 +0000 (17:42 +0200)]
Support packets in flight
The handle_esp_bulk function might enqueue packets on a QAT device.
These packets are not necessarily dequeued in the same call to the
handle_bulk function since they might be asynchronously processed.
Therefore, in some cases, we need to call this handle_bulk
function again later, even when no new packets are received on the rx
queue. To achieve this, the TASK_FEATURE_ZERO_RX flag is set.
The number of packets in flight are stored to decide if packets need
to be dequeued or not.
The handle_esp_bulk function will continue to dequeue packets till
none are left, even in case no new packets arrive.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I15e5b92c2413a1d3823557f70b1f437b35ca5a12
Luc Provoost [Sat, 1 Jul 2023 11:12:31 +0000 (13:12 +0200)]
fix rte_crypto_ipsec_mb dependency
In order to use the cryptodev API, the rte_crypto_ipsec_mb library needs
to be installed. When that library is installed, the change in
meson.build will now make sure that handle_esp.c is also compiled, and
the 2 PROX modes (esp_enc & esp_dec) become available for use in the
PROX config files.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ida7f742cd3189437f25fc5e45cf48ba0d20ba7d1
Luc Provoost [Thu, 29 Jun 2023 08:58:18 +0000 (10:58 +0200)]
Renaming of defines for clarity
Add the prefix TBASE_FLAG to all defines that are used in the flags field
of the tbase structure
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ic7c6c1ba66fbda5a4a43e9a3bf966710157b5b17
Luc Provoost [Thu, 29 Jun 2023 08:43:39 +0000 (10:43 +0200)]
Fix compilation for DPDK22.11
ETH_LINK_SPEED_AUTONEG changed into RTE_ETH_LINK_SPEED_AUTONEG
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Iababab5ce51b618cd97f8158de2e2979747b141c
Luc Provoost [Mon, 26 Jun 2023 12:53:20 +0000 (14:53 +0200)]
Addition of new test case encrypt.test
The new test is combining a generator sending plain text traffic to
another pod. This second pod is encrypting and then decrypting the
packets again before sending them back to the generator for latency
measurements. The encryption/decryption is done with a hard code algo
and key and can be done in SW or by using QAT devices.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: If85766e546b0c3534d2eaed96a465195c1455d06
Luc Provoost [Mon, 26 Jun 2023 12:13:54 +0000 (14:13 +0200)]
Adding QAT support
When qat devices are assigned to a pod, the code will now detect that
through the qat entry in the env of the pod. The qat devices will be
added to the PDK eal command line so they can by PROX.
For the PCI network devices, we only search for PCIDEVICE instead of
PCIDEVICE_INTEL_COM.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ic801d20adac4a29e6c44e542121686f42778d61a
Luc Provoost [Mon, 26 Jun 2023 11:28:25 +0000 (13:28 +0200)]
Add uuid to DPDK file-prefix
When running multiple pods, the DPDK file-prefix needs to be unique, so
a uuid was added to the file-prefix. This parameter is then available in
the parameters.lua file.
The eal parameter for setting the simd bitwidth was also added.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Iee04e54f059732a40ebdc7635dbd09631b5f2081
Luc Provoost [Mon, 29 May 2023 09:14:37 +0000 (11:14 +0200)]
Rework of handle_esp_bulk
Merged the 2 handle_bulk functions into 1. We had a separate function
for encryption and one for decryption. The code is almost the same. The
way we enqueue and dequeue the cryptodev queueus has also changed and is
now inline with the dpdk demo code (l2fwd_crypto).
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Id9a9f6651884743bcdb4c0a509696489fedc554a
Luc Provoost [Thu, 25 May 2023 20:40:47 +0000 (22:40 +0200)]
Fix socket for vdev port
vdev socket was always set to 0. We are now setting the socket for the
vdev device to the socket of the corresponding port.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: If687c5e20b7f3050d96c2fdfa94ef29db051f24c
Luc Provoost [Mon, 17 Apr 2023 12:59:56 +0000 (14:59 +0200)]
remove call to rte_cryptodev_pmd_get_dev
The handle_esp is not used a lot at this point and it was not compiled by
default. When integrating this back into PROX, no DPDK backwards
compatibility was taken into account. The rte_cryptodev_pmd_get_dev is
not supported any more in recent DPDK versions.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I97793261dd52aa869a4857716518dc1ff7d5f22f
Luc Provoost [Thu, 13 Apr 2023 08:30:41 +0000 (10:30 +0200)]
Asynchronous Encryption/Decryption
In the handle_esp_xxx_bulk functions, we are not dequeuing every
crypto_op that was enqueued in this function. The while loop has been
replaced by a single call to the dequeue function. If crypto_ops are
still in flight, we count on the fact they will be dequeued when the
handle_esp_xxx_bulk function is called next time. Note that this will
only happen if new packets are coming in. If no new packets are coming
in, there might be some packets in flight that will not be dequeued.
When calling the rte_crypto_op_pool_create function, we now pass the
number of mbufs as specified in the PROX config file (mempool size), and
not a hard coded number. The init code has also been put more in sync
with recent version of the l2fwd_crypto example code.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Idfab13a273bf76831e5133cf59149fc93949f1ab
Luc Provoost [Tue, 7 Feb 2023 19:39:16 +0000 (20:39 +0100)]
fix issue with fixed rate testing
When running fixed rate tests, we are getting KeyError: 'mis_ordered'.
This is now fixed.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I8df7f53a6d8c5d8d5b88215d543918ebea4d45a1
Luc Provoost [Tue, 7 Feb 2023 08:41:07 +0000 (09:41 +0100)]
Start ssh properly for Ubuntu
The command to start ssh (on CentOS) seems not be working on Ubunutu.
Now we start ssh with 'service ssh start'
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ief8cd2e10443ffe99da1ed494d154edc6d8e175e
Luc Provoost [Thu, 2 Feb 2023 18:12:08 +0000 (19:12 +0100)]
Use ubuntu for containers
Changed the Dockerfile to install DPDK 22.07 and to run on Ubuntu 20.04.
runrapid.py will now use the 'rapid' user to connect to the PROX
instances.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I2df48f435e6d572343a02b2ab2c1db116c83ecad
Luc Provoost [Thu, 2 Feb 2023 16:34:11 +0000 (17:34 +0100)]
fix machine name in DEBUG logging
We are logging the content of all test parameters in DEBUG mode. Since
one of the test parameters (machine name) can still change to make
sure we have unique machines names, the logging is done later, after the
machines names are guaranteed to be unique.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I06cbdbcfd9044798ebad03ead0eca567e7f24a9d
Luc Provoost [Thu, 2 Feb 2023 11:19:59 +0000 (12:19 +0100)]
Change pod names: refer to prox in stead of rapid
In rapid_k8s_deployment.py, we are creating the pods. The name used to
refer to rapid. Actually, the pods that we are creating are the prox
instances. The rapid scripts need to run elsewhere.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Idcc842c4aa3a85f2232f7fa71b6482c6081cce1c
Luc Provoost [Thu, 2 Feb 2023 10:09:45 +0000 (11:09 +0100)]
Remove key file check
A check on the name of the ssh key file for user rapid has been removed.
We are now just using the name of the key file as it shows in the
rapid.env file. In the past, the file name was always replaced by a
hardcoded name for the rapid user.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Ie2219b33c75c54e937182e9307e16f290c82513e
Luc Provoost [Wed, 1 Feb 2023 16:00:58 +0000 (17:00 +0100)]
Use meson to build port_info_app
Adding a meson.build file for the port_info_app. This application is a
dpdk app that queries the dpdk ports for its MAC address. That MAC
address will then be stored in rapid.env. If needed, it will then be
used by PROX e.g. in l2 test cases.
The app is only used if the vim parameter in the rapid.env file is set
to kubernetes. In case of OpenStack, the MAC address is obtained through
the heatclient API, see stackdeployment.py for more details.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Iba2b0b98748807a0d33374644b75b4ea1bfb91cc
Luc Provoost [Wed, 1 Feb 2023 15:26:27 +0000 (16:26 +0100)]
Use proper DPDK EAL parameter name: --allow
The name of one of the EAL parameters has changed. Depending on the DPDK
version, we need to use a different name. While building the PROX image,
we need now to create a file /opt/rapid/dpdk_version that contains the
DPDK version. When running runrapid.py, we will now check this file to
decide if we use the old --whitelist, or the new --allow parameter name
for the PCI address to be used.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I3e07c552d014c818138d389abce936e275108776
Luc Provoost [Mon, 30 Jan 2023 10:48:00 +0000 (11:48 +0100)]
Create a unique machine name
Using containers, we need a unique --file-prefix parameter in the EAL
DPDK configuration. The file-prefix name is the name of the PROX
machine. This is defined by the name parameter in the rapid.env file.
When the name parameter is not specified in the rapid.env file, the name
will be defined in the test file.
The machine name will still be defined in the same way, but when a name
is not unique, an number will be appended to the name to make it unique.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I0b4e3be60f8ddef6c7eb30bca25c041ea270e238
Luc Provoost [Tue, 17 Jan 2023 11:23:58 +0000 (12:23 +0100)]
Allow a different pod spec for each pod
A new parameter is now introduced in the [PODx] sections of the
rapid.pods file. This parameter specifies the pod spec yaml file that
will be used to create this specif pod. When this parameter is not
available, the default pod-rapid.yaml file will be used. The parameter
name is spec_file_name.
Also cleaned some lines of code exceeding 80 characters.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Id26881517d45baf4bf6be2e82b4f9e049f2b2547
Luc Provoost [Mon, 16 Jan 2023 15:21:50 +0000 (16:21 +0100)]
Fix issue with system_ready_for_rapid file
In the /opt/rapid directory, we used to check for the existance of the
file system_ready_for_rapid. This file was created when all the
initialization is done properly. This check was however broken and always
resulted succesfully, even if the file did not exist. When executing
runrapid.py, the system will now wait to connect to PROX, till this file
exists. The file is created when running start.sh
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Idca52549aae40070a0b6ea1d7ccbf6c322dc631d
Luc Provoost [Mon, 9 Jan 2023 14:07:59 +0000 (15:07 +0100)]
Optional MAC address and other changes
The MAC address of the dataplane interfaces in the environment file is
now optional. If not specified, the HW MAC address of that interface
will be used. When using l2 tests, the parameter will be needed anyway
and the test will fail if the MAC address is not specified.
Starting from DPDK 20.11, the EAL --pci-whitelist parameter changed into
--allow. We are now checking the DPDK version of the PROX instance to
determine which parameter to use.
For pods using cgroup v2, we are now using a different file to determine
the cpuset available to the pod.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I7a88458406b9ae3c8cae9c583cc37121d40c5073
Luc Provoost [Mon, 9 Jan 2023 10:35:47 +0000 (11:35 +0100)]
Add entry in the log file when copying files
Added some extra logging in the rapid log file when we copy files to or
from the PROX instances.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: If9947ce87cec34f8336c69a243e9d5340ca37aef
Luc Provoost [Sun, 8 Jan 2023 12:18:29 +0000 (13:18 +0100)]
fix regex expression to find IPV4 address
helper.lua contains code to parse the IP addresses in the parameters.lua
file. The regular expression to find the IPV4 address is fixed.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I9baf2b059fa281dc408bd0ea59b77d294750c1ef
Luc Provoost [Sun, 8 Jan 2023 09:27:45 +0000 (10:27 +0100)]
Fix socket_id in rte_hash_parameters
The socket_id was either not initialized or set to 0. This fix
sets the proper socket_id to the relevant NUMA node. When running
on NUMA nodes other than 0, memory allocation for the hash table
could fail. With this fix, it is supposed to work on all NUMA
nodes.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I59887fe064a7e7c96ce2f6ce1c70791844b165b2
Patrice Buriez [Fri, 6 Jan 2023 19:11:13 +0000 (19:11 +0000)]
Update README and version.h (DPDK 22.11)
Reflect support for DPDK 22.11 and refresh compilation instructions.
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I082c630a13783ba012b4ee703b00999cac0f277b
Patrice Buriez [Mon, 2 Jan 2023 12:51:54 +0000 (12:51 +0000)]
Restore rw_reg and hw_direct_stats
Note that DPDK 21.11 and above must be built with 'enable_driver_sdk'
option enabled, in order to expose the rte_eth_devices array, now marked
as internal. See
http://doc.dpdk.org/guides-21.11/rel_notes/release_21_11.html#abi-changes
for details. This is done by supplying the '-Denable_driver_sdk=true'
command line parameter, either to 'meson setup', or later on to 'meson
configure', before running 'ninja' and 'ninja install'.
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I20db8971818a29ec495b6d8d79cf46f2204631a5
Long Wu [Thu, 8 Sep 2022 05:36:12 +0000 (01:36 -0400)]
Modify code according to new dpdk variable name
Note that most of the original contents of this commit has been removed
from this final patchset, because compatibility issues with DPDK 21.11
have already been addressed, although differently, by these commits:
-
b950110: Add initial support for DPDK 21.11
-
5efd9d8: Fix tons of deprecation warnings
Many macros, structure members and dpdk args' name have been changed since
dpdk 21.11 and the current latest version(22.07) still has these changes.
These changes caused the prox compilation to fail. Modify the code so that
prox can be compiled successfully with new dpdk variable name.
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: Ibaad7ac00b121ae9b12ed03bd0380400b226e805
Long Wu [Thu, 8 Sep 2022 05:59:50 +0000 (01:59 -0400)]
Fix name-array out-of-memory
"struct prox_port_cfg" "names" buffer size is 64 and it will lead to
out-of-memory when do "snprintf" operation. Modify code to enlarge
buffer size to 128.
Fixes:
9a1e1e9336b3 ("Added support for multiple vlans in ipv4 vdev mode")
Cc: xavier.simonart@intel.com
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Change-Id: Iafbde578688e1a59f4b6e655e45b2d2951f36162
Patrice Buriez [Fri, 30 Dec 2022 07:16:54 +0000 (07:16 +0000)]
Add support for DPDK 22.11
Note that DPDK must be built with 'enable_driver_sdk' option enabled,
in order to expose the PCI driver API, now marked as internal. See
http://doc.dpdk.org/guides-22.11/rel_notes/release_22_11.html#api-changes
for details. This is done by supplying the '-Denable_driver_sdk=true'
command line parameter, either to 'meson setup', or later on to 'meson
configure', before running 'ninja' and 'ninja install'.
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I5aa57cec851a68fa2a2d2fc63d4e12311e5742f9
Xavier Simonart [Sun, 20 Feb 2022 00:50:56 +0000 (00:50 +0000)]
Fix tons of deprecation warnings
reported since DPDK 20.11, 21.05, 21.11 and 22.03, and
turned into undeclared symbol errors with DPDK 22.11.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: Ice9a0f662ee057211984f799010701cd81e5a4d0
Xavier Simonart [Sun, 20 Feb 2022 00:50:56 +0000 (00:50 +0000)]
Add initial support for DPDK 21.11
Note that this patch simplistically removes some PROX features, because
they are not directly supported anymore by DPDK, since rte_eth_devices
is now private:
- reading and writing NIC register through PROX command line
- querying ixgbe HW statistics instead of getting them from DPDK
Also adjusted to following DPDK changes:
* struct rte_ether_hdr fields renamed:
- d_addr -> dst_addr
- s_addr -> src_addr
* struct rte_eth_rxmode field renamed:
- max_rx_pkt_len -> mtu
* --master-lcore -> --main-lcore
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I08445b3dd0f7fe471d9bc7cfb557bd3aeb2f50be
Patrice Buriez [Fri, 16 Dec 2022 15:37:41 +0000 (15:37 +0000)]
Fix releng-tox Jenkins job
Many reStructuredText issues
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I07e6af54d2ea15fa1ab1a08ad3c0b22643e7462e
Patrice Buriez [Fri, 16 Dec 2022 13:46:59 +0000 (13:46 +0000)]
Fix linker errors with older DPDK versions
when __rte_cache_aligned was defined in rte_memory.h,
rather than in rte_common.h now.
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: Id6fb6d9adc8b1324ef436aab3897f898a9304e9c
Long Wu [Thu, 8 Sep 2022 06:37:47 +0000 (02:37 -0400)]
Fix meson.build dependencies
In some environments, the compile command does not have "-ldl"
default. Add dl deps in meson.build to avoid compilation failures
in these environments.
Also add rte_bus_pci, which is a dependency for rte_pmd_ring or
rte_net_ring, and was triggering linker warning.
Signed-off-by: Long Wu <long.wu@corigine.com>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: I7ecb825ff532f1b63f79bff93470fa9203906aca
Patrice Buriez [Wed, 30 Nov 2022 13:05:50 +0000 (13:05 +0000)]
Fix linker errors with recent GNU ld
observed with:
- GNU ld 2.35 (gcc 11.3.1) on CentOS Stream release 9
- GNU ld 2.38 (gcc 11.3.0) on Ubuntu 22.04.1 LTS
- GNU ld 2.39 (gcc 12.2.0) on Ubuntu 22.10
Signed-off-by: Patrice Buriez <patrice.buriez@chenapan.org>
Change-Id: Ie7d7a4f6c4c5f82e68d2ca4e32f96972933d190f
Luc Provoost [Thu, 15 Sep 2022 19:08:39 +0000 (19:08 +0000)]
Fix thresholds for increment_till_fail
The thresholds that define a successful step of the binary search,
were not read from the test file or initialised to the default value
in case of the increment_till_fail test.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I8347a683f35f8fd2ff26161709bf0bd16387f2e0
Luc Provoost [Thu, 15 Sep 2022 14:48:53 +0000 (14:48 +0000)]
Removing the --socket-mem eal parameter
This parameter is not needed any more for a successful run on a
Kubernetes environment. I had to remove the parameter since this
was not working anymore on the K8s deployments I am currently
using.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I784611d66e003f1a6e344b2d9c7a2c06c5c2b114
Luc Provoost [Wed, 14 Sep 2022 15:13:32 +0000 (15:13 +0000)]
Change search success criterium
When running a step in the binary search, we can now change the
behaviour by adding a new parameter in the [test] section of the
test file: generator_threshold. The default value for this parameter
is set to inf, which results in the same behaviour as before this
change was implemented. The relative difference between what the
cores can generate and what is actually sent into the generator's
interface must be lower than the generator_threshold, for the test
to be successful.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: Id3e787b3571bdb9f241763fceaffccb9ea81a264
Luc Provoost [Tue, 13 Sep 2022 15:08:18 +0000 (15:08 +0000)]
Fix the core to check number of buckets
We need to check the number of buckets PROX is using for the irq
duration distribution. In the past, the scripts sent a command to
PROX to check this on core 1. This was typically a core running the
the IRQ task in case of VMs. With containers, this is not the case
any more and we need to query which core will run this IRQ task.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: If06295774b05d94549955cfbb0b1bb5f4eaf03e2
Luc Provoost [Mon, 21 Feb 2022 08:26:20 +0000 (08:26 +0000)]
Merge "Fix issues when handling unkown ipv6 packets"
Xavier Simonart [Sun, 6 Feb 2022 22:52:02 +0000 (22:52 +0000)]
Set default crc option for meson build.
Fix 80eea1.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I2ed225a903508363bb0499d9cfb35e46c8879029
Luc Provoost [Fri, 11 Feb 2022 18:55:41 +0000 (19:55 +0100)]
Fix issues when handling unkown ipv6 packets
In order to fix this, a new parameter has been introduced:
"ipv6 mask length". This can be specified in the port section of
the config file. The default value is 8 (bytes).
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I88b0b3906cc247ae5653ad59b8aa425f0cddf347
Luc Provoost [Fri, 4 Feb 2022 13:34:02 +0000 (14:34 +0100)]
Fix the search algorithm
In case, we are sending less packets through than the requested
amount of packets, we will now stop the binary search.
Signed-off-by: Luc Provoost <luc.provoost@gmail.com>
Change-Id: I7ddb8860d47104beffdd5ff05c0359f91f4908e9
Xavier Simonart [Sun, 9 Jan 2022 19:35:22 +0000 (19:35 +0000)]
Added sleep_time optional configuration in rapid
This can for instance be useful to ensure that inter-iteration
time is higher than SUT switch max_idle time.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I3a94b022f4d38e0c97d5cbd343b36a9a3ed5fd9e
Xavier Simonart [Mon, 10 Jan 2022 19:25:33 +0000 (19:25 +0000)]
Added support for no warmup
If warmup time is set to 0, there will be no warmup at all.
Before this patch, generator was started and immediately stopped
which could result in some packets sent.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I7acada86c527bcde70ab0117b79f95208a382cdd
Xavier Simonart [Sun, 9 Jan 2022 19:30:10 +0000 (19:30 +0000)]
Added support for mis-ordered packets in rapid
- mis-ordered packets are reported/displayed in an extra column
- a treshold can be specified for mis-ordered packets, as a criterium
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I3e17f86c44e54abcec2412ec57ba5303105b7b91
Xavier Simonart [Sun, 9 Jan 2022 17:20:01 +0000 (17:20 +0000)]
Added scripting support for ranges
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I532fd630498c2b00a91209ff7c3611fd09b460eb
Xavier Simonart [Sun, 6 Feb 2022 21:36:37 +0000 (21:36 +0000)]
Merge "Do not create (empty) latency loss file if disabled"
Xavier Simonart [Sun, 6 Feb 2022 20:58:12 +0000 (20:58 +0000)]
Change email address of Patrice Buriez
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Idd28d3462c3b2a0163977b5fddbe2b59d9217cc2
Xavier Simonart [Wed, 2 Feb 2022 08:27:20 +0000 (08:27 +0000)]
Change email address of Luc Provoost
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I4de253d3577253c92829cf536dcf36c84d795eda
Xavier Simonart [Fri, 7 Jan 2022 15:02:22 +0000 (15:02 +0000)]
Do not create (empty) latency loss file if disabled
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ia407e8d8bbdc19e8ca531b363c6cb0ed84ca5250
Xavier Simonart [Mon, 3 Jan 2022 15:28:22 +0000 (15:28 +0000)]
Fix warning when compiling with ninja
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I1d90cf8b06544b9e220726fade506275f872a037
Xavier Simonart [Sun, 2 Jan 2022 16:16:56 +0000 (16:16 +0000)]
Use crc offload by default when building with meson
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I8a004f2843273a56a3f724a4dca747da9f7f77c2
Xavier Simonart [Sun, 2 Jan 2022 16:14:40 +0000 (16:14 +0000)]
Fix keyboard related issues when building with meson
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I8186703b8ea3e88f91cd929898033eafecd686aa
Xavier Simonart [Thu, 30 Dec 2021 10:24:15 +0000 (10:24 +0000)]
Add support for detection of misordered packets per flow
Only flows from ranges are supported so far. This means that
flows generated through randoms are not supported yet.
Misordered packets can now be detected per flow.
flow definition is hard-coded as 5 tuple (proto, ip/udp src/dst).
The generator writes flow_id and packet_id within the packets (4 + 5 bytes).
This means that, if all latency, packet_id, signature, accuracy, flow_id and packet_id_in_flow
parameters are set, the minimum packet size is 72 bytes.
This feature is enabled through the following parameters:
On the gen side:
- packet id in flow pos: position (5 bytes) for packet id
- flow id pos: flow id pos (4 bytes)
On the lat side
- flow_count: the number of flows received by the latency core. If not enough
flows are configured, then an error message is displayed (once) and packet_reordering
count is only measured for those flows
- packet id in flow pos: position (5 bytes) for packet id
- flow id pos: flow id pos (4 bytes)
Misordered packets (and extent) are reported per core as before.
No change related to duplicate packets (not measured per flow as a duplicate packet is not per flow...).
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I07517df87dfebec81408baf1decb647d9a0edd94
Xavier Simonart [Sun, 2 Jan 2022 16:29:15 +0000 (16:29 +0000)]
Fix potential crash when executing in background
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I460e269926726aaaf495e751d8753cf8ab94877d
Xavier Simonart [Sun, 2 Jan 2022 16:24:00 +0000 (16:24 +0000)]
Fix toeplitz initialization key and rss key len for mlx4
mlx4 requires key_len to be 40. Other NICS seems fine with it.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ifc36ce2f0a80be74e9f957eb1ede3f98c756bfb2
Xavier Simonart [Mon, 20 Dec 2021 13:10:15 +0000 (13:10 +0000)]
Prevent rapid considering delayed packets as lost
In case of high latency in SUT, rapid was considering those packets as lost
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ifd52bb0f41e1995105bf216ed1068a50250403d8
Xavier Simonart [Mon, 20 Dec 2021 13:06:08 +0000 (13:06 +0000)]
Increase maximum latency supported by Early Loss Detection
Early Loss Detection was supporting a maximum latency of 16k
packets i.e. 1ms at 64 Bytes / 10Gbps.
This has been increased by 64.
Drawback is that early loss detection might take much longer
(1 million packets)
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I3e8dae6a27e72e48757a66e0097d17be924211ad
Xavier Simonart [Mon, 20 Dec 2021 12:59:07 +0000 (12:59 +0000)]
Add support for preventing rapid to change flows
By default, in flowsize and warmup tests, rapid will set the flows
by changing some fields.
However, rapid only support some types of flows.
Using this patch, one can let PROX define the flows, and prevent rapid to do it.
This is done by specifying number of flows to 0 in rapid configuration.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I69c7e223aaf536ebcfe9fb52e8305d5625e79fa6
Xavier Simonart [Mon, 20 Dec 2021 12:55:09 +0000 (12:55 +0000)]
swap: add option to prevent swapping geneve packets
Now a warning will only be printed for the first geneve packet not swapped
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ied424ce8fef9019ce2d4409391dc8001ed0b5ff7
Xavier Simonart [Wed, 3 Nov 2021 16:46:47 +0000 (16:46 +0000)]
store packet id in gen and swap
Support configuration option for specifying number of packets
which we will store (gen and swap).
Packets are stored runtime in a buffer and written to disk at exit.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Iab1c9c13048b6919f77392953675cb8c48aad8e4
Yury Kylulin [Tue, 2 Nov 2021 14:47:12 +0000 (17:47 +0300)]
Create combined image and add helm chart
Changes in this commit:
1) Create self contained image, rapid scripts can be executed
from the management pod and create other testing pods in the cluster.
2) Helm chart to automate rapid deployment and proper service account
configuration to be able to start management pod.
3) Fix for migration to paramiko.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I0281871cce392b3003e0274602a5c90c29af9b23
Heinrich Kuhn [Wed, 18 Aug 2021 14:21:39 +0000 (16:21 +0200)]
Use updated DPDK scheduling schema in Prox
The scheduling infrastructure in DPDK has changed somewhat in DPDK 20.11
and up. This patch adds the needed compatibly code to make use of the
new layout in DPDK. The bulk of the changes revolve around moving tb/tc
rates and period fields from rte_sched_subport_params to a new struct
called rte_sched_subport_profile_params
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Change-Id: Ie365903b972528eaa9324c707fe3868610f51993
Heinrich Kuhn [Wed, 18 Aug 2021 14:58:46 +0000 (16:58 +0200)]
Use mbuf dynfield1 array in Prox
The udata64 field in the rte_mbuf struct has been removed to make more
space for the dynfield1 array. Prox used the udata64 field for various
use cases. From DPDK v20.11 and beyond use the dynfield1 field in the
rte_mbuf struct for the same functionality.
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Change-Id: I0c2ba2f24bf5649ae809a54a9b0f9d6bebdd7056
Xavier Simonart [Sat, 11 Sep 2021 18:33:25 +0000 (18:33 +0000)]
Basic support for ranges in generator
This commit add initial support for ranges.
Ranges can now be specified using an offset and a range, in a similar
way as random. e.g.:
range=2-16001
range_offset=28
The two previous lines will range the src IP address from x.x.0.2 to
x.x.3e.81 in an IPv4 packet.
The range option will write as many bytes as the bytes needed for
the max (2 bytes in the example above), up to 4 bytes.
Runtime, the generator will iterate through the range in a linear way,
starting from the min.
No check are done whether range overlap themselves or whether they
overlap with randoms.
As of now, no support for command line or script option.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I98a1757998955f48631a5929bd7534481975eedc
Xavier Simonart [Sat, 11 Sep 2021 18:06:43 +0000 (18:06 +0000)]
swap: prevent printing continuous warning messages for STP and LLDP
Some switches send frequent STP (Spanning Tree) and LLDP (Link Layer
Discovery Protocol) messages. Handle_swap was printing a warning message
for each of them.
Now a warning will only be printed for the first message of each type.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I5a8ef7b76c492451aae66fd1533c61927bc6d8f1
Heinrich Kuhn [Wed, 18 Aug 2021 14:38:53 +0000 (16:38 +0200)]
Add support for building Prox with Meson
DPDK has deprecated the use of the make system in versions 20.11 and
beyond. Following the deprecation it is non-trivial to keep using make
to build projects that depend on DPDK. A cleaner solution is to adopt
Meson as a building framework. This commit adds support for Meson in
Prox. The meson.build file mirrors the functionality that is available
in the current Makefile. The make build system will exit if it detects
that DPDK was built using meson (testing for the RTE_TARGET directory)
Signed-off-by: Heinrich Kuhn <heinrich.kuhn@corigine.com>
Signed-off-by: Simon Horman <simon.horman@corigine.com>
Change-Id: I6ebffa2199993fd6eb46c2f31961fe7dc38e727c
Sridhar K. N. Rao [Mon, 19 Jul 2021 12:26:44 +0000 (17:56 +0530)]
Changes from ViNePerf
This patch adds changes to support using rapid to run tests only.
1. Fix format.yaml path. Add format.yaml as datafile in setup.cfg
2. Do not call generate lua if starting prox is not required.
3. Move logs to results directory - if present
4. Machines should not be used in del, if not created.
Fix syntax error.
Signed-off-by: Sridhar K. N. Rao <sridhar.rao@spirent.com>
Change-Id: I580716573d0be2a8da02035f4d180e81b63b3fc8
Luc Provoost [Fri, 20 Aug 2021 09:33:55 +0000 (11:33 +0200)]
Fix ssh timeout issue
Moving to paramiko for ssh introduced a bug: when starting PROX through
ssh, a default timeout of 15 seconds was started. The timer is now
disable since we need to run PROX as long as the test will take.
Change-Id: I65162fff33beb6d30d2f5ee2b83f9bef7880ce4b
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 16 Jul 2021 09:40:11 +0000 (11:40 +0200)]
Using paramiko for all ssh & scp
By using paramiko, we can now also use differnt credentials to login into
the PROX instances. In the ssh section of the environment file, you can
now also add the password parameter.
Change-Id: I08d31cbf0d02d7e82b7fbe34268851f73ff5dde0
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Mon, 21 Jun 2021 12:55:22 +0000 (15:55 +0300)]
Add support for multisocket memory reservation
Automatic detection of allowed NUMA nodes for memory allocation
added to Kubernetes environment.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I4f8b2f64971d43414bbd290f7fcbc6210c1d6d71
Luc Provoost [Wed, 9 Jun 2021 11:51:31 +0000 (13:51 +0200)]
Fixing eal parameter issue when more than 64 bytes
Using prox_strncpy to copy eal parameters, so PROX will abort in case
the parameter exceeds the maximum string length. Also increased the
string length from 64 to 256 bytes.
Change-Id: Id7cee03f6b625e165342129e9c2c71216d1144e6
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Tue, 8 Jun 2021 11:37:55 +0000 (13:37 +0200)]
fix container image and use latest code
The container image was not containing a working prox executable any
more.
Also took out the commit id, so we always have the latest prox code in
the latest container image
Change-Id: I4336e06031d5bf5b3f08f4bc32b76703fde34040
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 10 May 2021 14:04:22 +0000 (16:04 +0200)]
Fix latency buckets with multiple lat cores
The bucket data of the last latency core was taken into account when
collecting the latency stats. We are now adding the bucket data for all
cores.
Also changed the error reporting when PROX instance is breaking the pipe
connection (e.g. when the dataplane network is overloaded).
Cleaning up some trailing spaces in pox_ctrl.py
Change-Id: I09ba01ac65e7e4e9ff03ad47da83aa4f83250a67
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 10 May 2021 08:06:30 +0000 (10:06 +0200)]
Reinstate installation of igb_uio
For good performance on some platforms, we need the igb_uio driver. With
this change, the driver is compiled and insmod done during boot time.
When running the rapid scripts, the devbind.sh script is sent to the
instances (after replacing the string "MACADDRESS"). Make sure you
uncomment the proper line to chose which driver you want to use.
Change-Id: I69549400a97f29e06add6ab44515e96ffa9ce0e8
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 7 May 2021 16:06:05 +0000 (18:06 +0200)]
Fixing rapidxt for Xtesting
Changes were needed for installing the python rapid python package by
adding 2 new files: pyproject.toml & setup.cfg. Also fixed a bug in
rapidxt.py
Change-Id: Iac98b6068afef4a5f1a97459ea1109211607d53d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 5 May 2021 16:09:07 +0000 (18:09 +0200)]
New test case: gen versus swap via gateway
A new test was added: tests/basicrapid_gw.test. Traffic generated will
now go to the reflector (swap instance) via the Gateway. The swap
instance will also send the traffic back via the gateway. This use case
is created to support GCP testing where the interfaces are defined with
a /32 netmask, and hence all traffic is routed via the gateway.
Change-Id: I60142d650072ab345cd47a0f32cb6a8275da0542
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 30 Apr 2021 07:28:22 +0000 (09:28 +0200)]
Do not run after_boot.sh by default
In the definition of the stack in openstack-rapid.yaml, we define a
CloudConfig resource. after_boot.sh is called automatically by
a service (check-prox-system-setup.service), after each boot. In this
file, defined in the CloudConfig resource, you can put instructions
needed for succesful operation and to fix certain issues in your
environment. By default, this file should NOT be executed, hence we
should not have this in the CloudConfig. Change the name back to
after_boot.sh if you need to execute this code.
Change-Id: Ifd3f86fe6dfd31444b799833d6b435a310708f25
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 29 Apr 2021 17:30:01 +0000 (19:30 +0200)]
Fix the qcow2 disk image content
When building the qcow2 image, we are not automatically getting the
latest version of the samplevnf code. Since this might have to do with
caches, a parameter with the workspace directory is now passed to
disk-image-create using the --image-cache option.
Also removed verify-image.sh since this is done using build-image.sh
with the -v option.
Change-Id: I661c543102258929bdfe53af6c6ea0ff72eab33d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 28 Apr 2021 14:16:21 +0000 (16:16 +0200)]
Default use of rapid_rsa_key
A secret and public key pair is available in the rapid directory:
rapid_rsa_key and rapid_rsa_key.pub. createrapid.py is now modified to
upload this key into OpenStack if the keypair does not already exist in
OpenStack. Which keypair to use is now only defined in
params_rapid.yaml. You can still define a key pair with a different name
in params_rapid.yaml. If the secret and public key files are not
available, a new keypair will be created and the secret key file will be
saved. The name of the secret key file is the name as the OpenStack
keypair name. The name of the public file is the same, with the pub
extension.
Change-Id: Ib8b5e4bf3a3d3138216698dc588a6908248220c0
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 22 Apr 2021 07:17:36 +0000 (09:17 +0200)]
Fix error in sut throughput measurement
In the fomula to calculate the sut throughput measurement, we used the
frequency of the wrong machine: the generator. This issue showed up when
testing with generator and sut on a different type of compute node, with
different processor frequency.
Change-Id: Ib42bb8a30924d6bc6bb2773aed5dcc9145bb50fc
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Tue, 20 Apr 2021 14:24:41 +0000 (16:24 +0200)]
Fix reorder count after reset
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I93bc98069bf60d8b727fd877bf89087c57ad2dd9
Xavier Simonart [Thu, 8 Apr 2021 10:11:57 +0000 (12:11 +0200)]
Fix spurious discarded packets in CGNat.
CGNat was discarding packets in some cases. Some run
were fine, others were seeing many packets discarded.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I63b2df993e31443bc4b5168611fcdcfa454e2137
Luc Provoost [Fri, 16 Apr 2021 13:57:36 +0000 (15:57 +0200)]
Adding documentation in the test files
a README file in the tests subdirectory is now describing the parameters
used in the test description files. Each test files has a comment
pointing to the README file for more information.
Change-Id: I49b9b3e1fac0a65c43e7f2d7dc90612923e28f78
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 15 Apr 2021 09:49:42 +0000 (11:49 +0200)]
Rework of statistics reporting
- Cleanup of the format.yaml file.
- Adding of the packet mis-ordering statistics
- Added a warmup phase to get the correct mis-ordering statistics since
ARP messages need to be dealt with before we can collect correct
misordering stats
- Code cleanup avoiding some long lines
- Removing background traffic control from rapid_flowsizetest.py since
this is already done in the iteration code in rapid_test.py
Change-Id: I4c60a90353f27b8e2d0b62505e8f1cd886a17f0a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Tue, 13 Apr 2021 10:36:41 +0000 (12:36 +0200)]
Fixing the INFO.yaml
Removing trailing spaces
Change-Id: I8d06b7413444843f0bdaa890189929f0e5e2e0f8
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 12 Apr 2021 16:18:30 +0000 (18:18 +0200)]
Code improvements
Rework of some of the code for better readability
Change-Id: I559e88faba31d93e593d39cf436f3e114ba4528a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 8 Apr 2021 17:48:33 +0000 (19:48 +0200)]
cgnat test case added
A cgnat test can now be executed. This test needs 3 PROX instances. The
first one, the generator needs to have an interface on the private
dataplane network. The second instance, the cgnat needs to have it's
first dataplane interface on the private network, while the second data
plane needs to be on the public network. The third instance will be
playing the role of internet server that the generator is connecting to.
It will have one dataplane interface on the public network. This third
instance will increase the packet size of the received packets by
padding it with zeros and it will send the packets back to the cgnat
mutliple times. How many times is defined by a multiplier in the
cgnat.cfg file.
In that cgnat file, we also define a range of IP addresses that will be
used for the dynamic source IP NAT-ing. Make sure that the ports are
allowed to accept other IP addresses than their own (e.g. allowed
address pairs) and that the range of IP addresses is not overlapping
with other machines in the public network.
Change-Id: Ibc1c8513ac4e8a304378814fceb28c090dff895f
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 2 Apr 2021 12:53:09 +0000 (14:53 +0200)]
Log ssh & scp related issues also on screen
When scripts are doing an ssh or scp to the PROX instances, errors were
sometimes hidden. E.g. when we try to upload a config file to the PROX
instance that is already existing but owned by another user, we would
not see the error on the screen.
Note this will only happen if you build your own image. In case you use
the pre-canned PROX images, this should not cause issues.
Change-Id: I94176b737cd548c93afc71450a85910d7eca2b0c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 1 Apr 2021 13:54:38 +0000 (15:54 +0200)]
Avoid seg fault in rte_hash_lookup_bulk
In case we receive a NON-IPv4 packet, we discard the packet. However,
this made the rte_hash_lookup_bulk crash. Hence the keys parameter has
changed to avoid the crash.
Change-Id: I093688a0b59d44667a42147fd67fbc7901d6dba4
Signed-off-by: Luc Provoost <luc.provoost@intel.com>