aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-03-07Add sw_interface_clear_stats API callPavel Kotucek3-2/+94
Change-Id: I0731357744ddcb890efaebd81aac5370449a90e3 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-03-07build: fix call to mkdirJean-Mickael Guerin1-1/+1
Seen during build: /bin/bash: line 1: @mkdir: command not found Remove the extra prefix '@', this line is part of a single operation actually. Change-Id: I5fc265ae7c2dda01c61b369803d3c30a42a91f70 Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
2016-03-04Add CPU detection functionsDamjan Marion2-8/+17
Change-Id: Id7ea0410d6a789000c747c36a7e50076e31dc29a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Refuse to start if binary requires unavailable CPU extensionsDamjan Marion1-0/+29
Change-Id: I4d0d152b6f5d4ba566398fcccaa6a1f96625f864 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion1-26/+0
Standard Ubuntu PowerPC toolchain can be installed with: apt-get install crossbuild-essential-powerpc And code can be built with: make PLATFORM=qppc TAG=qppc ... Change-Id: I247355fc89fd61aedb8693156e84c454ca86eb75 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion1-1/+1
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-24Link the vpp application against libvnet.so, not libvnet.aDave Barach2-97/+7
Turn of srp, mainly as an example of how to restructure a featurette for selective disablement. Change-Id: Id3364c58a8711b103939f4434adfa67177380f67 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-22Added MTU information to sw_interface_dumpPavel2-0/+5
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7 Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
2016-02-19Add custom mac address option to vhost interfaces.Pierre Pfister2-1/+6
Generating a new MAC address everytime vpp reboots can quickly become cumbersome (e.g. in test scenarios). This commit allows vhost mac addresses to be configured manually. Change-Id: Ic6d16a2d14cdf8e49dc29041bbafde39d9fc8370 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-19Serialize and upload the data plane node graphDave Barach2-1/+56
Include node names and graph arcs. Prep work for uploading node runtime data, so the latter can be reported in a comprehensible manner. Change-Id: I215b1f8cff244200c37c7e088f1f22229dc97eb6 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19Per-interface, per-address-family fast packet filterDave Barach4-2/+142
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-16Show DPDK EAL cmdline args in 'show version verbose'Damjan Marion1-5/+10
Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-13Remove duplicate vlib_call_init_function() for tuntap initOleg A. Arkhangelsky1-2/+0
Change-Id: Ie642d15d2843f02a01448afe91aa7311e6131047 Signed-off-by: Oleg A. Arkhangelsky <sysoleg@yandex.ru>
2016-02-10Replace AC_PROG_LIBTOOL with LT_INITDave Barach2-2/+0
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-08Cisco Discovery Protocol, initial working attemptDave Barach1-0/+6
There are multiple enhancement opportunities... Change-Id: I976772dc3802f8284e8c6457c001d68184831e25 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-02Set the thread name for the stats thread if a thread name prefix is given.Todd Foggoa1-0/+5
Change-Id: Ie66d29bfbf6d106e9c49fb4f3738b26798c3a63c Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-02-02Zero the interface template before using it.Todd Foggoa1-0/+1
Change-Id: Ib6ce325202657684adaa17c82f64c70298dae339 Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-01-29Rationalize metric names.Dave Barach1-6/+6
Change-Id: I3144e58f635ef94224387e8729bf8db6aa77a106 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22Enable shared-VM namespace supportDave Barach2-1/+24
Required prep work for gracefully supporting "... dpdk { proc-type secondary }" - multiple processes sharing a physical host, VM, container, etc. Change-Id: Ic3eb72f4093e26d7c86dde3b8799264f1d0c218b Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-22aarch64 CPU arch / ThunderX platform initial supportDave Barach5-25/+85
Change-Id: Ia2edd3cee2c25c26c7c47a9023744b97226434c7 Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-21PowerPC64-be arch support. Qemu ("qppc") platform support.Dave Barach1-0/+5
Change-Id: Ib0a05f9d1b08bacef09f6d7c101391737031ee0d Signed-off-by: Dave Barach <dave@barachs.net>
2016-01-20Rename vpe binary name to avoid collision with latexDamjan Marion4-13/+13
Change-Id: I34a46b9ebbc0e36486fbef528b34ea1c3be2e8be Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-01-19Revert "Reenable debug cli telnet listener"Ed Warnicke1-1/+0
Please leave the telnet disabled in the packages, as its is not secure on a server deployment and we *should* be secure out of the box. This reverts commit 9c76c1fc68aaf1140b8d5b8b32fc7552f6381ed3. https://gerrit.fd.io/r/#/c/102/ Change-Id: I0187375441b4a6dd508424d687f380bbfc485259 Signed-off-by: Ed Warnicke <eaw@cisco.com>