Commit Graph

458 Commits

Author SHA1 Message Date
8caf9ece87 libmemif: reset memif buffer flags
Reset memif_buffer_t flags in memif_buffer_alloc and
memif_rx_burst

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: If62ba510fad783afb9f7f58411562b6989fa1573
2021-12-07 18:11:47 +00:00
bfcd239682 build rpm-packaging: Remove boost dependencies from VOM
- VOM was deprecated in VPP 21.06, but the boost library
  dependencies did not get cleaned up.

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0fb860a7a37676c1a1a0981c91f383882d9a820a
2021-11-30 19:59:02 +00:00
3be9164f80 misc: deprecate gbp and its dependents
Type: improvement

Signed-off-by: Neale Ranns <nranns@cisco.com>
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Change-Id: I2f30a4f04fd9a8635ce2d259b5fd5b0c85cee8c3
2021-11-23 13:03:36 +00:00
e56008519b build: (opensuse) Revert build remove opensuse build infra
Added missing deps
Removed Thumbleweed support
Changed python2 to python3
Added Dockerfile for suse-leap build

Type: make
Change-Id: Ie73d2382a73ebc9d4475ace1a8f818fe38cf40c0
Signed-off-by: Laszlo Kiraly <laszlo.kiraly@est.tech>
2021-11-19 15:06:08 +00:00
31f1924346 misc: vppctl - remove the dependency on vppinfra
56f54af21d introduced the new memcpy.
It also made a vector support mandatory in order to compile anything
that depends on vppinfra.

This broke extras/scripts/build_static_vppctl.sh

Since the vppctl is just a two-pronged epoll+basic telnet client handler,
remove dependencies on the vpp infra libs, and trim the build script accordingly.

Change-Id: I394bc65c485cbf8e7143a818ca0c86367bb15d90
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-11-15 14:34:56 +00:00
29355644c5 vppinfra: deprecate test_mheap.c
The original mheap allocator found the exit a long time ago,
move test_mheap.c to .../extras/deprecated/vppinfra

Type: test

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib1ed40ac605ad76f33c22a681a6df867985bbbba
2021-11-10 16:41:06 -05:00
f9e3cd4e5a misc: update extras/scripts/lsnet
Type: improvement
Change-Id: Iea45fa535ca562a1d424fd3d46b557a7d4775505
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-11-10 00:44:26 +01:00
fb1135da99 build: install clang-format-11
- Don't make it the default yet

Type: make

Change-Id: I3aabfd32f7ffd99e10db372747a0ba65fdc76db2
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-09 23:29:58 +00:00
93bca19f1e libmemif: fix gcc strict-proto error
- Changing function prototypes for a couple libmemif functions so that
  gcc will successfully compile with the "-Wstrict-prototypes" flag
  enabled.
- Re-ran unit tests via "make test" locally on Ubuntu 20.04 LTS x64.
  One issue (likely unrelated to patch):
  * Testcase name: Bidirectional Forwarding Detection (BFD)
    ERROR: put session admin-up and admin-down
    [test_bfd.BFD4TestCase.test_admin_up_down]

Type: fix
Change-Id: Ibcb7210873d39aec9348fe8ac7eebc78d089d8e0
Signed-off-by: Matthew Giassa <mgiassa@cisco.com>
2021-10-27 07:59:09 +00:00
a2c9509a4a docs: convert extras doc md->rst
Type: improvement

Change-Id: Ie3b25a86b99098d2b3a21a11fc73234c8ed589d6
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-10-13 15:32:22 +00:00
8acc5ee907 libmemif: docs md->rst
Type: improvement

Change-Id: Ibebd2d47a4268189f11601d004073e4858548f25
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-10-13 15:30:03 +00:00
87e90830b8 libmemif: update documentation
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I0094ea8627cd8bcd5ea119c2fd48f077c8e2e4bb
2021-10-13 15:26:34 +00:00
fa6e7aacfc build: fix centos rpm build
When build vpp-plugins rpm package, found

/home/vpp/build-root/rpmbuild/vpp-21.10/build-root/\
install-vpp-native/vpp/lib/vpp_plugins: No such file or directory

RPM build errors:
File not found: /home/vpp/build-root/rpmbuild/../usr/lib/vpp_plugins/*

After e3cf4d0 ("build: use GNUInstallDirs install destinations")
vpp_plugins on centos src path changed from lib to lib64
Update RPM spec file accordingly.

Type: fix
Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I9c4d91f97f2faa474bce28893ab763b414f759b8
2021-10-08 11:15:51 +08:00
6f38f1ca08 docs: extras/deprec nitfixes
Type: improvement

Change-Id: I39038072eff3c09536917a32984daebab69e6fe7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-10-06 12:27:35 +00:00
814eee55fa libmemif: Fix abstract sockets
This fixes size computation when using
abstract sockets with libmemif

Type: fix

Change-Id: I3a686e4ff2132b9fb295bbe30633958dcfec672b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-09-29 14:49:45 +02:00
134f1e0225 libmemif: refactor connection establishment
per_thread_ namespace fuctionality replaced by memif socket.
Interfaces are grouped by memif socket which holds interface database.
Each thread can create it's unique memif socket. The path name
can be equal across threads so that the app only uses one
UNIX socket. In case of listener socket, listener fd
can be obtained and set using APIs.

This change allows:
  - No lookup on file descriptor events
    - improves interrupt handling
  - Loopback support (connect two interfaces in one app)
    - usefull for debugging and testing
  - Improves code readability by providing control channel
    abstraction for each interface and listener sockets

Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I1b8261042431c0376646ab4c4c831f6e59dd3eed
2021-09-27 14:35:45 +00:00
45cf1fc3f5 libmemif: remove per_thread_ namespace
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ib5a88132ad28860553fc82f5aaaf84e0a1b8e8bf
2021-09-27 14:35:45 +00:00
9f99e9a60e libmemif: remove old examples
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I2331f6fb43ca533afb32f7d448adda27b19689ac
2021-09-27 14:35:45 +00:00
24681606b9 libmemif: remove outdated unit tests
Type: refactor

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie42c03980cf2cc0766308043d7d3ea5301a59b75
2021-09-27 14:35:45 +00:00
176373caed gomemif: Add mode support
Type: feature

Change-Id: I0bc51288bc63a0583b98314e4e2a62383b0d6e43
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-09-27 09:03:17 +00:00
64dd1720e5 dpdk: add support for outer udp and ipv4 checksums
Type: improvement

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I10141033030342881298d70742fa5bdea402b4c9
2021-09-16 10:42:59 +00:00
48a13f38fa build: include vat2 in RPM file list
Type: fix

Building an RPM with 'make pkg-rpm' fails because /usr/bin/vat2 is
installed but is not included in %files. Add it.

Change-Id: I686b291e4419d39141f0f87da963b413d11ab0f8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-08-20 11:37:19 +00:00
03f2a01599 vlib: add format_vnet_buffer_no_chain
- add format_vnet_buffer and format_vnet_buffer_no_chain to mirror
   format_vlib_buffer and format_vlib_buffer_no_chain
 - format_vnet_buffer used to be the "no chain" version, replace all of
   its current use with the corresponding format_vnet_buffer_no_chain
 - add a function to dump vnet buffer details from gdb

Type: improvement

Change-Id: I143ce845f80e7ef937ea33a557b6e3b5988c5b8f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-08-20 11:20:36 +00:00
9cfbd3b786 misc: bug fixes and improvements for stats Fuse fs
Added syslogs
Added support for symlinks
Relocated make commands in a local Makefile
Dumping stats on index instead of paths
Updated README
Added go.mod and go.sum with relevant dependencies for the module

Type: fix
Change-Id: I2c91317939b2f4d765771ab7038372ae27d3109d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2021-06-03 07:25:04 +00:00
84b543d8b1 doxygen: fix doxygen tags
- Missing tags mess up doxygen TOC heirarchy

Type: docs

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I012d55c0ae90aecc665b56903f4212ddc0643943
2021-05-21 15:33:04 +00:00
ab755a3cf0 bash: add set-quicly-ws function
- Set up vpp workspace to build/test/debug with
  quicly source code downloaded from github.

Type: improvement

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I63a3f3b19f3b753fca1d57f8b22dad7c4e968846
2021-05-20 17:32:15 +00:00
785458895d bash: fix vpp-make-test -g option
- Don't pollute shell with local variables
  which also fixes a bug with -g option
- If WS_ROOT is not set and vpp-make-test is
  invoked in the vpp root dir, then export
  WS_ROOT env var

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I608b666f7d3020863933a8072fb34e65c7f1c988
2021-05-19 22:52:26 +00:00
742a5039b0 misc: change VFIO group ownership and permissions in vfctl script
This is missing step to allow runing VPP unpriviledged
with AVF driver.

Type: improvement
Change-Id: I37dfad9236691c1a8e2837a5811536170c65d7bc
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-12 16:53:25 +00:00
f89bbbe300 vlib: refactor trajectory trace debug feature
trajectory trace has been broken for a while because we used to save the
buffer trajectory in a vector pointed to in opaque2. This does not work
well when opaque2 is copied (eg. because of a clone) as 2 buffers end up
sharing the same vector.
This dedicates a full cacheline in the buffer metadata instead when
trajectory is compiled in. No dynamic allocation, no sharing, no tears.

Type: refactor

Change-Id: I6a028ca1b48d38f393a36979e5e452c2dd48ad3f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-01 11:42:37 +00:00
88b2e3682b misc: experimental configure script
Type: make
Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-30 17:02:32 +00:00
edca8c6e75 vppinfra: don't fail if config.h is missing, fallback to defaults instead
Type: improvement
Change-Id: Idc82d40a16cbc8a401a8fb359bc63083f47361b9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-28 17:23:22 +00:00
ac8f936fdc build: Makefile cleanup
Type: make
Change-Id: I751b0a25161c6eb8614ca19f7c77a4de82401f3d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27 23:42:02 +00:00
f8cb70177f vppinfra: remove linux/syscall.h
For portabiliy reasons it is better to have all wrapped in clib code.
I.e. instead of using getcpu() we have clib_get_current_numa_node () and
clib_get_current_cpu_id().

Type: refactor
Change-Id: I29b52d7f29bc7f93873402c4070561f564b71c63
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-18 15:22:50 +02:00
e263685ac8 tests: support attaching to existing vpp
Introduce a new option DEBUG=attach to run a test against existing
already running vpp. A new target 'make test-start-gdb' will spawn VPP
in gdb for this purpose. Customization options explained in test-help.

Type: improvement
Change-Id: Ia160a85b33da3b2df292d44bb95729af9dd9da96
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-04-12 10:11:36 +00:00
289c7f590e misc: add build_static_vppctl.sh
Type: make
Change-Id: I47cf68ecd546cad05732a572579569594f96a1ff
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-07 19:13:04 +00:00
f632ab5e3b misc: vpptop makefile target
Type: feature

Added make target to install VPPTop - real-time
viewer of VPP metrics.

New targets in /extras/vpptop/Makefile:
* make start - starts the installed VPPTop binary
* make install - does the installation using the local VPP API
* make cleanup - removes the VPPTop local directory
* make help - prints the VPPTop help info

Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Change-Id: I1b93eaf67214e1fe0567d43409763882caea6416
2021-03-30 12:30:36 +00:00
1f13f8fd8a misc: fuse fs for the stats segment
This extra allows to mount a FUSE filesystem reflecting
the state of the stats segment.

Type: feature

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Change-Id: I692f9ca5a65c1123b3cf28c761455eec36049791
2021-03-24 12:16:43 +00:00
04e7c0ff14 misc: allow explicitelly setting CLANG_FORMAT_VER
Type: improvement
Change-Id: I356b1b1804a2b09b25f5a285ada12db6879e2f6a
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-23 22:22:44 +01:00
718359881d misc: fix checkstyle on fedora
The fedora clang-format command helpfully does not include the version
suffix, and places clang-format-diff in /usr/share/clang.

Have summited #1939018 in Fedora, to fix upstream.
https://bugzilla.redhat.com/show_bug.cgi?id=1939018

Until then ...

Type: fix

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Ibceae0fc15e7461c24288ee04f4d28943f889c36
2021-03-16 21:36:28 +00:00
592dbd0ad3 misc: finish removing deprecated cop API
Fix bug in crcchecker. It must be possible to remove a non-production
.api file

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I00b953e58017cc53051e6f4d8a70403dce8219a0
2021-03-15 17:34:40 +00:00
387a08a8be libmemif: fix the include for ssize_t
Change-Id: I83830e64fb0fc302474837ebfa4f8cb133b1dccf
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-15 17:22:56 +00:00
085e8d4027 libmemif: add an include of sys/types.h header file
the ssize_t is defined there.

Change-Id: Ie46d196347ab91d0a92c15f331db14fe3b57061c
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-12 09:01:04 +00:00
ab9f57355f api: crchcecker ignore version < 1.0.0 and outside of src directory
- For check patchset ignore files outside of src directory
- For check patchset ignore files that have version < 1.0.0
- fix Pylint warnings
- Modify vppapigen_crc to include version in JSON output

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I171cf6397e129e2438b2a494c5656236a7810f7b
2021-03-05 10:52:51 +00:00
d5a3380c65 misc: add ikev2 tests usecases
Type: test
Ticket: VPP-1893

Change-Id: Ib6ffd00e73f7110bf9e702f4a0fd5c68395d6786
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-03-04 14:57:54 +00:00
cef0cc1a07 libmemif: verify length of transmitted buffers
In memif_tx_burst verify that total buffer size
(data_offset + data_len) does not exceed buffer
size. If not valid returns MEMIF_ERR_INVAL_ARG.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ifae8f92344a401febbc1efd22c301356ccf83d44
2021-03-04 10:52:59 +00:00
6c8533d4c1 dpdk: deprecate ipsec backend
Type: refactor

DPDK crypto devices are now accessible via the async infra, so
there is no need for the DPDK ipsec plugin.

In addition this patch fixes the problem that cryptodev backend
not working when master core and worker cores lies in different
numa nodes.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ie8516bea706248c7bc25abac53a9c656bb8247d9
2021-03-04 10:48:28 +00:00
57084e5408 libmemif: socket filename length 108
Dynamic size array was causing trouble in
strlcpy. LINUX allows for max 108 filename length,
so we can use that to make the array constant size.

Type: fix

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I76b1fc41f9d93cfbc9ad11bdca0c96a1fc261e84
2021-03-04 09:09:08 +00:00
6809538e64 vlib: refactor checksum offload support
Type: refactor

This patch refactors the offload flags in vlib_buffer_t.
There are two main reasons behind this refactoring.
First, offload flags are insufficient to represent outer
and inner headers offloads. Second, room for these flags
in first cacheline of vlib_buffer_t is also limited.

This patch introduces a generic offload flag in first
cacheline. And detailed offload flags in 2nd cacheline
of the structure for performance optimization.

Change-Id: Icc363a142fb9208ec7113ab5bbfc8230181f6004
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-02-15 20:32:56 +00:00
e5b7ca4bce libmemif: fix insecure uses of strncpy
A calling patterm of "strncpy(dst, src, strlen(src))" invites a lot of troubles.

However, even using the target size may result in a problem if the string is
longer, since then the termination is not done.

Use strlcpy(dst, src, sizeof(dst)), which will always null-terminate
the string.

Change-Id: I8ddaf3dc8380a78af08914e81849279dae7ab24a
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2021-02-08 10:27:06 +00:00
1421748e3c libmemif: set data offset for memif buffer
Update descriptor offset based on data pointer
in memif_buffer_t.
Slave only, master will not modify the descriptor.

Type: feature

Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ice1e94cec366face650c58df81795f4dea727010
2021-02-08 10:26:54 +00:00