aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-02-26Add support for native vpp_lite (non-dpdk) platformDamjan Marion19-50/+105
Change-Id: Icaa71957f67b923bc9795baa78c7495055615672 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Move dpdk (un)format functions to separate c fileDamjan Marion7-767/+806
Change-Id: Idb1b1bf6c1b3b3d66672cc715e45aec299fb7592 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-25Add support of Ethernet link bonding utilizing DPDK link bondingJohn Lo4-4/+63
poll mode driver library. The bonded interfaces to be created on VPP startup is specified in the dpdk section of startup.conf or qn.conf, using DPDK EAL command. Following is an example of a dpdk section white listing PCI addressses of 4 ethernet interfacess to be under VPP control plus two bonded interface and the PCI addresses of the slaves in each: dpdk { socket-mem 1024,1024 dev 0000:0f:00.0 dev 0000:10:00.0 dev 0000:11:00.0 dev 0000:12:00.0 vdev eth_bond0,mode=2,slave=0000:0f:00.0,slave=0000:11:00.0,xmit_policy=l34 vdev eth_bond1,mode=2,slave=0000:10:00.0,slave=0000:12:00.0,xmit_policy=l34 } Note that only balance XOR (mode 2) is supported and "xmit_policy=l34" specifies to use layer 3 SIP/DIP and layer 4 Sport/Dport for load balance. Using "xmit_policy=l2" for SMAC/DMAC or "xmit_policy=l23" for SMAC/DMAC and SIP/DIP should also work. Change-Id: Iaf6438686fa20cce893cb5a823b76e2886b4360b Signed-off-by: John Lo <loj@cisco.com>
2016-02-25add install-dep target to toplevel MakefileDamjan Marion1-0/+9
Change-Id: I9dbe6676086ef083729bec1774f544498d1ec3e5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-25Fix indexing error in init.c for vnet dpdk.John Lo1-2/+2
Change-Id: I1bab9e8cf428b0d27edf98fa54ffc3edc32fd4f5 Signed-off-by: John Lo <loj@cisco.com>
2016-02-25Add live migration support to (non-dpdk) vhost-user driverYoann Desmouceaux2-8/+144
This patch adds live migration support to vhost interfaces, by supporting the VHOST_F_LOG_ALL feature. When qemu starts a migration, it will negotiate this feature, and provide a fd for a "dirty log" shared mem space. This log is a bitmap representing pages in the device memory. Whenever we touch memory pointed by a "desc" vring, or modify a "used" vring, we log the corresponding page in the bitmap. This allows qemu to send the dirty page to the destination host. See https://github.com/qemu/qemu/blob/master/docs/specs/vhost-user.txt, ยง "Live migration" for more details. In addition to this, this code provides support for the VHOST_USER_F_PROTOCOL_FEATURES feature, and to VHOST_USER_{GET,SET}_PROTOCOL_FEATURES and VHOST_USER_SET_VRING_ENABLE messages, required for live migration. Change-Id: I7577efce8bd67653218f4291af1d651de451e552 Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-24Link the vpp application against libvnet.so, not libvnet.aDave Barach11-113/+56
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-24Enable all vrings if PROTOCOL_FEATURES are not negotiatedShesha Sreenivasamurthy2-5/+23
Change-Id: Ib785a2ffd2fcbe3a836dd59ad419bcc2fa298686 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-24Handle dynamic enable/disable VHOST_USER interfaceShesha Sreenivasamurthy4-11/+29
If number of Qs enabled by the guest is less than number of Qs exported to guest, then all threads route packet to Q0 with the assumption that guest is not interested in performance. If all Qs are enabled, each thread queues packet in their own TX-Q of the VHOST_USER interface, boosting performance. Change-Id: Ic24bb8c0505b11c7513aeecd21c9ec5da5f90138 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-23Few improvements in toplevel MakefileDamjan Marion1-4/+14
Change-Id: I896aed32499cd7159c4b6f3b165cab4e579f6153 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23Enable DPDK KNI code based on DPDK configDamjan Marion4-1/+16
Change-Id: Iab579c4a7e615c723d10acf0532490cdaa6db05a Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-23Fix warnings in vhost-user code with older version of DPDKDamjan Marion1-1/+5
Change-Id: If76ef977e3914b51da0d6bb5e4089acb0bd67baa Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-22dpdk: fix enic pmd driver tx functionYoann Desmouceaux1-0/+28
Adding a patch to fix DPDK 2.2.0 enic PMD driver TX function. The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet. Change-Id: Ic4f3be83865367306785a57e2694e0ccfa295c7b Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-22Added MTU information to sw_interface_dumpPavel6-3/+13
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7 Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
2016-02-19Rebalance checkConnected()Robert Varga1-8/+9
AtomicBoolean forces the enclosed boolean to be cache-aligned, needlessly hitting a cacheline. Since we only flip state only once, when the connection is severed, we can turn this into a volatile boolean. Doing that is costing us a synchronized close(), but that is perfectly acceptable, as that is called only once. Change-Id: I76fda3d3f65a5f800e7d3970b0b8fe99fb3e8b6d Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-19Handle dpdk packet_types properlyDamjan Marion2-14/+45
Change-Id: Ie13f92a21ed8b81775b1e9cbbf2619e752ab6a04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-19Add custom mac address option to vhost interfaces.Pierre Pfister7-15/+44
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 Barach7-5/+398
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 Barach12-6/+1690
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-19dpdk: fix enic pmd driver tx functionYoann Desmouceaux1-0/+28
Adding a patch to fix DPDK enic PMD driver TX function. The enic PMD driver send function uses a constant offset instead of relying on the data_off in the mbuf to find the start of the packet. Change-Id: I74dbcce949f08e39070a369d992a90586af140a6 Signed-off-by: Yoann Desmouceaux <ydesmouc@cisco.com>
2016-02-19Add GDB and GDB Server to bootstrap filesKeith Burns (alagalah)2-1/+5
Validated following images used do not contain gdb, gdbserver: puppetlabs/centos-7.0-64-nocm puppetlabs/ubuntu-14.04-64-nocm Note that centos7 does not include emacs Change-Id: I091a64a7c667e081574763537de724f9feaae0dc Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-02-18Add jumbo frames support to non-dpdk vhost interfaces.Pierre Pfister4-290/+394
This code provided inter-VM (2 cores per VM) throughput of 22Gbps using iperf through VPP (1 core) with 9k frames. With the same setup and pktgen running on both sides, it reached 5Mpps with no packets drop (Equivalent to before the patch). During the tests the average vector length was about 1, which likely means that VPP is not the bottleneck. The patch also includes some generic functions for vlib buffers allowing for chained buffer construction whether or not DPDK is enabled. Change-Id: Icfd1803e84b2b4578f305ab730576211f6242d6a Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-02-16Increase number of per-cpu mheaps to 256Damjan Marion3-2/+8
It also includes check to ensure that number of per-cpu mheaps is not lower than number of cpus. Change-Id: Ibc68b34dda130f922243f9ea15b03e44bbcac269 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-16Remove vec_sort macroDamjan Marion1-27/+0
vec_sort macro was using gcc proprietary nested functions that require a executable stack and they are considered as unsafe. Also, nested functions are not supported by other compilers. vec_sort_with_function() should be used instead. Change-Id: I05959da63d222ec71c090ba63420b427ce10c79b Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-16Show DPDK EAL cmdline args in 'show version verbose'Damjan Marion3-5/+16
Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-15Disable for-us udp/tcp checksum validation by defaultDave Barach3-4/+28
This patch alters behavior for dpdk rx packets. Depending on test results, it may be necessary to extend the scheme to packets received on non-dpdk paravirtualized interfaces, and packets originating in the vpp stack itself. Change-Id: I8444232a90ff176e7d6a688e36801174575251a1 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-14Implement multiple TX queue sharingDamjan Marion4-21/+46
Maximum number of TX queues ca be defined by NIC driver or configured manualy with 'dpdk { max-tx-queues X }'. If system have more worker threads than TX queues they will be shared between them. Before this change only one tx queue was used in such cases. Change-Id: Iab68170ab45fa6b9925fc4e79ccab9222f095e7e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-14Increase VLIB_MAX_CPUS to 256Damjan Marion3-9/+7
Change-Id: Iac68b38dda1a0f9e2242f9eab5b03e44bbcac269 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-14Make size of per-thread mini counter vector equal to number of threadsDamjan Marion2-38/+30
Change-Id: Icfd91cca3cd686e5efa8a988f04483238605e1cb 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-13Increase number of dpdk lcores to 256Damjan Marion1-0/+1
Change-Id: Ia0e228d02fd9f180ed9ca468074ab38d575e415e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-12Fix ARP show exception when not ARP entries as found.Keith Wiles1-8/+11
The fix tests if the ARP table exist before attempting to interate over the entries. Change-Id: I22cad5ba3a01c3fba1feac33745a29ff1f7f8fe1 Signed-off-by: Keith Wiles <keith.wiles@intel.com>
2016-02-12Performance tools, initial check-inDave Barach32-0/+11385
Change-Id: I9fb4f4babecbe02d171f38c4d089634e90141937 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-11Pull in some additional symbols that may be needed by plugins.Josh Gahm1-0/+4
Ensure that some additional rte_* symbols (from the dpdk library) and pulled into the vpp image so that they will be available to plugins. Also, provide vlib's dpdk configuration function so that plugins that need to make dpdk calls during initialization/configuration may ensure that dpdk itself is initialized first. Change-Id: Iff8b518c6fc23e9e2f24a85944e5b246c80e5f67 Signed-off-by: Josh Gahm <jgahm@cisco.com>
2016-02-11Use vppinfra bitmap for dpdk coremaskDamjan Marion2-7/+29
Change-Id: Iec5ebadf120f742f43a681c4d394aa97ad2ae1e1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-10Remove strcasecmp(3) declarationRobert Varga1-1/+1
This should be coming from string.h. Change-Id: Id88bb1d2a4681a9dcf6db9c7de2580a5219869d1 Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-10GetStringUTFChars() may failRobert Varga1-25/+41
GetStringUTFChars() can fail, returning NULL. Make sure we do not trip over it. Change-Id: I2d6b9c72c353c2423042fd035087f0d57fdc08ca Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-10newIntArray() may failRobert Varga1-1/+4
Allocation of the integer array may fail, guard against NPE. Change-Id: I3e860153597638392c9b669a6ad586fd2e03a64d Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-10Compile with -Werror, so Jenkins will catch warningsDave Barach2-5/+5
Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10Indent vppjni.c to be consistentRobert Varga1-775/+755
Pure cleanup of indentation and brace placement, so the file ends up being consisteny. Change-Id: Idd2f20deda486d16b455f3e13cacbc2f3baa50f1 Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-10Replace AC_PROG_LIBTOOL with LT_INITDave Barach11-12/+10
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-10Add Top-Level Wrapper MakefileDamjan Marion1-0/+141
Change-Id: Ie3431986ddb42db8d331fcb3d34250a6ec9d9a02 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-10Vhost multi-q supportShesha Sreenivasamurthy5-115/+415
Remove multi-q support patch for DPDK-2.1.0 Change-Id: I685f3886b3883803210221682fa80353670a6970 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-02-10Clean up gcc-5.2 warningsDave Barach17-108/+75
Change-Id: I7b0aa42a61607d4d30fe3627032d3837b2838982 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-09Modify hand-coded JNI function names to match refactoring ofDave Wallace1-19/+19
vppConn.java in commit #169 Change-Id: Id9feaebdce199f239741a10d31bf7aa473a62806 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2016-02-09Make cleanup_rx_thread staticRobert Varga1-1/+1
The symbol is not referenced outside of the source file, hide it from the world. Change-Id: Id5db73efff0767657ebc5a0b25dcccd2b85e354d Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-09Disable EAL message spew which can easily fill /var/logDave Barach1-0/+26
Change-Id: I63da892d1c4148a54ea33c172986c854932beb01 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-09Mark internal implementation functions as hiddenRobert Varga1-5/+5
Adding hidden attribute results in compilation failure if the symbol is not found when linking the .so. It should also lead to better performance, as it side-steps GOT. Change-Id: I7b6f39e663ca2b3e432669a3e2b36d7395f555b6 Signed-off-by: Robert Varga <nite@hq.sk>
2016-02-09SFF NSH support VXLAN GPEKeith Burns (alagalah)1-15/+115
Change-Id: I23dae9e13f6c2ec7b3326710a40f28984ff6fe1f Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-02-09Fixup symbol names in vpp-japiRobert Varga1-4/+4
There is skew between symbol names of vppjni_env.[ch], causing the library to fail to load. This patch fixes that up. Change-Id: I972e6d0ce72fd05ee3518e7161e20946ff3426ca Signed-off-by: Robert Varga <nite@hq.sk>