summaryrefslogtreecommitdiffstats
path: root/extras
AgeCommit message (Collapse)AuthorFilesLines
2019-09-03api: enforce vla is last and fixed string typeOle Troan3-7/+7
Enforce that variable length fields are the last element of API messages. Add a 'fixed' version of string type, since dealing with multiple variable length strings turned out too painful for the C language bindings. The string type is now: { string name[64]; // NUL terminated C-string. Essentially decays to u8 name[64] string name[]; // Variable length string with embedded len field (vl_api_string_t) }; The latter notation could be made available to other types as well. e.g. { vl_api_address_t addresses[]; } instead of { u32 n_addr; vl_api_address_t addresses[n_addr]; }; Type: fix Change-Id: I18fa17ef47227633752ab50453e8d20a652a9f9b Signed-off-by: Ole Troan <ot@cisco.com>
2019-08-21libmemif: 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>
2019-08-20api: Cleanup APIs interface.apiJakub Grajciar4-15/+19
Use of consistent API types for interface.api Type: fix Change-Id: I88206d7d0907cffd564031f73c9a996df2e5e21a Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
2019-08-12papi: 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>
2019-08-10http_static: tls supportDave Barach2-0/+13
Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I45745e568cd943293d0015a61f67ec799b6804d8
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>
2019-05-18emacs-lisp: add missing '\' in templateDave Barach1-8/+7
Fixes the generated setup_message_id_table(...) implementation. Without a level of quoting in the emacs lisp skeleton, the underscore macro used to generate calls to vl_msg_api_add_msg_name_crc produces "fooCRC" instead of "foo_CRC". That confuses the Python language binding. Punctuation saves lives: "Let's eat Grandma" vs. "Let's eat, Grandma." Or some such. Change-Id: Ibecc20337092199d6757165ac96b70c830511bb3 Signed-off-by: Dave Barach <dave@barachs.net>
2019-05-02Add the packages for 19.04jdenisco2-6/+6
Change-Id: I167bb7d86bbb5cba0b265978b4f8faf271b77411 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-05-01Freshen RPM dependencies in vpp specfile.Thomas F Herbert1-19/+16
VPP-1650 Also update specfile for fedora. Also update and rationalize python3 and python2 dependencies for CentOS. Change-Id: Ia87abfe7b7080ecd07e485e6c32270fda56a496a Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2019-05-01vpp_config: Update deprecated platform.linux_distribution()Paul Vinciguerra2-8/+9
platform.linux_distribution() was deprecated in python 3.5 and removed in 3.8. update to use distro.linux_distribution(). >>> import platform >>> platform.linux_distribution() ('Ubuntu', '16.04', 'xenial') >>> import distro >>> distro.linux_distribution() ('Ubuntu', '16.04', 'xenial') Change-Id: Ia8a7cd2d78fd56145cdded0b9d361a1b45bb4d27 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-05-01vpp_config: correct usage of 'is' for equality tests.Paul Vinciguerra2-16/+16
Change-Id: I30b1cdb2930560d7c40c1bde098fd21f16a17683 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-04-24NAT: VPP-1531 api cleanup & updateFilip Varga3-11/+17
Change-Id: I2492400a67b39a3adbc24ab7cf1ba17a409e95a8 Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-04-23Revert "NAT: VPP-1531 api cleanup & update"Ole Trøan3-17/+11
This reverts commit bed1421b9f1b3643d93384084972337b596aec73. /vpp/master3/src/plugins/nat/nat_api.c: In function ‘send_nat_worker_details’: /vpp/master3/src/vppinfra/clib.h:62:33: error: division ‘sizeof (u8 * {aka unsigned char *}) / sizeof (u8 {aka unsigned char})’ does not compute the number of array elements [-Werror=sizeof-pointer-div] #define ARRAY_LEN(x) (sizeof (x)/sizeof (x[0])) ^ /vpp/master3/src/plugins/nat/nat_api.c:205:43: note: in expansion of macro ‘ARRAY_LEN’ rmp = vl_msg_api_alloc (sizeof (*rmp) + ARRAY_LEN (w->name) - 1); ^~~~~~~~~ Change-Id: Ie82672c145fb2f6580827f95e535435307bc7a23 Signed-off-by: Ole Troan <ot@cisco.com>
2019-04-23NAT: VPP-1531 api cleanup & updateFilip Varga3-11/+17
Change-Id: I519d7efc8ee3c86381d96be2e2a46017cd948895 Signed-off-by: Filip Varga <fivarga@cisco.com>
2019-04-19Doxygen cleanup.Dave Wallace1-1/+1
- Add subpages definitions in appropriate section (User or Dev docs) for doc files (*.rst, *.md) that being listed at the top level of the generated doc page. - Generate and add API list to RELEASE doc. - Fix list_api_changes script to use HEAD as the endtag so it doesn't need to be changed every release. Change-Id: Iace7b6433359c6b96869cb1db01facbbcb0ac1e6 Signed-off-by: Dave Wallace <dwallacelf@gmail.com> (cherry picked from commit 11ee93f6abfaddf5bbd56cf0858c0c6ea0384b65)
2019-04-18Extras: Fix list_api_changes script for 19.08Dave Wallace1-2/+2
Change-Id: I9907a60347933bb2be8c967bf5e0d507b57b982b Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2019-04-16Static http serverDave Barach1-0/+6
Good enough to serve the vpp sphinx and doxygen docs. Knows about html, css, and javascript files. Change-Id: Ib18c19f07f35f91ba935ea26ed7be406dacf2205 Signed-off-by: Dave Barach <dave@barachs.net>