aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
AgeCommit message (Collapse)AuthorFilesLines
2016-11-03Adding Sequence Number - Per Packet Counter(PPC) support for iOAM6.AkshayaNadahalli3-5/+46
- Added support in classifier session to identify a flow to be iOAM6 encap/decap - Sequence number as part of iOAM6 E2E header is created as a plugin. Change-Id: Ib7605de45aecff25d684d099b525f8dc96ee7038 Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2016-11-02vpp: remove unused codeDamjan Marion1-343/+0
Change-Id: I81c5b0f9acbffa41a75de497bf6dd68936813012 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-11-01config: rename ip_config_main_t to vnet_feature_config_main_tDamjan Marion1-4/+4
It will not be used for IP only... Change-Id: I90ef3030aff7f9e24767553f019cabc1ea987126 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-29IPv6 Classify Forwarding Graph errorsNeale Ranns1-1/+1
Fix a few places where the protocol of the DPO object was incorrectly set and hence the graph traversed by the packet jumped between ip4 and ip6 nodes. Change-Id: I75c4ecfdf79df39f5dbb7c68f1fc82ff04aaed28 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-26dpdk: remove support for dpdk 16.04Damjan Marion1-25/+7
This also removes old DPDK vhost-user code which doesn't help much with DPDK 16.07 or newer. Change-Id: Ic996df1eaccc33acd3fa6cabeaf7381a672c2a90 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-25dpdk: remove dpdk_pmd_constructor_initDamjan Marion1-5/+1
This is not needed anymore, likely because we use --whole-archive parameter during linking. Change-Id: Iab0f2ec647b63c59663faceacfbc60aa4a4b84a6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-25Support IETF routing Yang models (VPP-503).Neale Ranns2-10/+46
Add support for special routes to send ICMP unreachable or admin prohibited. Change-Id: Ia1ac65b0e5e925c0f9ebc7824141833b4e18f05e Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-25Add API call of sw_interface_set_mpls_enable to vpp_api_testJohn Lo1-0/+16
Change-Id: If0e98c111b3dfa38cb2c619dde4ddb3e52ee8dfa Signed-off-by: John Lo <loj@cisco.com>
2016-10-21Fix Coverity Errors in FIB. This is mainly consolidating the vnet_link_t and ↵Neale Ranns2-3/+2
fib_link_t enums into just vnet_link_t. Change-Id: Id2147afec1a28e95fec86dfd524088cd56563f63 Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-21Pretty-print vl_api_api_get_first_msg_id_t msgsDave Barach1-1/+12
Change-Id: I380bef59d64c8c647a437026085dfa20b27727e1 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-18Deprecate MPLSoGRE tunnels (VPP-502)Neale Ranns4-573/+465
Add shared memory APIs for MPLS routes and MPLS to IP prefix bindings. Change-Id: I85b074a4dadc8249c410fdabd8ea019d20479cf8 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2016-10-17oam: fix compilation with gcc6Damjan Marion1-5/+6
gcc6 reports: vpp/oam/oam.c:560:531: error: self-comparison always evaluates to true [-Werror=tautological-compare] Change-Id: I7a086099c14c6661d0c6b4cf0370631fc06bc23d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-14FIB2.0: Adjacency complete pull model (VPP-487)Neale Ranns1-1/+3
Change the adjacency completion model to pull not push. A complete adjacency has a rewirte string, an incomplete one does not. the re-write string for a peer comes either from a discovery protocol (i.e. ARP/ND) or can be directly derived from the link type (i.e. GRE tunnels). Which method it is, is interface type specific. For each packet type sent on a link to a peer there is a corresponding adjacency. For example, if there is a peer 10.0.0.1 on Eth0 and we need to send to it IPv4 and MPLS packets, there will be two adjacencies; one for the IPv4 and one for the MPLS packets. The adjacencies are thus distinguished by the packets the carry, this is known as the adjacency's 'link-type'. It is not an L3 packet type, since the adjacency can have a link type of Ethernet (for L2 over GRE). The discovery protocols are not aware of all the link types required - only the FIB is. the FIB will create adjacencies as and when they are required, and it is thus then desirable to 'pull' from the discovery protocol the re-write required. The alternative (that we have now) is that the discovery protocol pushes (i.e. creates) adjacencies for each link type - this creates more adjacencies than we need. To pull, FIB now requests from the interface-type to 'complete' the adjacency. The interface can then delegate to the discovery protocol (on ethernet links) or directly build the re-write (i.e on GRE). Change-Id: I61451789ae03f26b1012d8d6524007b769b6c6ee Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-14Add macro for sending large data structures to API clientsFlorin Coras1-3/+18
Change-Id: I1c4ec4dd02ce5a16e33aa0908a606496ad0d64cc Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-10-13vpp_lite: add cpu pinning support (VPP-467)Pavel Kotucek1-1/+18
Proper cpu pinning in vpp_lite platform, like in normal vpp image. Extended “show threads” command to show propper information. Changed handling of coreID and socketID for threads in "show threads" CLI, pthread_getaffinity is used instead of info stored in DPDK. Change-Id: Ic8299ec5e284472bb10a37a95fadeed57b6edae8 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-12Fix coverity warnings, VPP-486Dave Barach2-2/+9
Change-Id: I7a14d9a28514cdb49f65fab1b120b53239fed7e3 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-12VPP-362 Implement dumping of LISP adjacenciesFilip Tehlar3-1/+138
Change-Id: Ieea56f3bf9e749878d9f2b35d39d9f7a9cdabde4 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-10-10ipfix: add classification nodes for flow statistics (VPP-204)Juraj Sloboda3-2/+163
In order to have meaningfull IPFIX implementation we should be able to classify all packets flowing through vpp. But existing IPv4 and IPv6 classifier nodes are called only if destination IP address is local to vpp. This commit adds new IPv4 and IPv6 classifier nodes that should be used for collecting flow statistics. Change-Id: I60e60105663ba15b5200862a23bb817047fe4d1a Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-10-07VPP-395 Add udp-punt node(s) and APIAlexander Popovsky (apopovsk)3-5/+77
Uses existing UDP local API in order to register requested UDP port punt to the host. CLI: set punt udp [del] <port> API: punt protocol <l4-protocol> [ip <ver>] [port <l4-port>] [del] * Only UDP (l4-protocol = 17) is supported at this time Change-Id: I9232af1c891d1ed174d77f3e0dfe60c4b9d85e40 Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
2016-10-07VPP-466: PG pg_create_interface API returns wrong interface indexPavel Kotucek1-2/+3
Change-Id: Ife7b2907012a79e6893cfa7f2cf61c7a54865248 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-05Fix sw_interface_set_unnumbered API for FIB2.0Igor Mikhailov (imichail)1-4/+4
ip[4|6]_sw_interface_enable_disable() should be called for the unnumbered interface (and not on the interface with IP address) Change-Id: Iffd347c539567c1302fa8136eea9c4e06b24d1bd Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-10-04VPP-355: add PBB (802.1ah) tag rewritePavel Kotucek3-2/+98
- new API/CLI to define pbb tag rewrite on interface - encapsulation/decapsulation of PBB tags - tracing of PBB header - PBB tag rewrite operations Change-Id: I538b3025a8b2e41cdeed9f10fea94bbcd28b5f5f Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-10-03L2 over LISP and GRE (VPP-457)Neale Ranns1-27/+41
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-30VPP-450 Fix adding LISP adjacencies via CLIFilip Tehlar3-14/+14
Change-Id: If90c9c630629e727fffc5d450516045a04433661 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-28DPDK HQoS: Enable Hierarchical Scheduler in VPPJasvinder Singh3-2/+277
This commit extends the vpp framework with new thread type "hqos-threads" that runs the Hierarchical Quality of Service (HQoS) scheduler associted with output interface. HQoS Scheduler prioritize the packets from different users and ensures sufficient bandwidth to pass the more important traffic. At high level, HQoS scheduler is a buffer that can temporarily store a large number of packets. In otherwords, it is a collection of large number of queues organized into hierarchy of 5 levels; the port (i.e. the physical interface) is at the root of the hierarchy followed by the subport (a set of users), the pipes (individual users), the traffic classes (each with a strict priority) and at the leaves, the queues. In each HQoS scheduler, three operations are performed; classification (setting HQoS port, subport, pipe, traffic class and queue within traffic class from packet fields), enqueue (selecting HQoS queue for the packet, and to drop the packet if the queue is full) and dequeue (schedule the packet based on its length and available credits, and handover the scheduled packet to the output interface). In vpp, the number of hqos threads will be equal to cpu cores specified in corelist-hqos-threads parameter cpu section of the vpp configuration file. One hqos thread can run HQoS for multiple output interfaces. A particular HQoS instance is initialised with default parameters required to configure hqos port, subport, pipe and queues. Some of them can be re-configured in run-time through CLI commands as well binary APIs. Following illustrates the sample startup configuration file with 4x worker threads feeding 2x hqos threads that handle each HQoS for 1x output interface. For more details on HQoS configuration please refer to DPDK Programmer's Guide. dpdk { socket-mem 16384,16384 dev 0000:02:00.0 { num-rx-queues 2 hqos } dev 0000:06:00.0 { num-rx-queues 2 hqos } num-mbufs 1000000 } cpu { main-core 0 corelist-workers 1, 2, 3, 4 corelist-hqos-threads 5, 6 } Change-Id: I635c3395a7c4ddf0a239ef77b0b0a31a6dfc4767 Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2016-09-27Scheduler policy & priority config, few minor fixes (VPP-425)Pavel Kotucek1-0/+10
- scheduler-prio -> scheduler-priority - improve formatting of "show threads" output - add description to "startup.conf" - bail out of priority is set without rr or fifo policy Change-Id: Idf897f7603d989d6c2d0093eea89c5d1653eaa8c Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-27VPP-448 Fix LISP APIs using binary dataFilip Tehlar1-4/+19
* use zero length array in LISP API to avoid confusion * add missing LISP data structure definitions in API documentation * fix wrong memory allocation in VAT Change-Id: I9b5e656a071fc24cb698c164db953c09b66deeeb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27LISP Source/Dest control plane support, VPP-197Florin Coras3-0/+99
Change-Id: If88e4161e0944b657e6183b7b44348f7f46ba0a8 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns6-833/+483
Main Enhancements: - Protocol Independent FIB API - Hierarchical FIB entries. Dynamic recursive route resolution. - Extranet Support. - Integration of IP and MPLS forwarding. - Separation of FIB and Adjacency databases. - Data-Plane Object forwarding model. Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-20VPP-189: fix coverity issue in api_format.cFilip Tehlar1-0/+2
Change-Id: Ib16fd69abe93c1afb2ee1d38144763f57888585c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-19Add support for transparent ethernet bridging to GREDavid Hotham3-0/+7
Change-Id: Iaa3cefe223eb48b128893029a17e092b72a5157c Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-14Add vlan-strip-offload help into startup.confAlex Popovsky1-0/+4
Change-Id: Icb240ce9c62e9a2e2ff18107729cffb8e4884a0c Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
2016-09-13Add some help into startup.confDamjan Marion1-0/+54
Change-Id: I84e9d7c3ccd32814c3eebf1cef0a4887c75812a8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-13VPP-376: Refactor LISP dump API + VATFilip Tehlar3-105/+136
- refactor VAT so it won't cache data - remove unused filter flag from locator dump API call - json structure changed for locator and EID table dump calls - remote mapping VAT cli now accepts string for negative mapping action Change-Id: I776fb50659aaa7e98ad93715d282a83f78287344 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-07Fix bugs in IPFIX code discovered by coverityJuraj Sloboda1-12/+9
Change-Id: Ibe6ccb99c3c29c14efb34191f209a2f6a14293f7 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-07VPP-204 Rework and finish IPFIX implementationJuraj Sloboda3-33/+370
Rework flow report registration system - add streams Add support for IPv6 and src and dst ports for TCP and UDP protocols Implement binary API for IPFIX classifier module Change-Id: Id05cc0127a7b95ceaeebf9c79a32c6936449bd63 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-06Move iOAM Trace as a pluginVengada Govindan2-85/+21
Change-Id: I78322e91485e5429871bd356f668b8ed90f4265a Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-09-02Add in-message cli_request/cli_reply APIOle Troan3-0/+82
This new CLI API is meant to replace the cli_request/cli_reply that uses shared memory. PS: checkstyle -- *hate* Change-Id: I6318f8f6b9be2c2398b49dac9e2193c1998ea724 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-31VPP-369 Add an L2 output classification featureDave Barach4-23/+34
Change-Id: If03162d328c1ea179249e734537ebb01bade3331 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-31VPP-358: Add IPv6 ND Event Notification and TerminationJohn Lo3-27/+272
Add IPv6 equivalent of IPv4 ARP event notification which covers address resolution for L3 and MAC/IP binding in L2 BD and ARP termination in BD. For IPv6, ICMP6 neighbor solicitation and advertisement packets are utilized instead of ARP request and response packets for IPv4. Change-Id: I0088fa173e4480de297c8053ea2fcd0821322815 Signed-off-by: John Lo <loj@cisco.com>
2016-08-31VPP-240: delete subinterfacePavel Kotucek3-2/+45
Added new CLI and API command to delete subinterface. Change-Id: Ia92a8facc6ad84634bdec430093e6add02ee674e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-08-30VPP-353: Fully support LISP negative mappings in APIFilip Tehlar2-6/+17
Change-Id: I71943fb4ae2a2f71bcf1ad73512812edf96c06da Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-26VPP-356: Fix wrong byte order in LISP APIFilip Tehlar2-5/+6
Change-Id: Ib2284025b8394a87f1d5765713adb7070b450cba Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-26VPP-329: Add L2 support to lisp_eid_table_map_dumpFilip Tehlar3-6/+33
Change-Id: Idfb115cd1f95394f4a4a569dc34c0488a1d58558 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-25VPP-328: Add dump call for listing LISP VNIsFilip Tehlar3-0/+73
Change-Id: I45c054ad638a0e918dddefa4468ff65452949970 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-25Fix issues with vhost-user when dpdk vhost-user is disabled, fixes VPP-347, ↵Damjan Marion1-26/+23
VPP-349 Change-Id: I774bab98e43d55678a67a7708ca50edbbd4cbb06 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-25VPP Python language binding - plugin supportOle Troan1-6/+6
- Moved Python generator tool to tools directory - Added build-vpp-api Makefile target - Generator now only creates a Python representation of the .api the rest of the framework is in the vpp_papi script - Each plugin has its own namespace. - Plugin Python files are installed in vpp_papi_plugins for easy use inside the build tree. Change-Id: I272c83bb7e5d5e416bdbd8a790a3cc35c5a04e38 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-24VPP-321: Fix param order of unformat_lisp_eid_apiFilip Tehlar1-3/+2
Change-Id: Ib00ca0f0dab4784a3fb34ffd91c18a3940e9a5d5 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23VPP-323: Add LISP locator set index to reply API messageFilip Tehlar2-1/+8
Change-Id: Id798f63f4cf1a8aa7a75931bc23d3c7f5d738938 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23VPP-342: Don't allow remote mapping to overwrite local or static mappingFilip Tehlar1-1/+1
Change-Id: I9888d7c087da538b81a6a1967edbdf1103cc095a Signed-off-by: Filip Tehlar <ftehlar@cisco.com>