summaryrefslogtreecommitdiffstats
path: root/extras
AgeCommit message (Collapse)AuthorFilesLines
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>
2020-10-24build: add compile_commands.json cleanup scriptDamjan Marion1-0/+28
Type: make Change-Id: I8d6a5018bddf029e106df3cb8b8eded4fa28067d Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-17misc: move gmod to extras/Damjan Marion4-0/+222
Type: make Change-Id: I057237ec5cef4dbecf6b6cd5a0adb4b7dfa78337 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16misc: deprecate VOMDamjan Marion263-250/+2635
Type: make Change-Id: Ifb3e52af93d24fcc2f2e6a0c408e16902a2fe553 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-23vppapigen: crcchecker: harmonize the in_progress markingAndrew Yourtchenko2-6/+44
The format for deprecation is "option deprecated" now, so harmonize the in-progress marking to logically be "option in_progress" At the same time recognize the legacy/erroneous types of marking, print the warning. Change-Id: If418dfadd69ffb112550164d63d13420e51cefd7 Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-21build: touch files when extracting rpm tarballsDave Wallace1-2/+5
Type: fix - Long story short, intermittently centos jobs have been failing with clock skew issues. When someone commits a patch on a machine with the date ahead of UTC, then clock skew will be encountered when extracting the RPM source tarball. See [0] and [1] for details. - Replace 'make bootstrap' with 'make install-dep' in RPM package build specfile. [0] https://unix.stackexchange.com/questions/164807/does-git-archive-use-the-wrong-file-timestamp [1] https://git.fd.io/vpp/tree/Makefile#n380 Change-Id: Iebfb9eb2e26c1f2e4488e871da86d0c60b9f4048 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-09-21build: remove opensuse build infraDave Wallace5-344/+3
- VPP on opensuse has not been supported for several releases. Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I2b5316ad5c20a843b8936f4ceb473f932a5338d9
2020-09-16vppapigen: crcchecker: report in-progress messagesAndrew Yourtchenko1-0/+6
in-progress messages do not give any API stability guarantees, by design, to allow easy iteration. Provide an easy way to know which messages are in-progress. If as a user you see "in-progress" message that you want to use in production, please contact the feature owner and discuss the path to removing the "in-progress" status before that. Change-Id: I27729995e26a70af373e642b871dbb5cc5526959 Type: improvement Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-16vppapigen: crcchecker: report deprecated messagesAndrew Yourtchenko1-5/+15
Report if the messages were marked as deprecated, but not yet deleted. Useful for building the release notes and comparing between the releases. Also, put the dict_compare() call into the report(), since latter always consumes the output of the former. Change-Id: Iceab3e94ff66da931a4669b612026bd162dd5d1a Type: improvement Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-15build: fix the the build on centos/rhel 8Yichen Wang1-2/+1
1. Remove uncessary runtime dependency; 2. Add missing build dependency; 3. Fix runtime dependency for api-python3 RPM; Type: make Change-Id: I2700f1a15112effba8d1527aca6467158f81f486 Signed-off-by: Yichen Wang <yicwang@cisco.com>
2020-09-11misc: selinux fixes (packet_socket r/w)Martin Millnert1-1/+1
vpp-20.05 on up-to-date Centos 7.8 host with enforcing SELinux fails to create a host-interface due to two missing SELinux-permissions: vpp_t self:packet_socket { read write } This simple patch adds these two permissions. Tested successfully on local installation. The steps to reproduce: $ ip link add vpeer-host type veth peer name vpeer-vpp vpp# create host-interface name vpeer-vpp create host-interface: Permission denied (errno 13) [...] $ semodule -i vpp-packet-socket.pp vpp# create host-interface name vpeer-vpp host-vpeer-vpp Type: fix Ticket: VPP-1931 Change-Id: I2b3d92b27b9a9f26aa1c85af2946b15e83e27944 Signed-off-by: Martin Millnert <martin@millnert.se>
2020-09-09docs: Fix create memif cliNathan Skrzypczak3-4/+4
Type: docs Change-Id: I91a954abf77335e1ddcbd1468633d9d7980bbac2 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-08-31vpp_config: update node variants to skx and iclRay Kinsella1-2/+2
Node variant names have changed to skx and icl. Type: fix Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I5be832aa59e4e440df53869077d801c011e3defa
2020-08-31af_xdp: AF_XDP input pluginBenoît Ganne2-0/+105
Type: feature Change-Id: I85aa4ad6b68c1aa0e51938002dc691a4b11c545c Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-08-11vppapigen: add support for empty optionsOle Troan1-1/+1
Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I59323447bee7bb4f0563251a5df80cbefb9bd89e Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-06bash: fix pip install issue with jjb-sandbox-env functionDave Wallace1-1/+2
- In a new system (e.g. ubuntu 18.04 docker image), the pip3 installation of jenkins-job-builder fails unless pip3 wheel is completed on a previous pip3 install command. Type: fix Change-Id: I4354c851161b9c470d44951dc8b722ffc87f56f7 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-08-06misc: harmonize namesDave Barach1-2/+2
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ibad744788e200ce012ad88ff59c2c34920742454
2020-07-02nat: nat66 to pluginOle Troan3-10/+9
Type: refactor Change-Id: I8c1f0c02a4522c1f9e461ddadd59938579ec00c6 Signed-off-by: Ole Troan <ot@cisco.com>
2020-06-25misc: add gdb macrosDave Barach1-0/+100
These gdb macros should prove very helpul when poking around in core files. Pifi (pool_is_free_index) is not straighforward. Best to work it out once. Others: bitmap_get = clib_bitmap_get vl = vec_len pe = pool_elts node_name_from_index, as described vnet_buffer_opaque, prints the primary buffer opaque vnet_buffer_opaque2, prints the secondary buffer opaque Fix vppinfra unit-test compile error Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id2a2391a47e5a07cf3757f473e3805cc04784161
2020-06-21vpp_config: Updates for 20.05John DeNisco8-98/+142
Added external dependancies package. Updated the startup.conf template. Fix extras/scripts/check_commit_msg so it accepts '_' characters in feature names. Type: fix Signed-off-by: John DeNisco <jdenisco@cisco.com> Change-Id: I69c33a24b30d31e5b8081021030bff88cbaeace9 Signed-off-by: Dave Barach <dave@barachs.net>
2020-06-02bash: functions to set up csit and sandbox envAndrew Yourtchenko1-6/+115
Type: test Change-Id: Iceaebfe2faf29a893b9571069212e951273c3d2b Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Signed-off-by: John DeNisco <jdenisco@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-05-28misc: Avoid sample.md from in the VPP docs, clean up the extraneous copyAndrew Yourtchenko2-82/+0
I had cleaned up the sample.md previously for 20.01, but when later that was merged to master, the file was renamed. So, fix this issue. Change-Id: I6347685af216901fbfdd445606735b9bf79f8fe5 Type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit e2e3c38be6d91c3deb15373992cd5a764e773060)
2020-05-27ethernet: fix DMAC check and skip unnecessary ones (VPP-1868)John Lo1-2/+4
Fix and optimize DMAC check in ethernet-input node to utilize NIC or driver which support L3 DMAC-filtering mode so that DMAC check can be bypassed safely for interfaces/sub-interfaces in L3 mode. Checking of interface in L3-DMAC-filtering state to avoid DMAC check require the following: a) Fix interface driver init sequence for devices which supports L3 DMAC-filtering to indicate its capability and initialize interface to L3 DMAC-filtering state. b) Fix ethernet_set_flags() function and its associated callback flags_change() functions registered by various drivers in interface infra to provide proper L3 DMAC filtering status. Maintain interface/sub-interface L3 config count so DMAC checks can be bypassed if L3 forwarding is not setup on any main/sub-interfaces. Type: fix Ticket: VPP-1868 Signed-off-by: John Lo <loj@cisco.com> Change-Id: I204d90459c13e9e486cfcba4e64e3d479bc9f2ae
2020-05-19vppapigen: handle new api file for crcchekcerOle Troan1-0/+11
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I1b3ae8b348eb3cba628a55ea3e72e85b9a4288d5
2020-05-18libmemif: cleanup typosPaul Vinciguerra7-42/+42
cleaned up typos in documetation while doing a read through. Type: style Change-Id: Id8abbd8d6297ee10490c12a8e62097224f7ec1e1 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-05-15misc: removed executable bits from source filesRay Kinsella1-0/+0
Identified and removed executable bit from source files in the tree. find . -perm 755 -name *.[ch] -exec chmod a-x {} \; Type: improvement Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I00710d59fcc46ce5be5233109af4c8077daff74b
2020-05-12misc: remove useless assignmentDave Barach1-1/+0
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I7708587804bc979fa9c46fb11f96d264821e2357
2020-05-09vppapigen: api crc checkerOle Troan2-0/+343
crcchecker is a tool for enforcement of the binary API. 1. Production APIs should never change. 2. An API can be deprecated across three release cycles. Release 1: API is marked as deprecated. option deprecated="vyy.mm"; option replaced_by="new_api_2"; Release 2: both old and new APIs are supported Release 3: the deprecated API is deleted. 3. APIs that are experimental / not released are not checked. An API message can be individually marked as in progress, by: option status="in_progress"; In the API definition. The definition of a "production API" is if the major version in the API file is > 0. extras/scripts/crcchecker.py --check-patchset # returns -1 if backwards incompatible extras/scripts/crcchecker.py --dump-manifest extras/scripts/crcchecker.py --git-revision v20.01 <files> extras/scripts/crcchecker.py -- diff <oldfile> <newfile> This patch integrates the tool in "make checkstyle-api". A future patch is required to integrate the tool in the verify job. I.e. this patch does not enable enforcement through Jenkins. Change-Id: I5f13c0976d8a12a58131b3e270f2dc9c00dc7d8c Type: feature Signed-off-by: Ole Troan <ot@cisco.com>
2020-05-08build: various improvementsDamjan Marion4-26/+91
- add option to install only host tools - add option to specify lib and runtime dir Type: improvement Change-Id: I6356b52df459120fc9b0127948bae7679fb10e52 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-05-07misc: deprecate elftoolDamjan Marion6-3/+500
Type: make Change-Id: I34fec1c40ef660177c266517eaf41d60827609f4 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-05-06docs: clean up make docs jobPaul Vinciguerra2-2/+2
Type: docs Change-Id: I9b5e5137eb4c1e89f6e8d7a278cd11a0fd496471 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-04-30build: rework x86 CPU variantsDamjan Marion1-2/+2
Type: improvement Change-Id: Ief243f88e654e578ef9b8060fcf535b364aececb Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-04-28gomemif: introduce gomemifJakub Grajciar14-0/+2744
golang native memif driver Type: feature Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I693156a44011c80025245d25134f5bf5db6eba82 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>