summaryrefslogtreecommitdiffstats
path: root/extras
AgeCommit message (Collapse)AuthorFilesLines
2021-09-27libmemif: refactor connection establishmentJakub Grajciar5-1572/+1160
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-27libmemif: remove per_thread_ namespaceJakub Grajciar2-562/+1
Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ib5a88132ad28860553fc82f5aaaf84e0a1b8e8bf
2021-09-27libmemif: remove old examplesJakub Grajciar9-6116/+4
Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I2331f6fb43ca533afb32f7d448adda27b19689ac
2021-09-27libmemif: remove outdated unit testsJakub Grajciar8-1799/+0
Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ie42c03980cf2cc0766308043d7d3ea5301a59b75
2021-09-27gomemif: Add mode supportNathan Skrzypczak3-5/+5
Type: feature Change-Id: I0bc51288bc63a0583b98314e4e2a62383b0d6e43 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-09-16dpdk: add support for outer udp and ipv4 checksumsMohsin Kazmi1-0/+4
Type: improvement Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I10141033030342881298d70742fa5bdea402b4c9
2021-08-20build: include vat2 in RPM file listMatthew Smith1-0/+1
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-20vlib: add format_vnet_buffer_no_chainBenoît Ganne1-6/+4
- 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-06-03misc: bug fixes and improvements for stats Fuse fsArthur de Kerhor7-94/+267
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-05-21doxygen: fix doxygen tagsDave Wallace4-6/+7
- Missing tags mess up doxygen TOC heirarchy Type: docs Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I012d55c0ae90aecc665b56903f4212ddc0643943
2021-05-20bash: add set-quicly-ws functionDave Wallace1-0/+46
- 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-19bash: fix vpp-make-test -g optionDave Wallace1-2/+11
- 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-12misc: change VFIO group ownership and permissions in vfctl scriptDamjan Marion1-0/+4
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-01vlib: refactor trajectory trace debug featureBenoît Ganne2-16/+0
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-04-30misc: experimental configure scriptDamjan Marion1-28/+0
Type: make Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-28vppinfra: don't fail if config.h is missing, fallback to defaults insteadDamjan Marion1-7/+0
Type: improvement Change-Id: Idc82d40a16cbc8a401a8fb359bc63083f47361b9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-27build: Makefile cleanupDamjan Marion1-0/+1
Type: make Change-Id: I751b0a25161c6eb8614ca19f7c77a4de82401f3d Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-04-18vppinfra: remove linux/syscall.hDamjan Marion1-2/+0
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-12tests: support attaching to existing vppKlement Sekera1-2/+2
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-07misc: add build_static_vppctl.shDamjan Marion1-0/+36
Type: make Change-Id: I47cf68ecd546cad05732a572579569594f96a1ff Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-30misc: vpptop makefile targetVladimir Lavor3-0/+276
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-24misc: fuse fs for the stats segmentArthur de Kerhor4-0/+633
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-23misc: allow explicitelly setting CLANG_FORMAT_VERDamjan Marion1-1/+1
Type: improvement Change-Id: I356b1b1804a2b09b25f5a285ada12db6879e2f6a Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-03-16misc: fix checkstyle on fedoraRay Kinsella1-3/+51
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-15misc: finish removing deprecated cop APIDave Barach1-4/+7
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-15libmemif: fix the include for ssize_tAndrew Yourtchenko1-0/+1
Change-Id: I83830e64fb0fc302474837ebfa4f8cb133b1dccf Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-12libmemif: add an include of sys/types.h header fileAndrew Yourtchenko1-0/+1
the ssize_t is defined there. Change-Id: Ie46d196347ab91d0a92c15f331db14fe3b57061c Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-03-05api: crchcecker ignore version < 1.0.0 and outside of src directoryOle Troan2-93/+174
- 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-04misc: add ikev2 tests usecasesFilip Tehlar26-0/+640
Type: test Ticket: VPP-1893 Change-Id: Ib6ffd00e73f7110bf9e702f4a0fd5c68395d6786 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-03-04libmemif: verify length of transmitted buffersJakub Grajciar1-3/+4
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-04dpdk: deprecate ipsec backendFan Zhang8-0/+4057
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-04libmemif: socket filename length 108Jakub Grajciar2-27/+3
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-02-15vlib: refactor checksum offload supportMohsin Kazmi1-1/+2
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-08libmemif: fix insecure uses of strncpyAndrew Yourtchenko4-45/+67
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-08libmemif: set data offset for memif bufferJakub Grajciar1-2/+25
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-05libmemif: fix memif_refill_queueJakub Grajciar1-5/+6
Fix arithmetic error in memif_refill_queue., where some of the buffers didn't get properly refilled. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I9815a8ac9b899216581452c352e75e2a0454cbce
2021-02-05libmemif: set next free bufferJakub Grajciar2-0/+41
Adds memif_set_next_free_buffer - set internal pointer to next free descriptor for any tx queue. Type: feature Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ia24345a886a52c25c1723c6dbce023f2aed4a42c
2021-01-26misc: fix snap image buildDave Barach3-5/+92
Clean up snapcraft.yaml bit rot, switch to Ubuntu 20.04, add README.md Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I2e0d3925cf43541e70b59083f8c91af539aa34e6
2021-01-21libmemif: buffer enqueue refactorJakub Grajciar3-75/+121
Refactored memif_buffer_enq_tx - dequeue buffers from any queue (rx/tx) and enqueue them to any tx queue. Added memif_buffer_requeue - swap descriptors of provided buffers. Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I8482824df920aaaf8325d52a297ed57a815aaba6
2021-01-15misc: checkstyle ignore .patch files in trailing whitespace checkNeale Ranns1-1/+1
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I9226e94e59a35648ad2945ebfdf928dc80ad635c
2021-01-14bash: move jjb sandbox bash functions to ci-management repoDave Wallace1-87/+1
Type: refactor Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I9b4ce818036509c0afcb204664efcc49625179ef
2020-12-28vlib: add missing file template descriptionsPaul Vinciguerra1-0/+1
Add descriptions to clib_file_t template structures so that sockets can be identified via the 'show unix file' cli command. Type: fix Change-Id: Ibf82d55aa6c7b1126bd252b76d0dc8b7076f5046 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-18misc: deprecate old perfmonDamjan Marion25-0/+25549
Type: refactor Change-Id: I1303219f9f2a25d821737665903b0264edd3de32 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-18misc: migrate from GNU indent to clang-formatDamjan Marion1-0/+90
Type: make Change-Id: I085dcd6fe826da14d456f84a23355310bdc5d1e9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-15api: crchcecker ignore version < 1.0.0 and outside of src directoryOle Tr�an2-171/+93
This reverts commit 510aaa8911843206f7b9ff48b41e3c7b8c4a99fe. Reason for revert: failed in case of no api file in changeset. Change-Id: I2c6f01b25a35128df870418eef0008766bb590df Type: fix Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-15api: crchcecker ignore version < 1.0.0 and outside of src directoryOle Troan2-93/+171
- 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: I93f7bebeeaeedc19b2b1e5e135ea1035517d7f76 Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-14build: stop trying to build py2 versions of vpp_papiPaul Vinciguerra1-26/+0
Python2 was EOL's in Jan 2020. RHEL6 was EOL'd in Nov 2020. Type: fix Change-Id: Id6910258cfe808c1e6a8fe16334c23d7991509dc Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-09bash: Update jjb version in jjb-sandbox-env functionDave Wallace1-1/+1
- The version of jjb deployed in jenkins.fd.io was upgraded to 3.5.0. Make the sandbox setup function use the same version. Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I486faffc6b5a0cce7425dd526adf9dbc034b2d85
2020-12-04libmemif: clean up typosPaul Vinciguerra10-46/+46
Type: style Change-Id: I0d25d922312dfd60a665916cf47c3d2faa29ea49 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-11-25api: vat2 and json autogeneration for api messagesOle Troan1-1/+2
VAT2: A completely auto-generated replacement of VAT. Reads input message in JSON from stdin and outputs received messages in JSON. A VAT2 plugin is automatically built for a .api file. There no longer a need for a separate _test.c. Example: vat2 show_version {} { "_msgname": "show_version_reply", "retval": 0, "program": "vpe", "version": "21.01-rc0~411-gf6eb348a6", "build_date": "2020-11-19T09:49:25", "build_directory": "/vpp/autogen3" } vat2 sw_interface_dump '{"sw_if_index": -1, "name_filter_valid": 0, "name_filter": ""}' [{ "_msgname": "sw_interface_details", "sw_if_index": 0, "sup_sw_if_index": 0, "l2_address": "00:00:00:00:00:00", "flags": "Invalid ENUM", "type": "IF_API_TYPE_HARDWARE", "link_duplex": "LINK_DUPLEX_API_UNKNOWN", "link_speed": 0, "link_mtu": 0, "mtu": [0, 0, 0, 0], "sub_id": 0, "sub_number_of_tags": 0, "sub_outer_vlan_id": 0, "sub_inner_vlan_id": 0, "sub_if_flags": "Invalid ENUM", "vtr_op": 0, "vtr_push_dot1q": 0, "vtr_tag1": 0, "vtr_tag2": 0, "outer_tag": 0, "b_dmac": "00:00:00:00:00:00", "b_smac": "00:00:00:00:00:00", "b_vlanid": 0, "i_sid": 0, "interface_name": "local0", "interface_dev_type": "local", "tag": "" }] This is the first phase and vat2 is not integrated in packaging yet. Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib45ddeafb180ea7da8c5dc274a9274d7a4edc876 Signed-off-by: Ole Troan <ot@cisco.com>