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>
Luc Provoost [Tue, 6 Apr 2021 10:23:57 +0000 (12:23 +0200)]
Fix username for committer rights
Change-Id: Ie2532fdb6339dc447ae122136088d6a1ca2c80f2
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 31 Mar 2021 15:52:47 +0000 (17:52 +0200)]
Fix ref counter bug
Fixed the error in the calculation of the rte_pktmbuf_refcnt_update
parameter
Change-Id: I858d9e0b8cf158f9c24807197df34f69217a1b1c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Mon, 29 Mar 2021 09:45:47 +0000 (11:45 +0200)]
Minor update to fix compilation issues on recent gcc and dpdk
Fixes compilation issues seen on gcc 9.3.0 on dpdk 20.05.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: Ib7989c1bac66e82551165ab49e06941ebc772347
Luc Provoost [Tue, 23 Mar 2021 12:22:53 +0000 (13:22 +0100)]
Do not request IPV6 routing info
PROX is not yet dealing with IPV6 routing info (only IPV4). Hence we got
a segmentation fault when receiving such information. In a previous
commit, we are checking for IPV4 routing info and we do not continue
processing of any other routing information. With this fix, we ask the
Linux OS NOT to provide IPV6 routing info.
The checks when receiving routing information have changed so that we only
treat IPV4 and nothing else.
Change-Id: I428a036c31014377c8de08da17e51740be0e1de5
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 22 Mar 2021 16:10:36 +0000 (17:10 +0100)]
Ignoring IPV6 routing messages
The code was only written to deal with IPV4 routing messages. If we
receive an IPV6 routing message, we are now ignoring that message.
Change-Id: I0f8044a0331235639bf5cab9abb9c8ce55c3522d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 15 Mar 2021 19:49:40 +0000 (20:49 +0100)]
build-image.sh is now taking parameters: -i -g
The -i option is now specifying the appendix for the the image name. The
name of the image will be rapid-<appendix>.qcow2. The -i option could then
be used to specify 'latest' or 'stable'.
The -g option specifies the google storage url where the qcow2 will be
stored.
The -v option is still existing in case we want to only verify the qcow2
image creation process.
An example:
buils-image.sh -g artifacts.opnfv.org/samplevnf/images -i latest -v
Change-Id: Ie07a89eff029f4e9fd3e1f2ebff1eaea05c580a6
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 25 Feb 2021 17:34:11 +0000 (18:34 +0100)]
Fix the tuned optimizations
tuned-adm is now run through check_prox_system_setup.sh at the first
system startup/reboot. This will result in the correct grub cmdline
parameters.
We are also coying the default rapid_rsa_key in the authorized_keys of
the rapid user, which is now the default user to run the tests.
Fixed also an issue in handle_mirror.c: using now ETYPE_IPv4.
Changed deploycentostools.sh to reflect the changes done when building
the image with disk-image-create.
Change-Id: I5933d21faef9fe02b56c01d0b96e2c143cc5476d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Cédric Ollivier [Wed, 10 Mar 2021 14:06:15 +0000 (15:06 +0100)]
Remove useless site.retry from tree
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: Id2a3fc69d097024cff608103ba7310388a273976
Luc Provoost [Wed, 24 Feb 2021 10:51:22 +0000 (11:51 +0100)]
Preparation for packet mis-ordering stats
Changed PROX and the python scripts so that the "lat all stats" command
also returns the mis_ordered, extent and duplicate statistics.
In order to make this work properly, we need now to also stop and
restart the latency cores, every time we stop and start the generator
cores, since the sequence numbers are reinitialised every time we start
the generator core.
Change-Id: Ic4212a989c8ee9d0f026a34ca63a08b982c32b71
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 25 Feb 2021 20:50:52 +0000 (21:50 +0100)]
change committer email address
Changed to Xavier's new email address
Change-Id: I3b5a0e00c41abcbca405dbea33a87c56688a5289
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Tue, 12 Jan 2021 15:57:01 +0000 (16:57 +0100)]
Fix mbuf corruption when handling icmp messages.
Signed-off-by: Xavier Simonart <simonartxavier@gmail.com>
Change-Id: I3eeacb550d1ef51a13802d06f06973437afe7d9b
Luc Provoost [Fri, 19 Feb 2021 17:01:49 +0000 (17:01 +0000)]
Merge "Bypass the dep management issues in lfdocs-conf"
Luc Provoost [Thu, 18 Feb 2021 20:16:46 +0000 (21:16 +0100)]
qcow2 image file name to include GIT_BRANCH
The qcow2 file name is now constructed as a combination of
rapid-${GIT_BRANCH##*}.qcow2
The image is built and copied every time the job is triggered. In this
way we will overwrite rapid-latest.qcow2.
Change-Id: I9f9c255dc5207a7595aa9e49ae57bd50b42c4d3b
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 15 Feb 2021 14:01:20 +0000 (15:01 +0100)]
Using disk image builder to create rapid VM
All files are now availavle to build a qcow2 image using disk image builder.
This image is based on centos 7. DPDK and PROX are installed together
with some optimizations.
Change-Id: I61aa91206ea7f8b3b6a3ff7d490d1804e7e784c8
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Cédric Ollivier [Wed, 17 Feb 2021 16:17:24 +0000 (17:17 +0100)]
Bypass the dep management issues in lfdocs-conf
It can only work for python3.
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
Change-Id: Ie7b2706f9d4dbfbb2cdca85c0543894c79634246
Yury Kylulin [Thu, 11 Feb 2021 13:58:39 +0000 (16:58 +0300)]
Add support for native Kubernetes CPU Manager
For Kubernetes environment core ids in the config and test files are relative and
automatically remapped to the allowed cores allocated for container.
There is no change to the baremetal or VM environment.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I63e499723e8213de1b05d4175eb3eddc4492ccf5
Luc Provoost [Wed, 10 Feb 2021 11:12:46 +0000 (12:12 +0100)]
Improve prefetching in handle_mirror
Some of the prefetching code was commented out, which was wrong. The
prefetching is back in.
Change-Id: Id7e7f09bd62faa7b9faf3d677962a99ba2a71080
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 1 Feb 2021 13:04:01 +0000 (14:04 +0100)]
Expand mirror functionality
In order to deal with non-symmetrical load, the mirror function can now
change the packet size of each packet it receives. It can also send the
incoming packet multiple times on each of the tx ports. To support this
feature, 2 new parameters in the cfg file have been added for the mirror
mode:
- multiplier: specifies how many times a packet needs to be sent on each
tx port. Default is 1.
- mirror_size: the size of the packets that need to be sent. This will
just change (increase) the packet size of each incoming packet. If not
specified or invalid value (e.g. <64), the size will not be changed.
The packet size will only be changed for IPv4 UDP and IPv4 TCP.
Note that these parameters have no effect on the mirror copy submode.
Change-Id: Ic46b52abdd80ed51cffee667bd04ade9ec23ff6d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 1 Feb 2021 09:16:51 +0000 (10:16 +0100)]
Fix the default test file
In a previous change, all test files were moved to the tests
subdirectory. When not specifying the test file on the command line as a
parameter, the default test file is used, as specified in
rapid_defaults.py
It did not reflect the fact that all test files were moved to
this directory.
Change-Id: I5c77b75dbdde040d0e30dda2b97e981dff572f2f
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Fri, 29 Jan 2021 11:57:36 +0000 (14:57 +0300)]
Add rapid script sources in the image
Make image more universal and add rapid scripts for mgmt from the container.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Ia46a8e147f978dd64bfe6c7b44f7dff92e241855
Luc Provoost [Wed, 27 Jan 2021 16:18:31 +0000 (17:18 +0100)]
creation of tests and configs subdirectories
All test files are now in the tests directory. All PROX config files
moved to the configs directory. When specifying a test on the
runrapid.py command line, you should now also mention the directory:
e.g. --test tests/basicrapid.test
In these test files, you need now to also include the configs
subdirectory when specifying the prox configuration that needs to be
used.
The --map parameter has also changed. It can still take the file name
of the map file, that specifies which PROX instance to use during a
test. On top of that, you can now also specify a list of indices of the
machines to be used during a test: e.g. --map [1,3].
Change-Id: I887cba59834dd8c903a22bc80959b10da2775398
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Wed, 27 Jan 2021 11:27:14 +0000 (14:27 +0300)]
Add default SSH keys
Adding default RSA keys for SSH access.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Id9552717591a805562f3ed2f840251bd9f6a71c1
Luc Provoost [Wed, 16 Dec 2020 14:47:49 +0000 (15:47 +0100)]
Improved PROX cleanup when exiting
Sending now a 'quit' command to PROX, so that the thread running PROX in
an ssh session is now cleaned up correctly.
Also fixed a problem with the logging when running the code more than
once. We only create handlers now, when they do not yet exist.
Updated the rapid version.
Also added some more tests in the testcases.yaml for xtesting.
At the end of a run, the PROX.log files are copied in the results
directory.
The success criterium for a test 'pass_threshold' has been removed from
the test files and is to be controlled by the xtesting testcases.yaml
file.
Change-Id: Ifbbb1c91f32c9176f52025d9ae4c495b432a94c9
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Thu, 10 Dec 2020 16:27:07 +0000 (19:27 +0300)]
Fix for new config file structure
Fix subnet configuration for the dataplane interface.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I612113a86a960284303915d5d003bf67a1b48a72
Yury Kylulin [Thu, 10 Dec 2020 08:40:29 +0000 (11:40 +0300)]
Moving to python 3 for kubernetes scripts
Move to python version 3 in all scripts for kubernetes environment.
Streamline file names to match existing libraries.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Id875f4240a87ab600b445cb9a7fd97ec1335f88a
Luc Provoost [Tue, 8 Dec 2020 20:53:41 +0000 (21:53 +0100)]
Reporting test details for all tests
Test details were only implemented in rapid_flowsizetest.py. When
executing other tests, an error occured. That is now fixed, although in
some cases, None is returned.
The format.yaml files defines now alsowhat will be reported in the
Xtesting details.
Change-Id: I5feae62dcf228664b24451d3fc5dfaaadf7edb5e
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 3 Dec 2020 18:48:12 +0000 (19:48 +0100)]
Final documentation update for Jerma release
Final changes to the documentation
Change-Id: Ibefd33feb15efb692b445dd6a025ec3854d2ed5a
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 2 Dec 2020 11:33:58 +0000 (12:33 +0100)]
More documentation updates
Added 04-running_the_test.rst describing how to change the default test.
This section is describing the parameters the parameters you can use and
how to change the Dockerfile and the testcases.yaml file.
Change-Id: Ieaa173ebc61dd320659ca6be3d2ce31684298d42
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 30 Nov 2020 17:10:13 +0000 (18:10 +0100)]
Additional documentation fixes
Fixed some errors causing an invalid rst format.
Change-Id: Ide739a48abbd32b5c88b017a74ad7afc406c2c34
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 30 Nov 2020 14:36:18 +0000 (15:36 +0100)]
SampleVNF Jerma documentation update
Some more documentation updates for the Jerma release.
Change-Id: I0626ae2ac18dd858f6d1e5fa341371aca6ec639d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 23 Nov 2020 17:24:10 +0000 (18:24 +0100)]
Jerma documentation rewrite
First step in a rewrite of the sampleVNF documentation whcih is now
focused on the TST009 testing using PROX and rapid.
Change-Id: Id95cd44831ae7db518ccdf1d8da55890197d2fcb
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 19 Nov 2020 08:56:08 +0000 (09:56 +0100)]
Changing the committers for the sampleVNF project
Per TSC decision as documented in
https://wiki.opnfv.org/display/meetings/OPNFV+TSC+Meeting+2020-09-29,
changing the INFO file with committer info for sampleVNF project. The
project is now focusing only on the rapid-PROX based dataplane
benchmarking using TST009 spec.
Change-Id: I61a6f69b84af9e1e30e071771a1d2e36b833cf84
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 16 Nov 2020 12:43:14 +0000 (13:43 +0100)]
Support for xtesting
Some files were added to for rapid testing in the xtesting framework
Change-Id: Id912789c5007ca8390a67fb5b359296089aa9618
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 13 Nov 2020 15:06:46 +0000 (16:06 +0100)]
Fix for latency reporting and log file handler
The latency histogram dat did not contain samples collected during the
first measurement of each step. The maximum latency did take the first
step into account. As a result, you might see a test run with a maximum
latency not showing up in the latency histogram data. This has been
fixed by also including the data from the first measurement in the
histogram data. In some cases, we also reported the wrong speed from the
last unsuccessful step. This is now fixed and we do report the speed
from the last successful step.
In rapid_log.py, a fix was added to execute the rollover on the file
handler of the log file in all cases. In some cases, the file handler
with index 0 was not the file handler of the log file.
Change-Id: I6c2b16c21dd0ee17d1d14e46c4c544e185324256
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Fri, 30 Oct 2020 15:46:31 +0000 (16:46 +0100)]
Fix potential crash in parsing unusual commands
'reset values all' and 'reset randoms all' commands were
potentially causing some crash. This has been fixed.
Change-Id: Idc2c4f7c90db73e7fdf9e8ef76b00ba956a0d854
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Thu, 5 Nov 2020 11:31:45 +0000 (12:31 +0100)]
Fix setting imx pkt sizes through config files
Change-Id: I0e5098747cc496da8632e8d6f779e418da03dc4a
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Luc Provoost [Mon, 19 Oct 2020 09:47:50 +0000 (11:47 +0200)]
Documentation for Jerma release
JIRA: SAMPLEVNF-161
Adding Release notes and pointers to the documentation in the wiki
Change-Id: Ifce28b844ae336b5a54479b614b3959193acc42d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 30 Sep 2020 14:57:30 +0000 (16:57 +0200)]
Support dataplane subnet mask & latency histogram
There is a new parameter in the config_file: dataplane_subnet_mask. This
parameter is added to the dataplane IP addresses and is needed by the
Linux stack to deal with some protocols (e.g. ARP). If not present, the
default value of 24 will be used. In the end, this will make sure that
IP addresses in the rapid.env file will have this mask, e.g. /24
If you use other tools than createrapid.py to create the rapid.env file,
make sure to add the mask.
This commit also introduces a change when exiting: we only copy the
prox.log files from the different prox instances in case we expect a new
prox.log file to be created in these instances.
When using a valid format.yaml file, the tool will now also send the
latency distribution data (histogram) to the URL.
The tool is now also checking the value of bucket_size_exp: it needs to
be 11 or more.
Change-Id: I633cdc64ef687fdb6625be1e7482a5a371f83e93
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Tue, 22 Sep 2020 10:42:06 +0000 (12:42 +0200)]
Report failure when tap port is not mapped to real dpdk port.
When using "vdev=" in port section, a tap device and an additional dpdk
port are created. In most cases, we still want to use a real DPDK device
(i.e. bound to an interface such as virtio or a PF or a VF).
PROX will now report by default an error when the used [port] is not a
DPDK bound device.
An additional parameter "virtual=yes" can be added in the port section
in case one want to disable this error checking (e.g. specify additional
parameter for the vdev device).
This patch also fixes a potential endianess issue when configuring IP
addresses.
Change-Id: Iffdd9552308be3b77cfe2067630647acac2c01fe
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Luc Provoost [Wed, 23 Sep 2020 12:45:23 +0000 (14:45 +0200)]
New PROX version, background traffic reporting
deploycentostools.sh is now installing a recent PROX version. When using
background traffic, the tool is also reporting the total traffic that
was handled by the NFVi stack, including foreground & background
traffic.
The use of the prox_socket and prox_launch_exit was also broken in a
previous release and is now fixed.
When setting prox_socket to false for a PROX instance, we will not
create a socket connection to control that PROX instance. Setting this
option to false is not meaningful for the generator PROX instances since
we would not be able to control the behavior of the PROX generator
during the test. You could use the generator against another non-PROX
instance and then set prox_socket to false for that non-PROX instance.
Default is true.
prox_launch_exit is used to start and stop the PROX program inside the
instance. Default is true. This is useful in case you want to start PROX
manually to be able to inspect the PROX UI, but at the same time, let
the rapid scripts control the testing.
Change-Id: Ib5aa809f4be201859542769f5f55f4989dad97ef
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Mon, 14 Sep 2020 07:25:05 +0000 (09:25 +0200)]
Add git version.
git version is now printed in prox.log file.
- git_version.c is always recompiled
- If source have been locally changed, the build is shown as dirty
- If git is not available on the build system, a message such as
'make: git: Command not found'
will be printed, but the build will succeed.
Change-Id: If551832c6079f5e3bd04cd4d8ac5f8204e6be8cd
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Fri, 10 Jul 2020 10:59:40 +0000 (12:59 +0200)]
Added support for multiple vlans in ipv4 vdev mode
When the following conditions are met:
- ipv4
- vdev enabled
Then multiple vlans are supported.
Multiple vlans can be configured using the vlan_tag option within the port section of the config file.
Multiple (different) local_ipv4/prefix must then also be configured within the same section.
Note that for ipv6 multiple vlans are not supported (yet)
Also, when vdev is not enabled, multiple vlans are also not (yet) supported.
Change-Id: I38b6cd98ff2a0f484d1bf0910b15413ba21ae6d6
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Sat, 11 Jul 2020 13:54:49 +0000 (15:54 +0200)]
Improve performance in IPv6 generator
Change-Id: I3abc92652402162d15249e345446debdeb778176
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Sat, 11 Jul 2020 13:51:47 +0000 (15:51 +0200)]
Added support for VLAN in IPv6
Change-Id: Ib1b3d54f9cb8e4284eee7ed0998e96370762a17e
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Mon, 1 Jun 2020 18:52:57 +0000 (20:52 +0200)]
Added support for gateway ipv6 & cmd for sending unsollicited neighbor advertisement
Change-Id: Iae35d3fa19ad7cf90d8c2e0c104b0e798ac34787
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Thu, 2 Jul 2020 08:02:40 +0000 (10:02 +0200)]
Added support for reporting packet (mis)order.
The "Latency" screen has been updated with 3 columns:
- mis-ordered
Count the number of mis-ordered packets.
- extent:
Gives an indication of how mis-ordered the packets are.
Receiving packet "x - 5" after receiving packet "x" will
cause an extent of 5.
- duplicate:
Count number of duplicate packets.
Following commands have been added for the impair mode:
- proba no drop: replaces the former "probability" command.
Percentage of forwarded packets. So 99.5 means 0.5% of packet drop.
- proba delay
Percentage of delayed packets for the impair mode.
- proba duplicate
Percentage of duplicate packets.
Similar parameters are supported within the config files:
- proba no drop
- proba delay
- proba duplicate
Note: it is recommanded to use the signature when measuring packet
misorder, as otherwise unexpected packet would cause miscounts.
Change-Id: I037f606f264d6e2bd7f123df5ed57ab7df8386d7
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Luc Provoost [Thu, 17 Sep 2020 15:17:36 +0000 (17:17 +0200)]
Using python concurrent futures
Different PROX instances are now started in parallel. The script is
starting multiple threads.
Change-Id: Ia8785a792240d4e9b5d5d98174bc4c5d7ae5657c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 16 Sep 2020 07:52:06 +0000 (09:52 +0200)]
ramp generator traffic & prox.log copy
A new parameter can be put in the *.test files so that the requested
traffic is not generated at once, but slowly increasing up to the
requested traffic. This is important for some SW switched that adapt and
learn from the applied traffic. When suddenly applying a high traffic,
the switch might not have enough time to learn and lose packets. Only
after a period of time (up to 10 seconds?), the switch can cope with the
traffic without packet loss. In order to get reproducible results in
this case with low packet loss, please put the parameter ramp_step in
the test section of the *.test file. The step is expressed in percentage
of a 10Gb/s traffic. If the parameter is not present, the load will be
immediately applied.
When the runrapid.py script is now finished, it also copies the prox.log
files from all the prox instances. In case of issues, please investigate
this log file.
When using background traffic, the tool will also print the average
background traffic for each step in the DEBUG log. In this way, you can
check that the background traffic is actually dealing with the same
amount of traffic as the foreground. The tool is printing the packet
reception rate of the background generators.
A bug was also fixed regarding the latency percentile reporting. When
using tests involving l2gen.cfg, the values of the percentile latency
were wrong.
Change-Id: Id3dd02ed5cab084414c717cf898b30e6980ddf31
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 7 Sep 2020 14:57:26 +0000 (16:57 +0200)]
deploycentostools.sh to use latest PROX
Rapid scripts are communicating to the PROX instances. Rapid scripts
will not work with every PROX version sice sometime we change the
interface between the scripts and PROX. Hence we have a commit ID in
deploycentostools.sh to make sure we have a version of PROX that we can
work with. This change will now ensure we have a recent PROX version
when we use deploycentostools.sh to build an image.
Change-Id: Ia634f61a2dc8f49188cec6697ebf5f980d35ce7d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 20 Aug 2020 16:03:11 +0000 (18:03 +0200)]
Allow latency thresholds for TST009 testing
Even if the latency thresholds were defined in the TST009 test files,
the values were ignored and replaced by 'inf', whcih means the
thresholds were not taken into account to define a successful step. If
the thresholds are not defined in the test files, they are still set to
'inf'.
Change-Id: I9559f05fb6066ab8759900abe3eb53ff4662e510
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 17 Aug 2020 12:53:11 +0000 (14:53 +0200)]
Add all_rx_queues port flag to use all rx queues
In the port section of the PROX configuration file, a new parameter can
be added: all_rx_queues. The default is all_rx_queues=no.
When the rx port variable of a task is listing a port name, all rx
queues will be used when the all_rx_queues is set for that port.
If not set, only one queue of that port will be "consumed", each time
the port is referenced in the rx port variable.
When the all_rx_queues is set for a port, you should NOT reference that
port more than once in the rx port variables.
Change-Id: If9662b1ac07adeec9db88d2a25ca68aed0b9e213
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Mon, 17 Aug 2020 12:12:28 +0000 (14:12 +0200)]
Setting mq_mode for virtio to ETH_MQ_RX_NONE
As described in https://patches.dpdk.org/patch/60354/, we cannot set
mq_mode for a vertio device to ETH_MQ_RX_RSS. Therefore adding this
extra test before setting mq_mode.
Change-Id: I8a33cf73afaa2cef8b9b012bf8ebe7296e1e692d
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 7 Aug 2020 08:55:32 +0000 (10:55 +0200)]
Support DPDK 19.11 rc0
Change-Id: I7ac1bb78fe00407ff66945fcdf7b5d54c9025214
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Thu, 6 Aug 2020 12:11:05 +0000 (14:11 +0200)]
fix: IPV6 packet generation, packet loss reporting
UDP and IP packet length and source UDP port and destination UDP port
were wrongly set for IPv6 packets.
In the *.test files, there is now an optional boolean field (ipv6) in
the [TestParameters] section. When set to true, the generator will use
the IPv6 packet layout to place the right values at the proper offset
in the packet. If not present or set to false, the IPv4 layout will be
used. Note also that packet size needs to be at least 84 bytes for IPV6
traffic since we need space for latency and other information in each
packet.
Packet loss ratio is now printed as a percentage of the total packets
sent.
Change-Id: I2136e87f3032348ae95b69052be7da8461c6303c
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Wed, 15 Jul 2020 11:51:02 +0000 (13:51 +0200)]
Improved IRQ measurements and pushing results
The IRQ test has been reworked to increase the accuracy of the IRQ
measurements. Results can now also be pushed to a Prometheus push
gateway or to OPNFV's Xtesting. In order to do so, a new file
format.yaml has been introduced. Please use this file now to specify the
details of the PushGateway or the Xtesting server.
Added new test: increment_till_fail.test
Change-Id: I111aae3e099bc03e3d2ddd1014a0301bac356e0b
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Fri, 24 Jul 2020 16:13:57 +0000 (16:13 +0000)]
Fix execution in the Kubernetes environment
Due to the recent changes in the rapid scripts, Kubernetes environment need to be adjusted.
Ready for test flag file for the runrapid script created during the container start.
TUN device configuration added.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I097aafbd1d1d102aa61b8b86842afcb2d6a51338
Xavier Simonart [Fri, 10 Jul 2020 11:09:23 +0000 (13:09 +0200)]
Fix gateway l3 wrongly inserting VLANs
Change-Id: I187ed4f282c6332a7e906bc03b51d26295a475ac
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Fri, 10 Jul 2020 14:27:06 +0000 (16:27 +0200)]
Fixed compilation issue on dpdk 19.08 (and more recent)
Change-Id: Iae0a0d95b5a216463ec7511337be4019fdd4359f
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Thu, 2 Jul 2020 08:05:49 +0000 (10:05 +0200)]
Fix minor compilation issue on recent gcc compilers
Change-Id: I7eeaaa3a0dfa1c0a831863e772b50697c5ff5054
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Luc Provoost [Mon, 15 Jun 2020 10:02:46 +0000 (12:02 +0200)]
Adding vdev support and vfio
Using vfio in stead of igb_uio. DPDK 2020.5 is NOT compiling the igb_uio
driver by default any more.
For the l3 mode, we are now using the new PROX vdev feature. This is
achieved by adding the vdev parameter in the port section of the PROX
config files. One of the advantages is that we can now ping a port
managed by PROX: the requests will be forwarded by PROX to the LINUX
stack, who will reply to the ping. A tap device is being created by PROX
to support this feature.
Installing old version of nasm since latest causes some issues.
If not pushgateway is being used, it should be commented out in the
config_file.
vfio is now loaded by specifying the module in /etc/modules-load.d
There is also an after_boot.sh script that will be run by
check_prox_system_setup.sh, which can be used for further configuration
of the instance after boot.
There is now also a file created /opt/rapid/system_ready_for_rapid by
the check_prox_system_setup.sh script. This file is created once all
configuration is done. The runrapid.py script will wait till this file
is created before executing any tests.
Change-Id: Ic5c41af82642066af42134c3323297f5a06f6f72
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Yury Kylulin [Fri, 5 Jun 2020 16:05:28 +0000 (16:05 +0000)]
Clean up for the test pods
Option for Kubernetes environment clean up (createrapidk8s.py -c) from the test pods added.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: I1c6c7090462b55fbadd1d8f1a277470a6eeb2dee
Yury Kylulin [Wed, 3 Jun 2020 14:04:25 +0000 (14:04 +0000)]
Fix for containers to use /opt/rapid
Fix scripts and build procedure to use /opt/rapid as a main directory for
binaries and config files.
Signed-off-by: Yury Kylulin <yury.kylulin@intel.com>
Change-Id: Icb38c37a85a78a6f2de2e751df5fafd624b4f1b3
Luc Provoost [Tue, 2 Jun 2020 14:02:17 +0000 (16:02 +0200)]
Using /opt/rapid to run prox
All config files are now copied into /opt/rapid. We are not using the
home directory any more. The prox executable is now also copied into the
same /opt/rapid.
Change-Id: I838636167f370bf8a855a3cfb0796c659e27a3ad
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Luc Provoost [Fri, 29 May 2020 11:47:03 +0000 (13:47 +0200)]
Fixing some more copyright dates
New files created in 2020 have now the right date in the copyright
notice.
Change-Id: I8eb244beec3d793e819cce1f63c39671f18286a1
Signed-off-by: Luc Provoost <luc.provoost@intel.com>
Xavier Simonart [Fri, 29 May 2020 22:17:29 +0000 (00:17 +0200)]
Updated PROX version to 20.05 to reflect support of DPDK 20.05
Change-Id: Iad6882cc28ac2039984b12f6b7a897b81d975d9b
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Fri, 29 May 2020 21:15:04 +0000 (23:15 +0200)]
Fix compilation issues on old DPDK
Also fixed minor issues such as
- prevent using vdev on DPDK <= 17.05 as not supported
- potential segmentation fault after panic (if panic thrown early
in prox initialization)
Change-Id: I49a1962e95a4a44dddadd1fdd906e1b3b232465c
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Thu, 28 May 2020 22:06:45 +0000 (00:06 +0200)]
VLAN support with vdev devices + few other changes
- vdev devices now support VLAN.
- kernel tap device can be configured with a netmask (/24 was
always used in previous version).
- when sending a (fake) packet to the kernel, this packet will now
not be routed by the kernel (i.e. it will leave through the
interface configured by PROX). This might change in the futture
when PROX supports multiple VLANs per port. But today it prevents
ARP being sent on management interfaces.
- Log error in case kernel unable to send packet.
- Added support for comments (';') in lua sections.
- Prevent duplication of local_ipv4 - should now be configured in port section
local_ipv4 in core section still supported
Change-Id: I8f9a40fe6ad6f3013ff91b58b44627c7f34081e6
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>
Xavier Simonart [Wed, 27 May 2020 13:17:52 +0000 (15:17 +0200)]
Add support for latency measurement for IMIX packets
Before this patch latency measurements were only
supported if signature was disabled.
Change-Id: I565b00f76818ab42e9cca4ddc32f9d857648929d
Signed-off-by: Xavier Simonart <xavier.simonart@intel.com>