aboutsummaryrefslogtreecommitdiffstats
path: root/extras
AgeCommit message (Collapse)AuthorFilesLines
2020-08-13vppinfra: finish deprecating qsort.cDave Barach1-0/+269
Minor change to vec_sort_with_function(...): don't depend on the qsort implementation to deal with null, zero-long, or 1-long vectors Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I7bd7b0421673d2a025363089562aa7c6266fba66 (cherry picked from commit f593b5792031b3797cdcdfd3fbb33ac4de8c9a5d)
2020-08-13misc: fix sonarcloud html issueDave Wallace1-1/+1
Type: fix Change-Id: I3691c310fa6336bf2c103c42bccd94c27aab4878 Signed-off-by: Dave Wallace <dwallacelf@gmail.com> (cherry picked from commit 39aa7a5202a6a875bd6f5d341cb07f19ab0bf51e)
2020-08-13misc: Fix vpp-selinux-policy dependency on CentOS 8Renato Botelho do Couto1-1/+6
policycoreutils-python is now called python3-policycoreutils on CentOS 8. Type: fix Signed-off-by: Renato Botelho do Couto <renato@netgate.com> Change-Id: I46264c66a2a719d546e0926f3bd716e986461963 (cherry picked from commit 1d94ab5f1b4557c9e017af7e9da0f821cae1fa72)
2020-08-12stats: fix state counter removalVladimir Isaev2-13/+9
Avoid using vec_del1() for directory vector to keep indexes valid all the time. There are state counters for each slave in LACP bond mode which can be dynamically created and removed. Vector index is used to access these counters. But also vec_del1() is used to remove counter from vector. This function changes the index of the last element, so after this we are unable to access ex-last element using old index. As a result it is not possible to add-del-add two interfaces to the LACP bond: DBGvpp# create bond mode lacp BondEthernet0 DBGvpp# create packet-generator interface pg1 DBGvpp# create packet-generator interface pg2 DBGvpp# bond add BondEthernet0 pg1 DBGvpp# bond add BondEthernet0 pg2 DBGvpp# bond del pg1 DBGvpp# bond del pg2 DBGvpp# bond add BondEthernet0 pg1 DBGvpp# bond add BondEthernet0 pg2 bond add: /if/lacp/1/3/partner-state is already register Type: fix Signed-off-by: Vladimir Isaev <visaev@netgate.com> Change-Id: I2c86e13905eefdef6233369cd4ab5c1b53d123bd (cherry picked from commit 72e31bc2d9b910147c09e1c329713fccc873a018)
2020-08-12classify: pcap / packet trace debug CLI bugsDave Barach1-1/+3
"classify filter trace ... " and "classify filter pcap ..." are mutually exclusive. vnet_pcap_dispatch_trace_configure needs to check for set->table_indices == NULL. Type: fix Ticket: VPP-1827 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I43733364087ffb0a43de92e450955033431d559d (cherry picked from commit 196fce2b62c0d215722dd233aa8bf70a43aa0a66)
2020-08-12build: Fix Subject-line feature list extractionJon Loeliger1-1/+2
Bang on sed until a better incantation appears. Change-Id: Ib8ad0996b6325db0fe983c86dd7dc553c9d388c4 Type: fix Fixes: 26ce6ca1fe6f524a9049444fe8d55042fd7530a6 Signed-off-by: Jon Loeliger <jdl@netgate.com> (cherry picked from commit 171577e129363aec30640a50f91cf0ff46d61bb9)
2020-08-07libmemif: don't consume rx queue interrupt, if memif_rx_burst failsJan Cavojsky3-5/+16
Type: fix Signed-off-by: Jan Cavojsky <jan.cavojsky@pantheon.tech> Change-Id: Ic6c15c88c80c4045c290cd78533be6f070c7470a (cherry picked from commit 77a95cdce2f3d80dac2832b68310eb5b23769c0e)
2020-08-07libmemif: memif_control_fd_update always pass context from libmemif_mainJakub Grajciar3-17/+23
Event polling instance is always identified by libmemif main private context. Fixes event polling handled by libmemif. Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I51dcdb279b18f8ce97bad3b2695848e0b25a232d (cherry picked from commit 6f090fa1fa44bb2de0565bbedb2756e37ea35040)
2020-02-12classify: vpp packet tracer supportDave Barach1-0/+20
Configure n-tuple classifier filters which apply to the vpp packet tracer. Update the documentation to reflect the new feature. Add a test vector. Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Iefa911716c670fc12e4825b937b62044433fec36 (cherry picked from commit 87d24db65facb89ca524c951b8379ca2ec4dbc7a)
2019-11-18libmemif: reset number of queues on disconnectJakub Grajciar1-9/+6
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: If4df47b1109ac90d4d5834b3aa7d326f6b3761d2 (cherry picked from commit 718a19b8f9aa3dca26aaf4eb6bd9f60eb6376d30)
2019-09-30libmemif: prevent crash in case of invalid connection handleJakub Grajciar1-9/+31
Type: fix Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I803c86a48e0148ef143026a5cd93e4510c4f0611 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> (cherry picked from commit bdf3ebe358787ef240dc9fadc515dfd178dfef7b)
2019-09-25libmemif: introduce 'memif_per_thread_' namespaceJakub Grajciar9-113/+1314
APIs in 'memif_per_thread_' namespace are used to split the global database into separate databases, to improve multi-thread use cases. Using 'memif_per_thread_init' client can create separate libmemif databases (libmemif_main_t). Client will reference these databases using memif_per_thread_handle_t. Each database requires unique socket. Created interface will be stored in the same database as the socket passed in connection arguments. Example code: extras/libmemif/examples/icmp_responder_3-1/main.c Type: feature Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Change-Id: I261563ecc34761a76e94f20c20015394398ddfd7 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> (cherry picked from commit 17f2a7bbf25f54dbd71aa8f377875828b7b88e35)
2019-09-10misc: clean up "pcap [rx|tx] trace" debug CLIDave Barach1-0/+34
Separate debug CLI arg parsing from the underlying action function. Fixes a number of subtle ordering dependencies, and will allow us to add a binary API to control the feature at some point in the future. Type: refactor Ticket: VPP-1770 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Id0dbeda06dad20e756c941c691e2088ce3c50ec7 (cherry picked from commit b97641c79f4aaf0069268c550f263167ddea2b34)
2019-09-07ip: fix udp/tcp checksum corner casesDave Barach1-0/+276
When checksumming chained buffers with odd lengths: insert a NULL byte, or the calculation fails. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: John Lo <loj@cisco.com> Change-Id: I380f7c42897bdb28c8c29aa1c4cdaaa849cc9ecc (cherry picked from commit c4abafd83df38051765352785b146277734701f4)
2019-08-13papi: Revert vpp-api-python to py2, add py3 pkgIan Wells1-2/+29
A previous commit, ca3d38ae18c21ce37212f0d5d5f4a1702429e70c, converts the vpp-api-python package from a python2 library to a python3 one. This changes the behaviour of the package and breaks anything that uses it as a dependency. This change reverts the package behaviour to a python2 package, and additionally adds a *separate* python3 package for correct python3 behaviour. Type: fix Fixes: VPP-1738 Signed-Off-By: Ian Wells <iawells@cisco.com> Change-Id: I54eb45156eb6e00fc4cd5b48e7a0aa17fd2f43f7 Signed-off-by: Dave Barach <dave@barachs.net> (cherry picked from commit 13cef0cc2cba4cff22bb5a860a8709cb3cfd35b2)
2019-08-12http_static: tls supportDave Barach2-0/+13
Type: refactor Ticket: VPP-1736 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I45745e568cd943293d0015a61f67ec799b6804d8 (cherry picked from commit 6b53fd5163de7d1f452b472ec3ad945f4dbd694c)
2019-08-07vom: export/install cmake filesNeale Ranns6-1/+169
Type: feature allow other projects to use cmake modules to find VOM Change-Id: I00e01e9bec3ecf79903cd522d2770bdb70e5399b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-31qos: Store functionNeale Ranns7-1/+653
Type: feature store: write a QoS value into the buffer meta-data record: Extract a QoS value from a packet header and store it. mark: Make a change to the content of a packet header by writing a stored QoS value Change-Id: I07d1e87dd1ca90d40ac1ae1774fee1b272cab83f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-26libmemif: fix autoconnectJakub Grajciar1-4/+4
Type: fix Change-Id: I426e210c47869904a01712b765db2356439f706f Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-26dhcp ip: DSCP settings for transmitted DHCP packetsNeale Ranns8-17/+174
Type: feature - Define the ip_dscp_t and use in the IP headers - Add DSCP setting to the DHCP client for use with packet TX Change-Id: If220dde0017ea78793747d65f53e11daf23a28fa Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-25vom: QoS supportNeale Ranns17-0/+2132
Type: feature Change-Id: If517d10c318fc17fdbd797fac8d974d9851f6442 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-25libmemif: fix chained buffer flagJakub Grajciar1-0/+1
fixes issue: MEMIF_DESC_FLAG_NEXT persisted when enqueueing stored buffers Type: fix Change-Id: I9e973ed6e0339612fe1dd3e3bd80ed7c05093791 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-12docs: how to enable coredump with systemdBenoît Ganne1-0/+5
Type: docs Change-Id: I1f657389fec716cc6cdc942803e65f861ffea5f5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-11vom: Fix reference to flags in GBP bridge-domainNeale Ranns1-1/+1
Type: fix Fixes: 5e82b050 Change-Id: I8f709c5303861ea9984144ce5543c86c934869bb Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-10emacs: update the vat plugin generatorDave Barach1-17/+1
Use the VAT_PLUGIN_REGISTER macro. Type: refactor Change-Id: I5ab9f311028c07a37a40cc1328d9724f852783ee Signed-off-by: Dave Barach <dave@barachs.net>
2019-07-09misc: extras update list_api_changes.py to PY3Paul Vinciguerra1-11/+14
Type: refactor Change-Id: I099d78393675b7aac37e89df98527c361054077b Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-07-05misc: allow second ':' in commit messageDamjan Marion1-1/+1
Type: fix Fixes: 26ce6ca Change-Id: I3ffa1e60966ba3e20670a7b95bba53e86e9861e0 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-07-03fib: allow route delete with no paths and multipath=0 to remove theNeale Ranns1-1/+2
whole route Type: fix Fixes: 097fa66b Change-Id: I017ab5797670eb278c27c6e306cd8cadaacddf9d Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-02gbp: add anonymous l3-out subnetsBenoît Ganne2-6/+20
An anonymous l3-out subnet is a locally attached l3-out subnet, and differs from regular l3-out subnets in the way adjacencies are managed. It is required for the anonymous l3-out external interfaces to correctly classify locally attached l3-out hosts. Type: feature Change-Id: Ie7bc88b1f22abc4d0b46db5f3cfbf208bc53ba5f Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-07-02libmemif: version 3.0Jakub Grajciar12-339/+423
Add support for multi-thread connection establishment. - control_fd_update() callback now passes private context associated with updated file descriptor. File descriptor can belong to memif socket, memif connection or timerfd. In case of timerfd the context is NULL. - memif_create_socket() new API. Creates memif socket handle to be passed to memif_create() in memif_conn_args_t. This API allows to pass private context whenever the file descriptor is updated. - memif_delete_socket() new API. Deletes memif socket. Socket must not be in use by any interface. Type: feature Change-Id: I7ca4e4349595d4477195f1c32403d3e3a6eb5361 Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-02vom: Fix [m]route dumpNeale Ranns1-36/+2
Type: fix Fixes: 097fa66b Change-Id: I4ada76982c680ee9b0af5828c7268b9b2098ce6b Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-07-01libmemif: icmp-responder example buffer management fixJakub Grajciar1-5/+8
Type: fix Change-Id: Ieeb763f282ee929a121585747119f458c00056ae Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-07-01gbp: VRF scoped contractsNeale Ranns16-53/+152
Type: feature Change-Id: I01772cfc3a0118a5c49bf346339788824e6931b2 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-26api: refactor format_vl_api_prefix_t return keysPaul Vinciguerra1-2/+2
format_vl_api_prefix_t returns a dict with keys 'address' and 'address_length', but other format_vl_api_prefix functions return a dict with 'prefix', and 'len'. Refactor all format_vl_api_prefix_t to return consistent keys 'address' and 'len'. Type: refactor Change-Id: I5f9558fc2da8742a303266e011102f5b2db80aad Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-26vom: Add getter for interface admin stateMohsin Kazmi2-0/+11
Type: feature Change-Id: I3409bedb45f033210202c151a2267b036b8b97d6 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-25build: fix error messages in check_commit_msg.shDave Barach1-4/+3
Type: fix Change-Id: I432c22880a418be35ad9f99c3e4afc90449e83d1 Signed-off-by: Dave Barach <dave@barachs.net>
2019-06-19l2: BD ARP termination entry API updateNeale Ranns2-10/+11
Type: refactor Change-Id: I492b6e88acadf0ab0e4d7b1c0c5d1cab84c1726f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-18fib: fib api updatesNeale Ranns21-474/+593
Enhance the route add/del APIs to take a set of paths rather than just one. Most unicast routing protocols calcualte all the available paths in one run of the algorithm so updating all the paths at once is beneficial for the client. two knobs control the behaviour: is_multipath - if set the the set of paths passed will be added to those that already exist, otherwise the set will replace them. is_add - add or remove the set is_add=0, is_multipath=1 and an empty set, results in deleting the route. It is also considerably faster to add multiple paths at once, than one at a time: vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.11 100000 routes in .572240 secs, 174751.80 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.12 100000 routes in .528383 secs, 189256.54 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.13 100000 routes in .757131 secs, 132077.52 routes/sec vat# ip_add_del_route 1.1.1.1/32 count 100000 multipath via 10.10.10.14 100000 routes in .878317 secs, 113854.12 routes/sec vat# ip_route_add_del 1.1.1.1/32 count 100000 multipath via 10.10.10.11 via 10.10.10.12 via 10.10.10.13 via 10.10.10.14 100000 routes in .900212 secs, 111084.93 routes/sec Change-Id: I416b93f7684745099c1adb0b33edac58c9339c1a Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Signed-off-by: Ole Troan <ot@cisco.com> Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-06-14misc: Update MAINTAINERS to include interface commonNeale Ranns1-1/+1
Type: feature Change-Id: I72f35444c73c6a7099d34f7d5031cbe82cbdd383 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-06-12misc: add check_commit_msg.sh scriptDamjan Marion1-0/+50
Type: feature Change-Id: I5e04991afd7500673db121e4529275e9aff15e65 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-07build: add -Wall and -fno-common, fix reported issuesBenoît Ganne8-45/+14
Type: refactor Change-Id: I8489ccd54411c2aa9355439c5641dc31012c64a2 Signed-off-by: Benoît Ganne <bganne@cisco.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-06-04vom: Add bridge domain unknown unicast flooding flagMohsin Kazmi4-5/+54
UU flood can be disabled or enabled using this flag in a bd. Change-Id: I799be2742b599783eec019b5fd295c3b940eb3e8 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-06-03vom: Add bridge domain arp unicast forwarding flagMohsin Kazmi4-3/+48
Change-Id: Iede47e8d9e168125bcd938cca6182c9270dcb5c4 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-05-31VPP-1640 - Missing rules in vpp-selinux-policyBilly McFall1-1/+2
SELinux exceptions occurring for host interfaces and with the vmxnet3 driver. Change-Id: Ia22bd82572acfa07ae287a755830abe1413f9939 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2019-05-31VPP-1679 - SElinux rules are not set accordinglyBilly McFall1-2/+4
Updates to the VPP SELinux policy to support the MLX5 DPDK driver. Change-Id: I089ede88a5e9c4152178f8cf9be5ee14d8a9130f Signed-off-by: Billy McFall <bmcfall@redhat.com>
2019-05-31VPP-1640 - Missing rules in vpp-selinux-policyBilly McFall1-0/+212
Add additional section to the SELinux documentation to describe how to collect debug information when SELinux issues are encountered. This is purely a documentation change. Note: Merged seperate from SELinux Policy change in case policy change needs to be cherry-picked to older releases. Change-Id: I7ba3d3c7d84171b503d956eb01e13a680b4d53fc Signed-off-by: Billy McFall <bmcfall@redhat.com>
2019-05-29emacs-skeleton: improve generated .api filesDave Barach3-29/+58
Type cleanups: s/u8/bool/ for "enable_disable" s/u32/vl_api_interface_index_t/ for "sw_if_index" Add an API version stamp. Add a doxygen tag for the binary API. Add Apache-2 licence text. Change-Id: I2fa168336efb0f1d9b9b6dec945589cbc5fd5595 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-29Break out the broom for some cleanup workDave Barach3-17/+27
Maintain the MAINTAINERS file. Removed src/plugins/*.am listings. Added a couple of plugins. Add vlib_process_create (vlib_main_t *vm, char *name, vlib_node_function_t *f, u32 log2_n_stack_bytes); /** @brief Create a vlib process * @param vm &vlib_global_main * @param f the process node function * @param log2_n_stack_bytes size of the process stack, defaults to 16K * @return newly-create node index * @warning call only on the main thread. Barrier sync required. */ This function makes it easy to spin up periodic processes when features are enabled for the first time. That coding pattern is highly recommended. Update the emacs-lisp plugin generator to use vlib_process_create, instead of generating static periodic process nodes. Change-Id: Icda33e93b9034779d3a3e228cd1110af14b058a5 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-23rpm: VPP-1674: exclude external headers from rpmBenoît Ganne2-2/+2
External libraries headers such as DPDK, libibverb, quicly, etc. should not be packaged in vpp-dev RPM. Only package headers from vpp/ and vom/ subdirs. Change-Id: Ief1454bd1261c8cf4dcd3b105e28f6852439e896 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-05-22stats: support multiple works for error countersOle Troan2-5/+5
The current code only allowed access to the main thread error counters. That is not so useful for a multi worker instance. No return a vector indexed by thread of counter_t values. Type: fix Change-Id: Ie322c8889c0c8175e1116e71de04a2cf453b9ed7 Signed-off-by: Ole Troan <ot@cisco.com>