574 Commits

Author SHA1 Message Date
Gabriel Oginski
c3f505fe7b vpp-swan: fix handler API messages
In the current implementation there is a bug related to the incorrect
message handling due to the wrong id.

The fix changes logic responsible for handling incoming API messages
by correcting their ids.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Iea29506053c9fd2e1d01bce83e7f4a6e1de39321
2023-07-24 08:15:21 +00:00
Gabriel Oginski
0e1fe7ba86 vpp-swan: change flow in function for add route
This patch addresses the issue when the list of available interfaces
is not up to date. Due to this issue adding a new route fails
and finally the connection is not established.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I3a63c0dd99ebc28ea149b4b23867440937682761
2023-07-19 02:38:00 +00:00
Gabriel Oginski
efd2350d65 vpp-swan: fix incorrect msg ID in register_event
This patch addresses the issue where the message ID registration
in the register_event function is incorrect. Due to this incorrect
registration, the lookup for the corresponding callback on received
messages fails, eventually leading to a segmentation fault
and double-free memory space.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: If95182f972f64adb44d514e18c831cc9627d8f0f
2023-07-19 02:32:11 +00:00
Gabriel Oginski
73d82d1273 vpp-swan: fix function to get sw_if_index
In the current implementation there is a bug in the function
responsible for getting software interface index by the name of the
interface. Incorrect function is used to send the API message, also
the handler with replied message is incorrect.

The fix changes function to send dump message and also adds handler
with replied message in the correct way.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Id1a3ba2ce7e92d216907f344431b9e2acb1d5572
2023-07-19 02:31:21 +00:00
Laszlo Kiraly
6b4aa2b7f4 build: generate debug info rpm packages for opensuse
Enabling debug info RPM creation in spec file.

Type: fix

Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
Change-Id: Id284b135ec4125905145f7902a6e1cf42ba65aa4
2023-07-06 14:46:41 +00:00
Ting Xu
61762c7aac packetforge: fix has_key invalid in python3
Python Dict attribute "has_key" was removed in Python3. Use "in"
operation instead.

Type: fix

Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I7b63b0689e9970ca798921368c5616875f7d5682
2023-07-04 06:45:17 +00:00
Filip Tehlar
31eaea9eef hs-test: add nginx+quic test
Type: test

Change-Id: I15e4f2fb84cb4f34b6fea95978db000854a63e78
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-06-27 15:58:47 +00:00
Dave Wallace
1c95e12b0d tests docs: fix lcov code coverage report generation
- Updated/rebased version of https://gerrit.fd.io/r/c/vpp/+/34199

Type: test
Change-Id: I43913ecfd11a4578bdb10c4be76253fe38d57976
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-06-22 13:35:28 +00:00
Filip Tehlar
5aa59c7cfc hs-test: increase test run timeout
Type: test

Change-Id: Ica211c79373777c3352d6ccbb619c0d67b70fa06
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-06-08 17:33:15 +00:00
Filip Tehlar
3a910ab768 hs-test: rename address allocator
Type: test

Change-Id: I1745719315d4e0785df5a03aa4312f84c40cb18f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-06-08 17:04:36 +00:00
Filip Tehlar
d3b47c6d79 hs-test: fix vcl test parameter
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ieb6e46439d8e66a792f9c508e7dc49ecdd392487
2023-06-01 15:50:59 +00:00
Mohsin Kazmi
7280e3f866 libmemif: add testing application
Type: test

This application creates two memif interfaces which connect
to an external application i.e. VPP.

Usage:
1) Start VPP with following config.
create interface memif id 0 master
create interface memif id 1 master
set int state memif0/0 up
set int state memif0/1 up
create packet-generator interface pg0
set int state pg0 up
create packet-generator interface pg1
set int state pg1 up

set int l2 xconn pg0 memif0/0
set int l2 xconn memif0/0 pg0
set int l2 xconn pg1 memif0/1
set int l2 xconn memif0/1 pg1

packet-generator new { \
  name memif           \
  limit -1             \
  node ethernet-input  \
  size 64-64           \
  interface pg0        \
  worker 0             \
  data {               \
    IP4: 42:01:0a:00:00:0a -> 02:fe:4b:6e:4d:c1 \
    UDP: 172.16.2.2 -> 172.16.0.2               \
    UDP: 1234 -> 1234                           \
      length 30 checksum 0 incrementing 1       \
  }                                             \
}

2) Compile and Run the test_app in another terminal.
mkdir -p extras/libmemif/build
cd extras/libmemif/build
cmake ..
make
sudo ./examples/test_app

3) Run in VPP cli
vpp# packet enable

4) Run monitor to see the throughput and pps
vpp# monitor interface memif0/0
Or
vpp# monitor interface memif0/1

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I4b9062fca8ad3020225adb7b1b09e5d66b1a7d48
2023-05-30 09:01:53 +00:00
Filip Tehlar
71fc194703 hs-test: add vcl echo tests
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I3e543cb292c7ed0f9d240f8f2473a1db07aff0fd
2023-05-24 17:38:10 +00:00
Filip Tehlar
608d0069d9 hs-test: support for multiple workers
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Ie90e4b02c268bc3ca40171b03829f5686fb83162
2023-05-20 15:51:02 +00:00
Ting Xu
f34420ff11 packetforge: add option to show spec and mask only
In some cases with Generic FLow, it is only required to show the pattern
of spec and mask, but no need to add the flow. Therefore, add an option
in packetforge so that users can show spec and mask only.

Type: improvement

Signed-off-by: Ting Xu <ting.xu@intel.com>
Change-Id: I7b3040689eb82d0b58924712ee6fc9cfa0a42fa1
2023-05-15 20:20:12 +00:00
Dave Wallace
d0df24dc47 hs-test: add missing make target for .deps.ok
Type: make

Change-Id: I8983778b4c2f5123b27aeeb1fdc4721c8e9c9160
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-04-26 18:04:41 -04:00
Filip Tehlar
e08fdf316a hs-test: remove untagged images after build
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I55731fa546df01ac4bd327b444ac1a5c2052bed1
2023-04-26 18:03:35 +02:00
Gabriel Oginski
980f3fb2d3 vpp-swan: assign src/dst port in udp encap
This patch add in missing src/dst port assignment in SA for udp port
if encap.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I84219c016c5a32590aba0371c01ad8d44cbf4c5c
2023-04-25 15:50:05 +00:00
Koki Kiriyama
140ca0fa95 build: correct variable name
Type: fix
Signed-off-by: Koki Kiriyama <kiriyama.kk@gmail.com>
Change-Id: I47c4c91aa6f973bd93dca352f470642e90aa70e0
2023-04-25 15:12:23 +00:00
Filip Tehlar
dda1f6871e hs-test: adjust performace testing parameters
Apache ab sometimes fails during extensive performace testing.
This patch makes sure hs-test perf tests always pass.

Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I0921682f0f07df3af45b342b9a7ddfa1af037ceb
2023-04-24 18:32:44 +02:00
Filip Tehlar
5811356a40 hs-test: filter relevant data from perf tests output
Type: test
Change-Id: I90faed91639ce1792646531cfc0cac649d737f16
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-04-18 18:34:40 +00:00
Filip Tehlar
b41b0af609 hs-test: containerize ab and wrk
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I66af84257fa0692d9be3445d49b52fb7ca810d27
2023-03-29 04:43:40 +00:00
Filip Tehlar
75776f03a8 hs-test: remove colons from log files
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I56c57de180e44c888458e4f4020802ce9b4a6b8b
2023-03-24 17:14:49 +00:00
Filip Tehlar
890eced917 hs-test: check exit value of ab/wrk
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I967e91e4ea97edff427013c92376b388d6ce5d85
2023-03-16 13:52:54 +01:00
Maros Ondrejicka
e7625d0856 hs-test: use consistent naming convention
Exported indentifiers in Go start with capital letters. Only few fields
in hs-test, which are being unmarshaled from yaml are required to be
exported. Every other field name or method name should start with
lower-case letter, to be consistent with this naming convention.

Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I7eab0eef9fd08a7890c77b6ce1aeb3fa4b80f3cd
2023-03-15 17:20:57 +00:00
Maros Ondrejicka
f4ddf16eec hs-test: create temporary folder at init
Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I6444582ce83beddc5cb2fcb31942a4c2e9556bb6
2023-03-15 04:43:39 +00:00
Dave Wallace
f72bb6fb24 hs-test: fix install-deps
- Skip addition of docker apt source/key if
  already installed.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I747e4dd5e79e23b64e6eb11c6a9348e2ae1a157f
2023-03-08 13:53:32 -05:00
Dave Wallace
05120fb1a1 hs-test: fix docker-ce install
Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I449cd4ad71e33a2dd41e53accc6b325803a32c70
2023-03-08 16:06:43 +00:00
Filip Tehlar
1a66150f18 hs-test: add vppctl wrapper script
Type: test

Add a helper wrapper script for vppctl called vppcli to vpp docker image
with proper cli socket path.

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I1a51aa54bc91c1c812698501a56401c525d498e8
2023-03-08 12:08:07 +01:00
Filip Tehlar
9abba11a94 hs-test: fix envoy test
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I776e0f1f7ea700439d1fe6a598772776ae6a1493
2023-03-07 17:47:45 +00:00
Florin Coras
87767d82d7 hs-test: nginx mirroring test improvements
- avoid setting LD_PRELOAD for container
- save nginx error log to shared volume
- reduce test run time to 10s
- add vcl and ldp debug env variables to docker file. Default to
disabled.

Type: test

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I401ac74e7c0ebe87befedb44150b04f773f244ea
2023-03-06 11:16:19 -08:00
Christian Svensson
79687d92fe misc: define SElinux mapped file permissions
SElinux added support for defining what files can be mmap()'d a while back.
This change defines those files that VPP maps.

This is needed for EL9 support

Type: fix

Signed-off-by: Christian Svensson <blue@cmd.nu>
Change-Id: Iedd26914e29347169c4cc138628df7823ddd5691
2023-03-06 14:22:36 +00:00
Christian Svensson
184a70a58c build: add Rocky Linux 9 support
Currently only RHEL/CentOS 8 and Fedora are supported.
EL9 is a middle ground and thus require some different dependencies.

Type: feature

Signed-off-by: Christian Svensson <blue@cmd.nu>
Change-Id: I7be79e61994800bb796d4e9141f0ff6ad8bdead2
2023-03-06 14:22:36 +00:00
Filip Tehlar
ec5c40b83a hs-test: add support for running vpp in gdb
Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I6e03b88ca013cafd73f424ea63f706f105bebe6b
2023-03-02 17:34:24 +00:00
Gabriel Oginski
2da99e5072 vpp-swan: fix memory leaks
This patch fix the memory leaks discovered in the current
implementation, inlcuding expired data, spd dump, and host names.

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: I3794f5db3c58d1e78df25f242c91e7a67363de53
2023-03-02 13:23:24 +00:00
Nobuhiro MIKI
d346f393fd docs: fixed to use unified "pcap trace" command
Type: docs
Fixes: 33909777c637 ("misc: unify pcap rx / tx / drop trace")
Signed-off-by: Nobuhiro MIKI <nmiki@yahoo-corp.jp>
Change-Id: I049616cfad300658e62e5026c0655ee6f07a2421
2023-03-01 19:36:39 +00:00
Maros Ondrejicka
56bfc63b28 hs-test: update hs-test documentation
Type: docs
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I123898923afa382ff0d4410652f4a17a8740d711
2023-03-01 16:51:02 +00:00
Maros Ondrejicka
b5c731738f hs-test: fix error check
Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I445f5357817fceeb9b5ead01c3530edaae45189a
2023-03-01 16:49:39 +00:00
Fan Zhang
ad215f211d vpp-swan: improve Makefile
Type: improvement

Since VPP-SWAN does not really need StrongSwan to be compiled,
this patch refines the Makefile to reflect the change.

In addition README is updated.

Signed-off-by: Fan Zhang <fanzhang.oss@gmail.com>
Change-Id: I185957167ac71a44f4d12e78e1dac31c194f80f4
2023-03-01 15:54:40 +00:00
Florin Coras
e2415f79f7 hs-test: fix wait for app after ldp change
After gerrit 38370 (729b9c94), apps are registered via ldp using program
name. Update tests to support that.

Also add make file help for UNCONFIGURE.

Type: test

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4ad50abfd175664b47b358df1a72e0758f51190d
2023-03-01 00:12:01 +00:00
Maros Ondrejicka
85396a5488 hs-test: fill configuration files at runtime
Treat certain configuration files, which contain runtime-dependent
information, as templates. The information is filled at runtime and the
files are copied into containers.
This allows to avoid hard-coding IP addresses into configuration files.

Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I1dae8f15f4f76c0bf1779d7c68b7f3859bf5a861
2023-02-28 22:13:21 +00:00
Maros Ondrejicka
7e1d6efb58 hs-test: allow nginx suite to unconfigure topology
Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I84209e6d2c914d1c7b9dec7efc3898b75552db1b
2023-02-28 19:52:44 +01:00
Maros Ondrejicka
c2f76f4590 hs-test: test vpp+nginx mirroring with tap ifaces
Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I05bbed8fd9d40929f040574044aed5292a475e91
2023-02-28 18:27:17 +00:00
Maros Ondrejicka
af004ddad1 hs-test: add option to unconfigure topology
Adding `UNCONFIGURE=true` argument when running `make test` will skip
test run and unconfigure existing topology for that test.

Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I197747a56ca68807f0b2c3f25b6f61c3dcc41ace
2023-02-28 16:36:41 +00:00
Maros Ondrejicka
40cba405c5 hs-test: refactor netconfig
This joins separate representations of veth and tap interfaces
into a single struct. It removes the need for type interface
and embedding which simplifies the code.

Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I1b2c368bfe90a5bdfaaa9a5129c27d7d96f8fe3b
2023-02-27 17:26:41 +00:00
Gabriel Oginski
9cb3e15c9f vpp-swan: fix segmentation fault in arp function
This patch adds a missing file descriptor free handler to prevent
invalid dereferencing in the future

Type: fix
Signed-off-by: Gabriel Oginski <gabrielx.oginski@intel.com>
Change-Id: Idc809a70b1fedec9a06446344d5481d467c78c19
2023-02-27 13:40:05 +00:00
Maros Ondrejicka
a2d5262afb hs-test: store logs
Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I50ad5d8c2e5066d8d24f7959aeb534a2f0a6fae0
2023-02-24 18:56:56 +01:00
Maros Ondrejicka
ad406077af hs-test: modify nginx tests
This will make name of the test unique so that executing specifically
this test won't execute also other tests starting with same name.

Type: test
Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
Change-Id: I8013aa453c2a1c3c156e6476a93fd58bbb850b93
2023-02-24 17:17:09 +00:00
Filip Tehlar
671cf51d6d hs-test: improve test infra
- add support for building/running debug/release images
- have one point of control (Makefile)
- list all test cases

Type: test

Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I97949abc2fff85d7a2b3784122be159aeec72b52
2023-02-24 14:38:15 +01:00
Dave Wallace
67dbc4aa80 hs-test: fix install/build on new ubuntu instance
Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I9c59d98d16e387925057626ba9080210f4334c53
2023-02-22 16:12:37 -05:00