aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
AgeCommit message (Collapse)AuthorFilesLines
2016-06-09VPP-127: Make rpm/deb provide vpp group to access vpp-apiEd Warnicke2-0/+8
Change-Id: I005f971ec5bfbffc5ddd392ff5ae829186b2bf18 Signed-off-by: Ed Warnicke <eaw@cisco.com> (cherry picked from commit 1f9933d9f0c4615334f4af168dc063a7f1f2d649) Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-06-08VPP-124: Fix rpms to work out of the box.Ed Warnicke1-0/+14
Currently, for vpp we are not building any rpms for dpdk or igb_uio. This is because uio_pci_generic as shipped with centos works with vpp. However, our vpp rpms do not install kernel module uio_pci_generic at start up and the /etc/vpp/startup.conf does not configure vpp to use uio_pci_generic. vpp rpms should do both, so that when the vpp rpm is installed and vpp started, it just works out of the box. This patch fixes the rpms to do so. Change-Id: Ib934b51f9271cded466d235aa4044bef75c35960 Signed-off-by: Ed Warnicke <eaw@cisco.com> (cherry picked from commit 40c66394280365ed6b1c5b8f569254f668f80cdb)
2016-06-01VPP-105 Map API SHM uid/gid name to numberChris Luke1-1/+53
When providing uid or gid for the API SHM, if non-numeric values are given look them up in the local system user database and if found use the values discovered. Change-Id: I95152f58646643bc44d2af4cbad6338901935c69 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-06-01VPP-83 Allow non-privileged clients to use the vpp binary API.Dave Barach2-5/+18
Use the command line argument "api-segment { uid <nnn> gid <nnn> }" to configure shared memory segment file ownership. Defaults to uid = gid = 0. Shared-memory segments are explicitly set to 0770 mode, aka "rwxrwx---". Change-Id: Ic5d596b68139add61e7de6ace035c57dfd030111 Signed-off-by: Dave Barach <dave@barachs.net>
2016-05-30ONE-15: Fix duplicate locator, refactoring locatorAndrej Kozemcak1-2/+2
Check duplication locator and clean after locator when remove it. Refactoring locator_set code. Change-Id: Ib83cbcddc7a363a60fa5b6a366203d0dc0ea7ca6 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-27VPP-95 VXLAN add_del API intermittent failureChris Luke1-2/+2
The VXLAN add_del API sometimes rejects calls with VNET_API_ERROR_SAME_SRC_DST when the two parameters are obviously different. This is because the API code is checking the "is_ip6" flag in a not-yet initialized area of memory leading to random results. Also fix help text for vxlan_add_del_tunnel in vat. This does not change the API; it repairs intermittent failure. Change-Id: I41863694f478c1f669078f82f69d8cca4841c989 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-16VPP-61 Patch1/2 - Remove NSH from VPPKeith Burns (alagalah)2-54/+0
- Had issues with original patch and CSIT, breaking into -- Makefile and API changes -- Follow up patch removing NSH directory Change-Id: I6c2f49a74d59b97ce4ea43799cc6f01f5cb1d5a2 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-16Add configure policer APIMatus Fabian2-1/+70
JIRA: VPP-67 Change-Id: I04560d78e2eb131cd6cc31472b70b3d3e8fdd79a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-15ONE-13: Add CLI/API for LISP static remote mappingsFilip Tehlar2-0/+101
Change-Id: Ic4c717af9629541bac0a0e6c65d0157619c8f578 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-13VPP-57 Add Doxygen to VPPChris Luke1-8/+0
- Configures Doxygen. - Adds a source filter to do magic on our use of the preprocessor to do constructor stuff to make Doxygen grok it better. - Adds a convenience helper to the root Makefile. - Adds a README.md to the root directory (and which Doxygem uses as its "mainpage". - Add several other documentative files. - Currently using SVG for call graphs, though this may have a load-time performance impact in browsers. Change-Id: I25fc6fb5bf634319dcb36a7f0e32031921c125ac Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13VPP43 - NSH refactoring: Added nsh-map nodesKeith Burns (alagalah)3-207/+42
- removed vnet/vnet/nsh-gre - removed all nsh from vnet/vnet/nsh_vxlan_gpe to vnet/vnet/nsh - moved vnet/vnet/nsh_vxlan_gpe to vnet/vnet/vxlan_gpe - added cli and binary api for VXLAN GPE tunnels - plan to move vnet/vnet/nsh to new repo (sfc_nsh) and make plugin - added cli for NSH (binary API will be done in sfc_nsh) - vnet/vnet/gre will be extended in VPP-54 Change-Id: I1d27def916532321577ccd68cb982ae0d0a07e6f Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-13ONE-11: Fix bugs in LISP APIAndrej Kozemcak2-7/+52
- check input variables - in locator_set dump, add support for remote locator_set Change-Id: Ib10028e83fead358f820ae45c71b6ca4dfbe2f1e Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-12VPP-53: clang build fails in API on SR testsDamjan Marion2-11/+11
Change-Id: Ib3117d7b5b6b8c97acfea17ad27c965f6ce2e829 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-05-10ONE-4: Add LISP enable/disable API/CLIFilip Tehlar2-15/+46
This patch adds an enable/disable API/CLI for control plane which calls similar functions for data plane. When re-enabling it also re-populates dataplane with tunnels and interfaces. Change-Id: Id8c3d6af90ecc0be331d502756914b1f62824046 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-05-10Add af_packet APIMatus Fabian2-1/+89
Change-Id: I39409ae9e75fdb59d8cbbd940fa192b24eb79b6a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-05-09ONE-5: Remove unused vnet_lisp_gpe_add_del_tunnel APIFlorin Coras3-130/+0
Change-Id: Ib22ec807d2b74b7c3cb37f66052cd07bc4d896db Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-05-09VPP-20: Verify valid sw_if_index in ip_address_dump.Ole Troan1-0/+4
(Also checked other API calls for same error without finding any.) Change-Id: I1062ecf8eff004efb3fad4582a00c6b512c36999 Signed-off-by: Ole Troan <ot@cisco.com>
2016-05-05ONE-2: Add new LISP dump API for lisp gpeAndrej Kozemcak2-0/+52
API: lisp_gpe_enable_disable_dump Change-Id: I1c8e78f00f9a3f99c1f2f54884af565292e4ccf8 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-05-05VPP-39 - refactoring of NSH into own folderKeith Burns (alagalah)2-27/+27
- common header files and structs used in both GRE and VXLAN-GPE Change-Id: I06d0b773e936fb011408817237059f24a4beb412 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-05-03HONEYCOMB-10: Copy context identifier from request to replyMarek Gradzki1-25/+45
Some of the send_*_details methods did not copy context identifier from dump request message to details response. The context identifier is used for request<->reply matching. Change-Id: I8a744f3817bef94d7fa8ecb7bec6ea942c1a8793 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-05-02VPP-30 sr_replicate requires DPDKKeith Burns (alagalah)1-0/+5
- added fix to disable functionality when no DPDK - may extend to support non-DPDK case in future. Change-Id: Ic8ad4eeb91c4866f3f102dd4a718898eb0419dee Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-30IP6 SR multicast replicatorKeith Burns (alagalah)3-3/+239
- adds ability to name tunnel - creates policy as a collection of tunnel names - map ip6 multicast address to policy and replicate packet - adds zero memcpy for invariant portion of packet Change-Id: Icd2fe6a2cf65c09906e82ed1afbb0eae8df79452 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-29VPP-25 Add API for GRE tunnel create/delete/show.Chris Luke3-0/+157
Add API methods to create, delete and show GRE tunnels. Also add missing CLI functionality for deleting and listing configured tunnels. Change-Id: I7565966037d94ade07938e4ff0d9333419716857 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29Fix use of format_ip46_address in custom_formatChris Luke1-4/+4
format_ip46_address() does not take a 2nd argument indicating the address family. Harmless since the extra argument is simply not consumed. (noticed while adding gre to this module) Change-Id: I692883872eedb4a8e3c0be7680d03b4b257ba6f9 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-29Add support for LCAF Instance IDFilip Tehlar1-2/+2
Change-Id: Ifce3f2bdcba099157a42d0b694f3161b9f700ed2 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-04-29Add lisp-gpe ip6 data-plane supportFlorin Coras1-7/+3
The implementation mimics that of the ip4 data-plane. Therefore, a new lgpe-ip6-lookup lookup node is introduced for ip6 source lookups, a lisp-gpe-ip6-input node for decapsulating ip6 encapsulated packets and the tx function of the lisp-gpe interface is updated to support any mix of v4 and v6 in underlay and overlay. Change-Id: Ib3a6e339b8cd7618a940acf0dd8e61c042fd83dd Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-29Clean up per-thread mheap setup.Dave Barach1-1/+0
The stats thread was sharing the main mheap when we started at least one worker or I/O thread, but ran on its own mheap when we started 0 worker + io threads. Net of this change; if a VLIB_REGISTER_THREAD instance specifies a per-thread mheap, a per-thread mheap will be provided. Otherwise, threads share the main heap. The stats thread now uses the main heap. Simpler is better. Change-Id: I1fff0dd66ae8f7dfe44923f702734e2832b55b09 Signed-off-by: Dave Barach <dbarach@cisco.com>
2016-04-28VXLAN over IPv6.Chris Luke3-14/+37
Refactors the VXLAN node to work with both IPv4 and IPv6 transports. There is a discussion thread for this change at https://lists.fd.io/pipermail/vpp-dev/2016-March/000279.html Note that this changes the binary configuration API to support both address families; each address uses the same memory for either address type and a flag to indicate which is in use. This also includes changes to the Java API to support both address families. The CLI and VAT syntax remains unchanged; the code detects whether an IPv4 or an IPv6 address was given. Configuration examples: IPv4 CLI: create vxlan tunnel src 192.168.1.1 dst 192.168.1.2 vni 10 encap-vrf-id 0 decap-next l2 IPv6 CLI: create vxlan tunnel src 2620:124:9000::1 dst 2620:124:9000::2 vni 16 encap-vrf-id 0 decap-next l2 IPv4 VAT: vxlan_add_del_tunnel src 192.168.1.1 dst 192.168.1.2 vni 10 encap-vrf-id 0 decap-next l2 IPv6 VAT: vxlan_add_del_tunnel src 2620:124:9000::1 dst 2620:124:9000::2 vni 16 encap-vrf-id 0 decap-next l2 TODO: The encap path is not as optimal as it could be. Change-Id: I87be8bf0501e0c9cd7e401be4542bb599f1b6e47 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-04-27HONEYCOMB-10: Add missing context parameter to *details structsMaros Marsalek2-8/+24
Some of the *details structures defined in vpe.api did not have the context parameter that is used for request<->reply matching. Without the context, it is difficult for upper layers (users of vpp binary apis) to identify which reply or details message belongs to which request Tested manually using vat Change-Id: I5fda54a891b68349f80c87fae06009791a028147 Signed-off-by: Maros Marsalek <mmarsale@cisco.com> Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-04-26Make automake silent rules defaultDamjan Marion1-1/+1
Change-Id: Ia504ccdac1deac20f20cf7fb76f78b2d8c505474 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26Fix compile errors reported by clangDamjan Marion1-1/+1
For using clang as a compiler it is enough to specify CC=clang in the make command line Change-Id: I06f1c1d418b68768f8119de5bdc8748c51f90c02 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-26Port glean neighbor entry support to IPv6Pierre Pfister1-1/+1
This patch is more or less a port of I71f3ba0c8192 to IPv6. In practice it allows creating a route via a neighbor which is not resolved yet. It also adds static flag to IPv6 neighbor entries. And as Damjan suggested, it formalizes ip46_address_t by using the IPv4 embedded IPv6 address format. Change-Id: Ifa7328a03380ea4ff118b7ca4897b4ab23a3e57c Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-04-25Convert lisp-gpe encap to interface tx nodeFlorin Coras2-3/+42
With this change, one lisp-gpe interface is created per vrf/overlay tenant and its tx node is used as encapsulator (or tunnel ingress). For all intents and purposes, the tx node inherits all functions previously performed by the lisp-gpe-encap node and it maintains said node's position in lisp-gpe's data-path graph. Chiefly, this opens the possibility to chain interface features, like IPSec, transparently with LISP. Furthermore, it brings basic data plane support for vrfs and LISP instance-ids (or virtual network instances as per RFC7364). Other changes include improvements to lisp-gpe enable and disable sequences and corresponding API/VAT fixes. Change-Id: I085500450660a976b587b1a720e282f6e728d580 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-04-22Add clib_memcpy macro based on DPDK rte_memcpy implementationDamjan Marion6-96/+96
Change-Id: I22cb443c4bd0bf298abb6f06e8e4ca65a44a2854 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-22Add a vpp_restart commandDave Barach2-4/+13
vpp_restart solves the problem of restarting vpp and not exiting until the new vpp instance is sufficiently established to allow immediate binary API connections. The point is to avoid using arbitrary "sleep N" commands e.g. in CSIT shell scripts. We send SIGTERM to the current vpp process, and expect / depend on the process-monitor du jour to remove the vpp-api shared-memory segment. vpp_restart exits w/ status 0 if all is well, non-zero upon failure. In trying to make vpp_restart reliable, we discovered a recently-introduced heap corruption bug in .../dpdk/init.c, which caused vpp to crash on startup once every 20 times on a particular rig. If possible, we should check /var/log/syslog for evidence of unexpected multiple restarts during regression-testing. Change-Id: Ic48c74b1a94a4368066ba2e326d4b12d51192088 Signed-off-by: Dave Barach <dbarach@cisco.com>
2016-04-21Removing dpdk socket-mem from startup.confDamjan Marion1-4/+0
We allocate 512M of memory on each available cpu socket by default so this is not needed anymore in startup.conf Change-Id: Ib28b25df8d6722777a006aaddd1d56f21ab7b58a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-04-20Python-API: Inital commit of Python bindings for the VPP API.Ole Troan1-9/+9
See: https://wiki.fd.io/view/VPP/Python_API Change-Id: If135fc32208c7031787e1935b399d930e0e1ea1f Signed-off-by: Ole Troan <ot@cisco.com>
2016-04-18Add support for AArch32Christophe Fontaine2-9/+9
gcc version 4.9.2 (Raspbian 4.9.2-10) Tested on Linux raspberrypi 4.4.6-v7+ #875 SMP Tue Apr 12 16:33:02 BST 2016 armv7l GNU/Linux CPUs may be little or big endian, detect with gcc flags, not the processor architecture Add a new flag $(PLATFORM)_uses_openssl which allows to disable the link with openssl lib. vlib/vlib/threads.c: startup.conf must: - specify the heapsize as we don't have hugepages on raspbian cpu { main-core 3 } heapsize 64M Corrects in various files the assumption uword == u64 and replaces 'u64' cast with 'pointer_to_uword' and 'uword_to_pointer' where appropriate. 256 CPUs may create an OOM when testing with small memory footprint ( heapsize 64M ), allows the number of VLIB_MAX_CPUS to be set in platforms/*.mk vppinfra/vppinfra/longjmp.S: ARM - copy r1 (1st parameter of the setjmp call) to r0 (return value) vppinfra/vppinfra/time.h: On ARMv7 in AArch32 mode, we can access to a 64bit register to retreive the cycles count. gcc on rpi only declare ARM_ARCH 6. Override this info, and check if it is possible to use 'mrrc'. /!\ the time function will NOT work without allowing the user mode access to the PMU. You may download the source of the kmod here: https://github.com/christophefontaine/arm_rdtsc Change-Id: I8142606436d9671a184133b935398427f08a8bd2 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-04-15Remove historical netconf message switch APIsDave Barach2-101/+0
The scheme is unused, and never to be used again; it was a bad idea in the first place. Change-Id: I1479a1fa9191e0374e00f7326545d216c3a11e32 Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-15Add LISP APIAndrej Kozemcak2-1/+694
SET API: lisp_add_del_locator_set lisp_add_del_locator lisp_add_del_local_eid lisp_gpe_add_del_fwd_entry lisp_add_del_map_resolver lisp_gpe_add_del_iface SHOW API: lisp_locator_set_dump lisp_local_eid_table_dump lisp_gpe_tunnel_dump lisp_map_resolver_dump Change-Id: Ie7f521e7e64ad2736b8417852b38454bfdef3728 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-04-12Add a configurable "significant error" metricDave Barach1-7/+120
Change-Id: Idda59272a029ffcbc029f9bb167508d7bd5e6e21 Signed-off-by: Dave Barach <dave@barachs.net>
2016-04-09Add IKEv2 APIsMatus Fabian2-3/+271
Change-Id: I5936b05aa927b67c707b5858ffee45fc7a5d2043 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-04-07Enhance CLI/API Support for Bonded InterfaceJohn Lo1-0/+5
For interfaces which are slave links to a bounded interface, do not allow sub-interface creation nor interface state to be changed. Change "show interface" to display interface state as "bond-slave" for slave links to a bonded interface. Change "show hardware" to support a "bond" keyword and display slave links to a bonded interface. Change-Id: I4db3cae6985bcb1489ab16a07c72c5ee9b2f2dd3 Signed-off-by: John Lo <loj@cisco.com>
2016-04-01Add option to link DPDK dynamicallyDamjan Marion3-2/+34
Change-Id: Ie2b47f9020c8260b199d141103318a0261e16832 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29Move classify_table_index under the unionDamjan Marion1-2/+2
Fields needed only by specific adj type should be shared. Change-Id: I59ee15a29d2f5f527f46910a1a63866b291734c7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-29Adjacency allocatorDave Barach1-0/+5
Change-Id: Ieacbfa4dbbfd13b38eaa2d37f618f212cef4e492 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-25iOAM trace configuration APIsShwetha2-1/+142
Change-Id: I6d31f0ddb812d148ad065e27775440d09f402def Signed-off-by: Shwetha <shwethab@cisco.com>
2016-03-20vnet classifier debug CLI enhancementsDave Barach1-0/+1
Extensible next-index and opaque unformat function scheme. Added next-index-by-node-name and sw_if_index->opaque functions. Allow dynamic graph arcs to be added to ip4/6-inacl. Change-Id: Ie434335399a0708772eb82563a154df19c63b622 Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-17Bring back p1.c so plugins can see DPDK symbolsTodd Foggoa1-0/+2
Change-Id: Ia450c9bc6d00fbd054d41a462366f826121d781d Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-03-17Reincarnate call to unix_physmem_init() for non-dpdk useDamjan Marion1-0/+3
Change-Id: Iaa3da32060e78bbc505ee84a2a6393f899aa110e Signed-off-by: Damjan Marion <damarion@cisco.com>