aboutsummaryrefslogtreecommitdiffstats
path: root/src/scripts
AgeCommit message (Collapse)AuthorFilesLines
2021-10-13docs: better docs, mv doxygen to sphinxNathan Skrzypczak1-7/+10
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-27build: Stricter git tag version parsingNick Brown1-1/+1
Only consider git tags that begin with 'v', as these are far more likely to be vpp version tags, and thus parsed by the version script properly. This needed when working with git clone to which additional tags may have been added. eg tags like: upstream/21.06_rc0+20210622 debian/21.06+20210811-1myvendor2 should be ingored, as they will not be parsed correctly. Type: make Change-Id: I7a6d185acd029335abaea5a9dac48839f1397135 Signed-off-by: Nick Brown <nickbroon@gmail.com>
2021-04-30misc: experimental configure scriptDamjan Marion1-0/+33
Type: make Change-Id: Iaeb9d22eec9a7a763b63899814a44e78c8050f1f Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-09ipsec: fix outer table id lookup in ipsec tun scriptBenoît Ganne1-1/+1
Type: fix Change-Id: I195949b610dca1b860baca18a059d39949627961 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-06ipsec: add support for tx-table-id in cli + exampleBenoît Ganne1-0/+72
Type: improvement Change-Id: I840741dfe040718b682935cdbcb0ba958d45a591 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-10-08pg: Choose the input interface from the stream's rxNeale Ranns1-1/+1
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I656918a417d33ec6bea30054805e03ae19c38f2d
2020-10-08gre: MPLS over GRE does not select correct fixup functionNeale Ranns1-0/+53
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I9eff41407b0f172f2b567e6a4ea1c48be8df883a
2020-09-23build: fix fts.py to run on debian-9/python3.5Dave Wallace1-15/+16
Type: fix Change-Id: I1404e73dd2ee62b51746e9f4760c7c3ca3b5989e Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-09-22build: allow for rc3/rc4 style tagsAndrew Yourtchenko1-1/+1
Historically, there was only rc1/rc2 tags, fix in case we tag rc3/rc4 during longer release windows. Type: fix Change-Id: I4243a1c03663a877f96a06d647e89adb74abd977 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-08-18build: add explicit commit to rc1, rc2 builds, and add ".0" to ↵Andrew Yourtchenko1-4/+16
post-non-dot-release per-patch builds This addresses problem with incorrect sorting of artifacts in the per-patch packagecloud repositories for throttle branches, by slightly changing the version string for the non-released (per-build) artifacts: 1) the rc1 and rc2 artifacts now will have the count of commits since tag (0) and the explicit commit hash 2) the builds after version XX.YY but before XX.YY.1 are named as if the version was "XX.YY.0" Type: fix Change-Id: Ib69a59ee98aa296c5cb24b183bba807b6cb3c05c Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-06-17build: multiple yaml file supportDave Barach1-2/+2
Change the yaml file matching pattern from FEATURE.yaml to FEATURE*.yaml, so we can document multiple features in one directory. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ic62f9fb4c73330c698724244cd8b362364fce5f9
2020-05-13ipsec: Support 4o6 and 6o4 for SPD tunnel mode SAsNeale Ranns1-0/+55
Type: feature the es4-encrypt and esp6-encrypt nodes need to be siblings so they both have the same edges for the DPO on which the tunnel mode SA stacks. Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I2126589135a1df6c95ee14503dfde9ff406df60a
2020-05-06misc: fts add support for non-ascii author names in yamlPaul Vinciguerra1-2/+2
Type: fix Change-Id: I3f034ca86412b58d3e41a627bd8902157683435a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-03-18pg: update packet generator test scriptsShivaShankarK23-46/+46
update packet generator test scripts to reflect latest code changes Type: fix Signed-off-by: ShivaShankarK <shivaashankar1204@gmail.com> Change-Id: I048a5e8b9b0506dcb0b664e5549d13f51b2e2ea6
2020-01-09misc: feature tracking markdown improvementsOle Troan1-26/+142
Add table of contents to markdown file. Added --exclude and --include options to user select which fts fields to include in report. Sort output based on feature name. E.g.: ./build-root/scripts/fts.py --all --markdown --exclude="maintainer" Type: make Change-Id: I3edf8c2188a9f3e312767bbe12d75cca7d8c5b39 Signed-off-by: Ole Troan <ot@cisco.com>
2020-01-04misc: fix feature.yamlOle Troan1-4/+10
Add checkfeaturelist validation to checkstyle. Fix two files with errors. Type: docs Change-Id: I81eda0e25b271f2006b4da22efdf7218d52a67d3 Signed-off-by: Ole Troan <ot@cisco.com>
2020-01-03nat: add feature.yamlOle Troan1-3/+15
And add support for multiple maintainers in JSON schema. Type: docs Change-Id: Ice430927ceecf53526a3fdf46c075a95206bf0ac Signed-off-by: Ole Troan <ot@cisco.com>
2019-12-17build: Allow to override build date with SOURCE_DATE_EPOCHBernhard M. Wiedemann1-3/+8
and make host and user overridable in order to make builds reproducible. See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable. Also switch to UTC to be independent of timezone. Also use ISO 8601 date format to be easier to parse. This is similar to c9f40227836b827b71a6cbc4744d4b7151b2fcef and df82ec8fe7d91467c8b479bba74c761c0a6ffc59 which was lost in the move away from automake. Note: This date call is designed to work with different flavors of date (GNU, BSD and others). If only GNU (Linux) support is needed, the patch can be simplified. This PR was done while working on reproducible builds for openSUSE. Type: fix Change-Id: If4cab12320e6b5fcb1f2842fac5d745b33b01ed7 Signed-off-by: Bernhard M. Wiedemann <bwiedemann@suse.de>
2019-11-05misc: Fix python scripts shebang lineRenato Botelho do Couto2-2/+2
Type: fix Since CentOS 8, RPM build script doesn't accept '#!/usr/bin/env python' as a valid shebang line. It requires scripts to explicitly chose between python2 or python3. Change all to use python3 as suggested by Paul Vinciguerra. Depends-On: https://gerrit.fd.io/r/23170 Signed-off-by: Renato Botelho do Couto <renato@netgate.com> Change-Id: Ie72af9f60fd0609e07f05b70f8d96e738b2754d1
2019-11-05docs: fix issues with src/scripts/fts.pyPaul Vinciguerra1-15/+20
- packaging issue - yaml deprecation - yaml formatting Type: fix Change-Id: Ia8808cbc83271a3067164f2db2418f071b35607a Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-18ipsec: ipsec-tun protectNeale Ranns1-0/+71
please consult the new tunnel proposal at: https://wiki.fd.io/view/VPP/IPSec Type: feature Change-Id: I52857fc92ae068b85f59be08bdbea1bd5932e291 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-12tcp: add cc stats plotting toolsFlorin Coras2-0/+231
Type: feature cc_plot.py can plot cc stats collected via elogs from tcp connections. To enable the collection of cc stats, tcp must be compiled with TCP_DEBUG_CC_STAT turned on. Once the tests have been carried out, and elogs have been saved with "ev save log <file>", the logs can be converted to txt format with the convert_evt script. The resulting file can be used as input to the cc_plots script. Change-Id: I16df2993fa09cab9ad35f91825eab7df4da6428b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-05-31tools: FEATURE.yaml meta-data infrastructureOle Troan1-0/+131
Add tooling for feature metadata configuration files. The main tool is in src/scripts/fts.py make checkfeaturelist to validate against schema. make featurelist to dump all feature lists to stdout. Example feature definition: name: IP in IP tunnelling maintainer: Ole Troan <ot@cisco.com> features: - IPv4/IPv6 over IPv4/IPv6 encapsulation: - Fragmentation and Reassembly - Configurable MTU - Inner to outer Traffic Class / TOS copy - Configurable Traffic Class / TOS - ICMPv4 / ICMPv6 proxying - 6RD (RFC5969): - Border Relay description: "Implements IP{v4,v6} over IP{v4,v6} tunnelling as described in RFC2473. This module also implement the border relay of 6RD (RFC5969)." state: production properties: [API, CLI, STATS, MULTITHREAD] missing: - Tunnel PMTUD - Tracking of FIB state for tunnel state - IPv6 extension headers (Tunnel encapsulation limit option) JSON schema is embedded in fts.py Example markdown: https://github.com/otroan/scratch/blob/master/features.md Change-Id: I903b4ee6b316a9378c259e86dc937092e5d4b7da Type: make Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-30crypto: enforce per-alg crypto key lengthBenoît Ganne1-2/+2
Crypto algorithms have different requirements on key length. As we do not support key stretching (eg. PBKDF2), user must provide the exact key length used by the algorithm. Failing that means low-level crypto functions might read garbage (eg. aes128_key_expand() will read 16-bytes, regardless of the key provided by the user). Change-Id: I347a1ea7a59720a1ed07ceaad8b00a31f78458c9 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26Convert GRE nodes to new buffer APIs and multiarchBenoît Ganne2-0/+124
Change-Id: I3b3c8333287bb704ac7b0bbc81b3dbb059e8d2ac Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-26Simplify adjacency rewrite codeBenoît Ganne1-0/+67
Using memcpy instead of complex specific copy logic. This simplify the implementation and also improve perf slightly. Also move adjacency data from tail to head of buffer, which improves cache locality (header and data share the same cacheline) Finally, fix VxLAN which used to workaround vnet_rewrite logic. Change-Id: I770ddad9846f7ee505aa99ad417e6a61d5cbbefa Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-03-04IPSEC: script to bounce IPSEC traffic through a pipe to test encrypt and decrpytNeale Ranns1-0/+66
Change-Id: I262a9412951b5df616920a8fad16c61eae96d0cc Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-20pg: remove no-recycle optionDamjan Marion39-77/+0
Change-Id: Ic47bde2d08b2719b5c6c87cb2e9a8af0d2160e6e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-29cmake: fix out-of-git-tree buildDamjan Marion1-1/+1
Change-Id: Ib94637ec09799c23f3179599b54a2be6e2768425 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-01-20Rework of debian packagingDamjan Marion1-0/+37
Change-Id: Ifede85d3af36f3ee6c6f8f92dcf5db0ed8f1bfeb Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2018-08-17CMake as an alternative to autotools (experimental)Damjan Marion1-0/+28
Change-Id: Ibc59323e849810531dd0963e85493efad3b86857 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-06-15NAT44: endpoint dependent mode (VPP-1273)Matus Fabian2-1/+49
To enable NAT plugin endpoint dependent mode add following to statrup config: nat { endpoint-dependent } Enable endpoint dependent filtering and mapping for all sessions. Move some existing functionality such as service load balancing, twice nat, out2in-only static mappings and unknown protocol dynamic translations, which use endpoint dependent lookup hash tables before. Basically split to vanilla NAT44 and extra features NAT44. Change-Id: I3925eb5ddcc8f1ec4cf6af4e2a618a7ec7aa9735 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2018-03-12License text cleanupDave Barach1-0/+13
Change-Id: I105375c653b1a1dce8f0f71005b281ff137c6f42 Signed-off-by: Dave Barach <dave@barachs.net>
2017-12-13NAT64: multi-thread support (VPP-891)Matus Fabian2-0/+86
Change-Id: Iebf859b6d86482e4465423bad598eecf87e53ec4 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-10-30Remove old Python vppctl scriptChris Luke1-134/+0
- The binary API method for executing commands was superceded by the unix-socket CLI approach used by the C vppctl utility. The API call it makes will soon be deprecated. - This Python vppctl script was still being copied to the install directory, and then later overwritten by the binary vppctl. Change-Id: I0a4b09b7c733049d0545b4c83b9ac5ac499a7300 Signed-off-by: Chris Luke <chrisy@flirble.org>
2017-10-16udp: refactor udp codeFlorin Coras2-25/+72
Change-Id: I44d5c9df7c49b8d4d5677c6d319033b2da3e6b80 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-08-23NAT: Rename snat plugin to nat (VPP-955)Matus Fabian4-10/+10
Change-Id: I30a7e3da7a4efc6038a91e27b48045d4b07e2764 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-08-04SNAT: fix address and port allocation for multiple worker threads (VPP-925)Matus Fabian1-5/+12
There is a chance to allocate the same outside address and port. Assign a block of port numbers to each worker. Change-Id: I6ef7dc0aab4834705f4e6097c362940d18d747e8 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-05-09Add support for tcp/session buffer chainsFlorin Coras1-2/+17
Change-Id: I01c6e3dc3a1b2785df37bb66b19c4b5cbb8f3211 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-05-05First commit SR MPLSPablo Camarillo7-118/+11
Change-Id: I961685a2a0e4c314049444c64eb6ccf877c278dd Signed-off-by: Pablo Camarillo <pcamaril@cisco.com>
2017-04-19Fix "make dist" to include version number, docouple it from rpm packagingDamjan Marion1-8/+4
Change-Id: If2f9976d668089026c97b897cf449bff09050631 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-04-13Session layer refactoringFlorin Coras1-1/+2
Major refactoring of the session layer api - Add attatch api for application binding to the the session layer - Simplify listen/connect calls - Update application CLI - Add transport endpoint to accept callback - Associate segment manager to application and allow for multiple binds/connects per app Additional: - svm fifo cleanup - add fifo free, format fns - add fifo offset enqueue unit test Change-Id: Id93a65047de61afc2bf3d58c9b544339c02065af Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-13VPP-659 Improve tcp/session debugging and testingFlorin Coras1-0/+4
- event-logging support for tcp and session layer - improvements to uri test code - builtin_server on port 1234 - use the CLOSEWAIT timer when we rx FIN in FIN_WAIT_2 state Change-Id: Ibc445f164b2086b20323bf89c77cffd3059f570f Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dbarach@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-10VPP-659 TCP improvementsFlorin Coras3-3/+28
- builtin test echo server - fix SYN-ACK retransmit canceling - avoid sending spurious ACK if in LAST_ACK - improved client dummy test app - renamed tx fifo dequeuing and sending functions to avoid confusion - improved RST handling Change-Id: Ia14aad3df319540dcf6e6a4e18a9f8d423a4b83b Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Dave Barach <dave@barachs.net>
2017-03-07DHCP Multiple Servers (VPP-602, VPP-605)Neale Ranns1-1/+2
Multiple DHCP (4 and/or 6) servers can be added and removed through multiple calls to the 'set dhcp server' API. All 4/6/ discover/solicit messages will then be replicated to all servers in the list. The expectation is that the servers/system is configured in such a way that this is viable. If VSS information is providied for the clinet VRF which also has multiple servers configured, then the same VSS information is sent to each server. Likewise the source address of packets sent to from VPP to each server is the same. Change-Id: I3287cb084c84b3f612b78bc69cfcb5b9c1f8934d Signed-off-by: Neale Ranns <nranns@cisco.com>
2017-03-07CGN: Deterministic NAT (VPP-623)Matus Fabian1-0/+108
Inside user is statically mapped to a set of outside ports. Support endpoint dependent mapping to deal with overloading of the outside ports. Change-Id: I8014438744597a976f8ae459283e8b91f63b7f72 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2017-03-04Cleanup URI code and TCP bugfixingFlorin Coras2-0/+66
- Add CLI/API to enable session layer, by default it's disabled - Improve rcv wnd computation - Improvements to tx path - URI code cleanup - Builtin test tcp server - Improve src port allocation Change-Id: I2ace498e76a0771d4c31a8075cc14fe33d7dfa38 Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-03-01VPP-598: tcp stack initial commitDave Barach5-8/+91
Change-Id: I49e5ce0aae6e4ff634024387ceaf7dbc432a0351 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Florin Coras <fcoras@cisco.com>
2017-02-28vlib: add buffer cloning supportDamjan Marion1-8/+11
Change-Id: I50070611af15b2b4cc29664a8bee4f821ac3c835 Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-02-21dhcp: multiple additionsNeale Ranns1-0/+21
DHCP additions: 1) DHCPv4 will only relay a message back to the client, if the Option82 information is present. So make this the default. 2) It is no longer possible to select via the API to "insert circuit ID" - since this is now default 3) Remove the version 2 API since it's now the same as version 1. 4) Adding the VSS option is now conditional only on the presence of VSS config (not the 'insert' option in the set API) 5) DHCP proxy dump via API Change-Id: Ia7271ba8c1d4dbf34a02c401d268ccfbb1b74f17 Signed-off-by: Neale Ranns <nranns@cisco.com>