aboutsummaryrefslogtreecommitdiffstats
path: root/docs
AgeCommit message (Collapse)AuthorFilesLines
2022-08-25vlib: introduce DMA infrastructureMarvin Liu1-0/+3
This patch introduces DMA infrastructure into vlib. This is well known that large amount of memory movements will drain core resource. Nowadays more and more hardware accelerators were designed out for freeing core from this burden. Meanwhile some restrictions still remained when utilizing hardware accelerators, e.g. cross numa throughput will have a significant drop compared to same node. Normally the number of hardware accelerator instances will less than cores number, not to mention that applications number will even beyond the number of cores. Some hardware may support share virtual address with cores, while others are not. Here we introduce new DMA infrastructure which can fulfill the requirements of vpp applications like session and memif and in the meantime dealing with hardware limitations. Here is some design backgrounds: Backend is the abstract of resource which allocated from DMA device and can do some basic operations like configuration, DMA copy and result query. Config is the abstract of application DMA requirement. Application need to request an unique config index from DMA infrastructure. This unique config index is associated with backend resource. Two options cpu fallback and barrier before last can be specified in config. DMA transfer will be performed by CPU when backend is busy if cpu fallback option is enabled. DMA transfer callback will be in order if barrier before last option is enabled. We constructs all the stuffs that DMA transfer request needed into DMA batch. It contains the pattern of DMA descriptors and function pointers for submission and callback. One DMA transfer request need multiple times batch update and one time batch submission. DMA backends will assigned to config's workers threads equally. Lock will be used for thread-safety if same backends assigned to multiple threads. Backend node will check all the pending requests in worker thread and do callback with the pointer of DMA batch if transfer completed. Application can utilize cookie in DMA batch for selves usage. DMA architecture: +----------+ +----------+ +----------+ +----------+ | Config1 | | Config2 | | Config1 | | Config2 | +----------+ +----------+ +----------+ +----------+ || || || || +-------------------------+ +-------------------------+ | DMA polling thread A | | DMA polling thread B | +-------------------------+ +-------------------------+ || || +----------+ +----------+ | Backend1 | | Backend2 | +----------+ +----------+ Type: feature Signed-off-by: Marvin Liu <yong.liu@intel.com> Change-Id: I1725e0c26687985aac29618c9abe4f5e0de08ebf
2022-08-12docs: fix spellcheck error for Ubuntu 22.04Saima Yunus1-0/+1
Type: fix Signed-off-by: Saima Yunus <yunus.saima.234@gmail.com> Change-Id: I975990aeead6d34f0317a37e917bd92c0c89276e
2022-06-30misc: VPP 22.06 Release NotesAndrew Yourtchenko2-0/+606
Type: docs Change-Id: I15971b21fd660b4893218640c0d5e5a5247868f1 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit 0d352a97c5e3ad1f5f6eab18a978a14b0b9e06a8)
2022-06-28docs: fix broken linksPratikshya Prasai1-11/+11
Type: docs Signed-off-by: Pratikshya Prasai <pratikshyaprasai2112@gmail.com> Change-Id: I729de9e18624c63a72ec415a05c55617cb360c47
2022-06-14docs: fix spelling errorsDave Wallace1-0/+4
- also add docs-spell to checkstyle-all make target Type: fix Fixes: 5f6422db9 Change-Id: I8e9d7d17a03ee7b55f4e1785983459c43af267f7 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-06-13docs: cleaning up VPP documents by deleting unnecessary info.Saima Yunus2-2/+111
- cleaned up the 'build/run VPP' docs Type: docs Signed-off-by: Saima Yunus <yunus.saima.99@gmail.com> Change-Id: I9dbddbe1932804b8d507cb2f1631cd7116e59072
2022-05-25docs: update spelling word list and fix typosDave Wallace2-722/+734
- update wordlist and fix typos so that 'make docs-spell' passes - sort spelling_wordlist.txt - update docs maintainers list Type: docs Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I38ac7850c604c323427d2bb6877ea98bd10bcc38
2022-05-25misc: Initial 22.10-rc0 commitv22.10-rc0Andrew Yourtchenko2-1/+1
Type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: Ia1f2a8006edb8e57545a04a16edfb9704c3e904e
2022-05-24docs: make docs build incrementalNathan Skrzypczak4-51/+68
This patch makes the `make docs` directive incremental avoiding re-running the siphon when the source hasn't changed, and leveraging sphinx internal cache. It adds a `make rebuild-docs` directive for cases where this caching logic might break, e.g. in CI. The virtualenv doesn't also get recreated on each build, which might be enough when writing docs, provided automated process leverage its rebuild counterpart. Type: improvement Change-Id: Ie90de3adebeed017b249cad81c6c160719f71e8d Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-05-10tests: replace pycodestyle with blackKlement Sekera11-222/+304
Drop pycodestyle for code style checking in favor of black. Black is much faster, stable PEP8 compliant code style checker offering also automatic formatting. It aims to be very stable and produce smallest diffs. It's used by many small and big projects. Running checkstyle with black takes a few seconds with a terse output. Thus, test-checkstyle-diff is no longer necessary. Expand scope of checkstyle to all python files in the repo, replacing test-checkstyle with checkstyle-python. Also, fixstyle-python is now available for automatic style formatting. Note: python virtualenv has been consolidated in test/Makefile, test/requirements*.txt which will eventually be moved to a central location. This is required to simply the automated generation of docker executor images in the CI. Type: improvement Change-Id: I022a326603485f58585e879ac0f697fceefbc9c8 Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-05-10ip: reassembly: add documentationKlement Sekera2-0/+2
Type: docs Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I23008cde47d8b7a531346eab02902e2ced18742a
2022-03-28libmemif: refactor examplesJakub Grajciar4-6/+2
- icmp_responder: responds to ICMPv4 and ARP requests - loopback: connects two interfaces and sends a verification packet from master memif to slave memif where it is looped back - loopback (reverse path): reverses direction of packet in loopback application (slave memif to master memif) Type: refactor Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: Ie90aaa3367269408efb6c5d538ad5aa827432238 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-03-25docs: Add getting started with GoVPPNathan Skrzypczak3-87/+174
Type: docs Change-Id: I8e739ccf78b8dadf81cf4a4c32407355b2576942 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2022-03-25docs: Fix macos clang-format docsNathan Skrzypczak1-9/+10
Type: docs Change-Id: Iaa2f5e2bb92342c1612cb3addbb9bfdc26623d99 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2022-02-25misc: VPP 22.02 Release NotesAndrew Yourtchenko2-0/+658
type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I32291160f0d22a804929d0a040472ff952f02544 Signed-off-by: Maciek Konstantynowicz <mkonstan@cisco.com> (cherry picked from commit 7911f29c518c6b2a678e13874f7f16eba03dab75)
2022-02-17tests: make tests less make dependentKlement Sekera1-95/+82
Implement command line argument parsing instead of passing arguments via environment variables. Add script for running tests without having to invoke make. Deprecate running tests via make. Type: improvement Change-Id: I2e3054a61a2ae25d460e9be00be7d7705fbf943e Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2022-01-19misc: Initial 22.06-rc0 commitv22.06-rc0Andrew Yourtchenko2-1/+1
Type: docs Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I6b56d2cc785b505e77df0d24a1f441a4c09dc9a8
2021-12-01docs: add VPP Container Testbench example and labMatthew Giassa9-0/+1280
Adding a "VPP container testbench" (pair of Docker containers plus helper scripts to test Linux and VPP interfaces). Will be part of a larger set of labs/exercises/tutorials. Putting this baseline setup up for review first to see if the community sees use/value in it. If so, additional exercises using the testbench will be added gradually. Type: improvement Signed-off-by: Matthew Giassa <mgiassa@cisco.com> Change-Id: I582310f7355419e907d575f640482ca49cbb282f
2021-11-23docs: add missing 21.10 rlsnotesNathan Skrzypczak3-1/+530
This patch extract the release notes that went into v21.10 & v21.10.1 but that are missing in master, due to the documentation refactoring Type: docs Change-Id: Icb3c95c71e8cdc255f735990d19ee835e3ce6c6c Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-16docs: consume fd.io version listNathan Skrzypczak2-6/+35
Type: feature This adds a version snippet in the vpp docs, based on a json description fetched from fd.io/vpp_versions.json This relies on https://github.com/FDio/site/pull/108 being merged Change-Id: I6dd22f09927841aef96011ed57af2cbdc5d409f5 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-15docs: add jira linkNathan Skrzypczak1-0/+2
Type: improvement Change-Id: I9c53ff39e6d064437b5a2fdc29ecc2301b5cbd16 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-11-06tests docs: fix jsonschema dependencyDave Wallace1-2/+16
- docs requires jsonschema which is only supported on python 3.7 or newer. This causes 'make test' to fail on Ubuntu 18.04 Type: fix Fixes: 9ad39c026 Change-Id: I0935c569ac102ea1dba6112f458e6ee10330e474 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-02tests: update python packagesDave Wallace1-4/+1
- Also fix docs requirements and venv cleanup required for docker executor building Type: test Change-Id: I839423224d95c45af42f459217887f4201cbb11a Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-10-13docs: C & C++ apis examplesNathan Skrzypczak6-0/+346
Type: docs Change-Id: I5b6c388332bdd3a29777d728c3357816c8411ea2 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-10-13docs: better docs, mv doxygen to sphinxNathan Skrzypczak361-12794/+25242
This patch refactors the VPP sphinx docs in order to make it easier to consume for external readers as well as VPP developers. It also makes sphinx the single source of documentation, which simplifies maintenance and operation. Most important updates are: - reformat the existing documentation as rst - split RELEASE.md and move it into separate rst files - remove section 'events' - remove section 'archive' - remove section 'related projects' - remove section 'feature by release' - remove section 'Various links' - make (Configuration reference, CLI docs, developer docs) top level items in the list - move 'Use Cases' as part of 'About VPP' - move 'Troubleshooting' as part of 'Getting Started' - move test framework docs into 'Developer Documentation' - add a 'Contributing' section for gerrit, docs and other contributer related infos - deprecate doxygen and test-docs targets - redirect the "make doxygen" target to "make docs" Type: refactor Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-09-28api: API trace improvementsFilip Tehlar3-66/+66
Type: improvement * add support for JSON format in API trace * add ability to replay JSON API trace in both VPP and VAT2 * use CRC for backward compatibility check during JSON API replay * fix API trace CLI (and remove duplicits) * remove custom dump * remove vppapitrace.py * update docs accordingly Change-Id: I5294f68bebe6cbe738630f457f3a87720e06486b Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com>
2021-08-17docs: fix missing dependency on pip-tools for docs-venvDave Wallace1-0/+2
Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Iadb72fd0cb434a7ca2f6cbda7d78209f0746f0c6
2021-08-13tests docs: upgrade python packagesDave Wallace4-55/+8
- Upgrade python package requirements for test & docs - Clean up docs generation warnings - Consolidate python requirements for docs in test requirements specs. - Upgrade pip Type: make Change-Id: I74a3924b43ed93d15b32ec9f6fc41ed1ba95b69b Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-07-02ipsec: ADD/update IPSec documentationNeale Ranns1-0/+1
Type: docs Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Ica576e13953a3c720a7c093af649d1dd380cc2c0
2021-06-11docs: cleanup, remove stale materialDave Barach77-2355/+15
Point https://fd.io/docs/vpp/master/links/index.html at docs.fd.io/vpp instead of at one specific stale release Remove https://fd.io/docs/vpp/master/featuresbyrelease/index.html Remove https://fd.io/docs/vpp/master/events/index.html Remove dead projects from https://fd.io/docs/vpp/master/relatedprojects/index.html Remove unsupported distros from https://fd.io/docs/vpp/master/whatisvpp/supported.html Reduce (doxygen) list of test framework doc files to actively supported releases Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I179966fbbe09ac123e5f2647787a8dea93190b5c
2021-05-14vlib: pass node runtime to vlib_buffer_enqueue_to_thread()Damjan Marion1-1/+1
Mechanical change for patch following this one... Type: improvement Change-Id: Iee12f3a8851f35569e6c039494a94fc36e83d20f Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-01vlib: refactor trajectory trace debug featureBenoît Ganne1-4/+1
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-21docs: document "make test-help"Dave Barach3-66/+208
Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I67a582b7bf16c3fe307941973e983a0fe28cb221
2021-03-16docs: ikev2 usecasesFilip Tehlar6-2/+537
Type: docs Change-Id: Ib607b9426572585c1c7bfc4fcbbb1591ff5d9d42 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-03-04docs: Update macos doc to clang-formatNathan Skrzypczak1-15/+13
Type: docs Change-Id: Ibf825ac8b1591e8109be0b3b8d56ee85ae5145a4 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2021-02-12docs: fixing VPP tutorialArthur de Kerhor3-6/+6
Updating ARP table command. Type: fix Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Change-Id: I02d6ac86aed4c83430f9d07bdeaa3e0f5c3ae73f
2021-01-28build: do not _FORTIFY_SOURCE in debug modeMohammed Hawari1-3/+3
When compiling in -O0, the glibc feature.h ignores _FORTIFY_SOURCE and, in some distributions, throws a #warning, which fails the build. This patch removes -D_FORTIFY_SOURCE in all debug configurations. Change-Id: Ic30229c038353e49ff9419779e082a7083c1ea5f Type: fix Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2021-01-27Change unformat_init_string API in doc to match codehemant_mnkcg1-1/+2
Signed-off-by: hemant_mnkcg <hemant@mnkcg.com> Change-Id: I4ec487054f928d52fe06d530df095b30edf66ae5
2021-01-22docs: vpp stateless traffic generatorDave Barach2-0/+106
Add a use-case writeup. Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ib6e79e80455edbdeedcc96943dd98f16c57c559e
2021-01-20build: add the missing leading underscore to FORTIFY_SOURCENeale Ranns1-8/+8
Type: fix Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I36f2d08681f90a3f8ea7598952d1e14c53f0187b
2021-01-14docs: Update FIB documentationNeale Ranns22-183/+1392
Type: docs Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I3dfde4520a48c945ca9707accabbe1735c1a8799
2020-12-21docs: update list of pluginsPaul Vinciguerra4-13/+80
The list of plugins is outdated. This change introduces a dynamically generated list of the plugins along with their descriptions, extracted directly from the sources. Type: docs Change-Id: Icb7b65e6b45289e257d71a1c18d10f62ced59cbe Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-18docs: fix missing quotes in ubuntu install instructionsPaul Vinciguerra1-5/+5
type: docs Change-Id: Ifa09b63924f4b7bf2719bba6ada0e1122407641c Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-16docs: revise home gateway use-case documentationDave Barach3-286/+498
Switch to markdown format. Update docs to current production configs. Add remote software installation scripts. Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ieaf507a4393c1e4600fb40ae0722c52472bb0f8f
2020-12-07docs: Fix CentOS 8 buildJon Loeliger1-1/+7
Type: fix Signed-off-by: Jon Loeliger <jdl@netgate.com> Change-Id: I2d0d29af9186c50735d9a3b41148549f5cde614e
2020-11-26docs: fix bihash doc bugsDave Barach1-19/+19
Change hash -> hash_table in the pro forma main_t structure. Remove trailing whitespace. Type: docs Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I10c310dded14d52ad09df7ca3a76e60f15266b6b
2020-11-24buffers: add page-size configNathan Skrzypczak1-0/+14
Type: feature Add a `buffers {page-size}` parameter to specify page size for buffers. This also fixes an issue with the parsing in unformat_log2_page_size. Change-Id: I7d7b1fa0bb7febaa7509cf2c625882f07eeafaad Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-11-16docs: fix memory troubleshooting docBenoît Ganne2-0/+4
Type: docs Change-Id: Id9f8f6f13e4a41567adf7dc68e6c9be42dd82de7 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-10vpp: use vpp heap for libcBenoît Ganne1-0/+84
This makes libc use vpp main heap instead of the default libc heap. This gives better visibility (accounting, tracing) on allocations happening in external libraries called from vpp (eg. OpenSSL). Type: feature Change-Id: I5d8a673472145a4e090bedb443b8c58a967d1cca Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-16misc: deprecate VOMDamjan Marion1-1/+1
Type: make Change-Id: Ifb3e52af93d24fcc2f2e6a0c408e16902a2fe553 Signed-off-by: Damjan Marion <damarion@cisco.com>