aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
AgeCommit message (Collapse)AuthorFilesLines
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>
2016-08-19VPP-337 Add per interface IN filteringDave Barach1-4/+8
- ip post-rewrite feature subgraph arc support Change-Id: Ia4b07197463021ade916326231af246e2559a290 Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-17VPP-202: L2-GRE over IPSecMatus Fabian3-2/+193
GRE encapsulate layer 2 traffic and IPSec encrypt what is encapsulated by GRE. The whole point of L2-GRE over IPSec is to tunnel layer 2 over GRE and IPSec by bridging the physical interface with IPSec-GRE tunnel interface. Change-Id: Ia4cf9ed407bf663770e0d8905c0ad44ce73bd23b Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-08-15VPP-257 Coding standards cleanup for vnet/vnet/l2Dave Barach1-4/+4
Change-Id: Iba5f33675bb2eb806e9becdc42b11da5d3932d55 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-15VPP-198: LISP map-resolver failover algorithmFilip Tehlar1-5/+4
Change-Id: Iadd49e58a359a2e58610bd1793818ec8a25d51f1 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-15VPP-327 Coding standards cleanup for vppinfraDave Barach2-19/+19
Fix additional a few additional deviations reported elsewhere by checkstyle Change-Id: I026a8ae1c5b1856bbe3c4a555e1b690e7501b045 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-15VPP-236 Support 64-bit vector lengths, shared memory segments >4 GBDave Barach2-4/+29
Change-Id: I02aee33e96e7ae32094b9f82f6a667d30bb52f59 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-12VPP-237: indent fixes in prep for checkstyleEd Warnicke2-111/+122
Ran indent *twice* Change-Id: If9c18b81983bb859cc8dc3b415c67cbf318fc618 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12VPP-189 fix more coverity warningsDave Barach1-104/+78
Change-Id: If464a5f06ab15eead9eaf12e89792d3761796956 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-12VPP-321: Fix filtering in LISP EID dump callFilip Tehlar1-2/+2
Change-Id: Ide5d461cf324c0d9010f20732748d9c71cf6f02e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-11VPP-319: Fix handling of ERANGE from getgrnam_rEd Warnicke1-4/+16
Change-Id: I1c5b3ed678622a0352fb881f2236a514743f3c50 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-11VPP-321: Fix wrong checking of LISP mapping local flagFilip Tehlar1-20/+14
Change-Id: Ia1d5a53742a5ebe34566de0a68c2d0a81e002ffa Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-10VPP-313: Wrong API dump message in vxlan_add_del_tunnelJohn Lo1-7/+14
Fix API custom-dump format of ip4/ip6 addresses in the message. Change-Id: I822e036691846ce6a437834df933c44098944c1f Signed-off-by: John Lo <loj@cisco.com>
2016-08-08VPP-189 Clean up more coverity warningsDave Barach1-3/+8
Change-Id: If66713d79c545c762c385faf08cc809347741152 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-07VPP-241: Add custom dump functions for LISPFilip Tehlar1-1/+365
Change-Id: I4ad86190b8f23a992a00f536492ba4f8caefeb43 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-06VPP-242: Fix wrong checking of LISP Proxy-ITR modeFilip Tehlar1-1/+1
Change-Id: I89c9e52ecf0d053a278a78e57c9e589798b4cb7f Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-05VPP-237 Coding standards cleanupDave Barach21-12403/+13760
Change-Id: I239143f920285050ad85244ece6893236195534f Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-05vpp-189 Clean up more coverity warningsDave Barach1-0/+1
Time to make the donuts Change-Id: I528937800f7daefce19723dda0216e58d857942c Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-04LISP multihoming API changes and cleanupFlorin Coras2-20/+49
Change-Id: I106352a6da0fad2b91dc8593f8d6d664af3113a8 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-03VPP-226 - adding UDP TCP to port-rangeKeith Burns (alagalah)3-36/+64
Change-Id: I5f4261279dcdbb03e182b18d05602407c0e55f89 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-03VPP-180 Clean up multi-socket / multi-chunk mempool discoveryDave Barach1-2/+2
Change the default DPDK version to 16.07, and rename the indicated patch directory. Use the native vhost-user driver. Change-Id: Ie3d17e90e363ce86f0233b58c152de683b5d9456 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-03LISP API/VAT cleanupFlorin Coras2-215/+137
- cleaned up some of the LISP APIs - added support for mac in dp APIs Change-Id: I11d419a30d73ddbf6554768d6dc2a09cc5a6e072 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-03VPP-233: disallow array[0] in reply messagesMarek Gradzki1-4/+4
- updates jvpp generator to raise exception if array[0] is present in reply/detail/counter message - fixes vpe.api reply/detail/counter messages that use incorrect variable array syntax. Additional info: Variable arrays in reply/detail/counter messages needs to have lenght defined in other variable within the message. The other variable can have any name, so it is impossible to generate Java/Python code handling. New syntax introduced by https://gerrit.fd.io/r/#/c/1617/ fixes the problem: u32 some_var; XX array[some_var]; Change-Id: I0af50f1ef1d94d95b56d9326d4e944e72b4edcdd Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-02API support for src/dst based routing policy in LISPFilip Tehlar1-2/+7
Change-Id: I0ae90f884378acabeda310a6431c89f3ec195d0e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-01VPP-226 IPv4 src-address + port range checkerDave Barach3-2/+231
Change-Id: Ia251e9d7d53e894a5666109f69e9626d27ea74cb Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>