summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-09-28DPDK HQoS: Enable Hierarchical Scheduler in VPPJasvinder Singh12-6/+2448
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-28Fix packet trace for IP4/IP6 lookup/forwarding nodesJohn Lo2-11/+8
Change-Id: Ibf3d2e69dbac28fbef77d8ba20d7f5a60eea0198 Signed-off-by: John Lo <loj@cisco.com>
2016-09-27classify: fix issue with output classify node using wrong sw_if_indexChristophe Fontaine1-6/+6
Output classify node should use sw_if_index[VLIB_TX] Like in l2_output.c, we have to use sw_if_index[VLIB_TX] to get the appropriate configuration. Change-Id: I96b1a03ddf5c9e9c45fa3f5df3ea88895ed4345e Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-09-27arp: handle ARP proxy after tunnellingDavid Hotham1-3/+4
Only rewind the buffer back to the start of the ethernet header, rather than all the way. We don't want to undo earlier decapsulation. Change-Id: I5f4b183eb3e8df690695ce3a97e55f3b0579a266 Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-27Fix RPM packaging dependenciesJohn DeNisco1-1/+1
Change-Id: Ife1523e11b7225ea0fd41c06c3b802bb171e91f4 Signed-off-by: John DeNisco <jdenisco@cisco.com>
2016-09-27VPP-308: Added workaround for failed vnet build. For some reasonThomas F Herbert1-0/+1
the clock slew is greater with Vagrant 1.8.5 which causes Makefile.am to be timestamped as newer which causes builds to fail. Change-Id: Id0d35c41ac66a2841c5aae20dd678f4bc125e41b Signed-off-by: Thomas F Herbert <therbert@redhat.com>
2016-09-27Fix hugepage detection issueDamjan Marion3-40/+40
Per-numa free hugepages number was not read correctly due to wrong sysfs path. Change-Id: I889111027d7f93c42e2e4673d8d4e8f75ae065b6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-27Scheduler policy & priority config, few minor fixes (VPP-425)Pavel Kotucek3-20/+31
- 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-27Fix missing output in generated CLI/configChris Luke3-7/+8
The templates were looking for the name of the CLI_COMMAND and CONFIG_FUNCTION structures in the srong place. Change-Id: I709d6716216173ba6a7ed41a260728238f96d2db Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-27FIX sysctl configuration directoryMiroslav Miklus2-4/+4
man sysctl.d: ... Packages should install their configuration files in /usr/lib/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by vendor packages. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option, the entry in the file with the lexicographically latest name will take precedence. It is recommended to prefix all filenames with a two-digit number and a dash, to simplify the ordering of the files. If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same filename as the vendor configuration file. ... Change-Id: I24b8b7fddf64ec287282ae195e07c9592c494ebe Signed-off-by: Miroslav Miklus <mmiklus@cisco.com>
2016-09-27VPP-448 Fix LISP APIs using binary dataFilip Tehlar2-10/+29
* 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-27Fix "show adj nbr" displaying IP4 address for IP6 neighborsJohn Lo1-2/+2
Change-Id: Ic453e68bbd3d5ae8d57b513da6781bb957fc84a4 Signed-off-by: John Lo <loj@cisco.com>
2016-09-27fix create sub-interface range cliEyal Bari1-1/+3
the create sub interface command was creating the interfaces with the same outer_vlan value - causing an error changed to use the interface id as outer_vlan in case of a range Change-Id: I3808094d1c99a37adac61e3ece573a6687306461 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-09-27VPP-425: Scheduler policy & priority configurationPavel Kotucek3-4/+100
Add ability to hadle scheduling policy and priority via config file. CPU section contains new items to specify scheduling policy and priority: cpu { scheduler-priority <num> scheduler-policy [other | batch | idle | fifo | rr ] } Change-Id: Ie20765280e458e1d7deb4a8c66daaa69793f795e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-09-27Fix CLI for adding negative LISP fwd entriesFlorin Coras1-0/+1
Change-Id: I9ee7b6ea2def16715f717f8483c86e0157628946 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-27LISP Source/Dest control plane support, VPP-197Florin Coras11-115/+805
Change-Id: If88e4161e0944b657e6183b7b44348f7f46ba0a8 Signed-off-by: Florin Coras <fcoras@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-27Fix import line for setup.pyPeter Ginchev1-2/+2
Build fails in case python-setuptools is not installed. Change-Id: I1611f3560db82a4a48c51a9f614a813a9a540698 Signed-off-by: Peter Ginchev <pginchev@cisco.com>
2016-09-26Fix for potential use of uninitialized variablesIgor Mikhailov (imichail)1-23/+13
The code allowed for the command 'set interface unnumbered' to be processed without specifying any parameters, thus the set logic of the command would have been using uninitialized variables 'unnumbered_sw_if_index' and 'inherit_from_sw_if_index'. Change-Id: I4de14fa1096527c5c48f74304db379f9953760a8 Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2016-09-26Update CSIT tests 160919 -> 160925Jan1-1/+1
- update of CSIT operational branch to be used for VPP-patch test Change-Id: I5daf02786185159cd2a156144f247d3b45369c33 Signed-off-by: Jan Gelety <jgelety@cisco.com>
2016-09-26Fix jvpp-core dependenciesMarek Gradzki1-2/+2
Change-Id: I242d590c9d2fa733cc1411fa5d96bb3944d5b5fe Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-09-25Packet-generator related fib 2.0 fixesDave Barach2-4/+10
Fix dpo0->dpo1 typo in ip4_local source RPF check. Pass source RPF check on drop adjacencies. Add a bit of defensive driving in ip4_icmp_error(...). Change-Id: I0e444886953f5500766f9b9662fad79fef44a260 Signed-off-by: Dave Barach <dave@barachs.net>
2016-09-23Rmove duplicate register of unformat_l2_input_next_nodeHongjun Ni1-3/+0
Change-Id: I38dc7c37b0debcea9aa1a366b516e86505dd096e Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-09-23Fix source RPF check in ip4_localDave Barach1-0/+5
We need to accept src ip addresses which hit receive and clean adjacencies. Change-Id: I8cf07f622058203665ed09280452ed8412984bd5 Signed-off-by: Dave Barach <dave@barachs.net>
2016-09-23Fix eventfd leakage issue in vhost-user modeSteve Shin2-6/+57
The leakage happens on the file descriptors for kickfd and vring's callfd. Those file descriptors should be closed when vhost-interface is disconnected. Change-Id: I12453b0c3eac037a1dc040a001465059b8f672c2 Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-09-23Python API: Preparation for RPM/DEB packaging.Ole Troan12-65/+138
Recheck. Repackage the Python API binding to include all necessary modules in a single Python package. Change-Id: I5e35141d413bfb1aad650217e1ca07d85646c349 Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-23VPP-424 fix lldp_main declarationKlement Sekera1-1/+1
Change-Id: I1f30977f0b315fa72d73a29a8585b1711d5044d8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-23Fix detection of packet output via BVI into a BD and SHG adjustmentJohn Lo3-9/+13
In BVI output node, set a signature value in packet buffer field sw_if_index[VLIB_TX] so l2-input node can reliably check that packet came into a BD through BVI so it can set the SHG of the packet to 0 for a unicast packet. Change-Id: I301aa2896677e11d0c964ca476dddcb5a8804fc2 Signed-off-by: John Lo <loj@cisco.com>
2016-09-23Enable doc building on MacOSChris Luke2-1/+28
Simple tweak to the Makefiles to allow "make doxygen" to work natively on Macs - assuming the appropriate things have been installed first, which it tests for. Change-Id: I1a3e72759d533270a0512de38595c3bc3f71dee0 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-22l2_output: fix packet drop error reporting when mapping is in progressDamjan Marion1-1/+11
Change-Id: I64aa4c28e87e82a742313e9b89409c957fa62101 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-22Fix lisp-cp table_id lookup for punted packetsFlorin Coras1-6/+6
Change-Id: Ibe6f8c6fadb2e467353bafebffde04bc6eb72af3 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-22VPP-189: fix coverity issue in api_format.cFlorin Coras1-2/+3
Change-Id: I8cf3bb27bc699be3b8de781ea84db4c7fb3c7553 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-22vhost-user: branchless SSE4.2 implementation of map_guest_mem()Damjan Marion2-0/+45
Change-Id: I64349830c1f7534a8d090572e9473c51c0818e51 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-22VPP-426: Rename parameter in LISP remote mapping VAT commandFilip Tehlar1-1/+1
Change-Id: Ie52243bd1654e3d0663b09bd1f21e8c15e93f07d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-22vhost-user: remove dependency on dpdk codeDamjan Marion2-16/+24
Change-Id: I48908e0fa010570aefc43dd552ee81ee69fc2796 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-21Refactor pre-Doxy siphon scripts; VPP-396Chris Luke28-660/+1580
- Modularize the code to make the Siphon process easier to maintain. - Move much of the output rendering into Jinja2 templates. - Add syscfg siphon type for startup config documentation. - Add sample syscfg documentation. - Add clicfg and syscfg preamble docs, adapted from their wiki pages. - Fix sorting of CLI items across multiple directories. Change-Id: Ib8288fe005adfea68ceed75a38ff8eba25d3cc79 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-21vpp python api - fix vla pack generationGabriel Ganne1-20/+15
This fixes commit 1732fc1ab851c454a74efda47a383f48691d545a. Change-Id: I3d9f1384c20d2ca22eaf2aae553455789b934b6e Signed-off-by: Gabriel Ganne <gabriel.ganne@qosmos.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns197-11938/+40383
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-21Move doxytags file to html output directoryChris Luke1-1/+1
So that downstream projects can make use of the generated Doxygen tags file, move it into the html directory that is transferred to Nexus. Change-Id: I04dc4777c9ea62f429f783f66ef4e2ecb2923131 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-21VPP-414: Fixed IPSec transport mode in esp_encrypt.cMatus Fabian1-2/+5
Change-Id: I27accb0c87d6bf2fbbe90d8d1bc074697299e639 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-09-21Copy the 16.09 release notes to masterChris Luke3-7/+213
- Copy the 16.09 release notes to master - Add some notes for 16.06 (from the press release) - Add some structure around notes for each release - Add skeleton for next release Change-Id: Id5a5d8bf02fce1bbaed303e6c6e4f8908c7e7d75 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-21dpdk: fix wrong tx ring size calculationsDamjan Marion4-27/+22
At many places code was using constant ring size od 4096 which was defined in macro DPDK_TX_RING_SIZE. As we support differnet ring size and default value s now 1024, we need to remove DPDK_TX_RING_SIZE and use value stored in device structure. For that reason dpdk_device_t.nb_tx_desc is moved to first cacheline. Change-Id: I2c2ac11f0f5e8ae779d34f9a9104eaf2921ec34c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20dpdk: move number of sub-interfaces to 2nd cacheline, introduce flagDamjan Marion3-20/+32
This saves 2 bytes from the 1st cacheline. Change-Id: I691a3a0ee07ec2db4ae85b96b451ef53ad8c9458 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20dpdk: use flags for identifying interface typesDamjan Marion8-42/+36
This will allow us to handle some more complex situations like in case when hqos needs to be enabled only for some PMDs. Change-Id: I5421a8d4cf29b8394b9e956cc4e39737dd07dbbb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20Use SSE instructions for matching tagged frames by ethertypeDamjan Marion3-8/+29
This change improves performance in l2 scenarios for about 1-2%. Change-Id: Ie35ed8ad70a3b95dd78c0d158c485a10dabaf0eb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20VPP-419 add thread-safety to LLDP featureKlement Sekera2-30/+90
Change-Id: I3b1153a64674c2caef71c968739ecca6512e9929 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-20fd closed twiceEyal Bari4-5/+8
fd close()ed after call to unix_file_del of same fd Change-Id: Ia8bf77b72b6cea7c70e004199ce11a33b6260720 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-09-20Added volatile to local variables needed by setjmpEyal Bari1-2/+2
Function vlib_main uses nonlocal control transfer (setjmp, longjmp), local variables might be mapped to cpu registers which might be different when longjmp'ing back to it. Added volatile to keep those variables on the stack. to fix vpp crash when exiting via SIGTERM. Change-Id: I03e836966c68a966a84d635bc1f7b3a3c252f3ea Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-09-20VPP-282: Document changes for vnet/vnet/ethernetBilly McFall3-32/+146
Change-Id: Ie75f43516fdd76ba3720f65f38d66f14749e3e2d Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-20VPP-189: fix coverity issue in api_format.cFilip Tehlar2-1/+9
Change-Id: Ib16fd69abe93c1afb2ee1d38144763f57888585c Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-20VPP-348 Return empty DumpReply instead of nullMaros Marsalek5-44/+98
Change-Id: If44f8d37649e5a9d5033ec2c0ab7452397e22691 Signed-off-by: Maros Marsalek <mmarsale@cisco.com>