summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-03-03Change default L3 MTU to allow jumbo packets for non-DPDK interfaces.John Lo2-2/+2
Note that L3 MTU for DPDK interfaces is derived from DPDK port_conf in vnet/devices/dpdk/init.c. Change-Id: I9633a1887347a18d05598435baceb6a62cd7b19a Signed-off-by: John Lo <loj@cisco.com>
2016-03-03Copy flags when cloning next_framesNikhil P Rao1-0/+6
The VLIB_FRAME_NO_FREE_AFTER_DISPATCH flag is not preserved when cloning next_frames, as a result VLIB_FRAME_FREE_AFTER_DISPATCH can erroneously be set for a frame (see vlib_get_next_frame_internal()) Change-Id: Ice1d7ddcb807e1168aa0c157d9474be492d102c2 Signed-off-by: Nikhil P Rao <nikhil.rao@intel.com>
2016-03-03Use CRC32 instruction only when build for SSE4.2 enabled platformsDamjan Marion1-1/+1
This fixes SIGILL crash observed on Penryn CPU Change-Id: I960878d88f0f088847d4d86605ef082f6600e2c7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-03Fix UDP length check for local IP/UDP lookup and error handling.John Lo1-10/+21
Change-Id: If6695e19e5a1e5471e56099e2cf31794c73f3303 Signed-off-by: John Lo <loj@cisco.com>
2016-03-02TAP: Jumbo-frame support.Ole Troan4-75/+79
Change-Id: I3a0726d7645f775738253d0a47ee04d94d138c9a Signed-off-by: Ole Troan <ot@cisco.com>
2016-03-02Always showing DPDK physical memory on bootupTodd Foggoa1-17/+2
Fixing a previous commit to remove the commandline option and just always display the DPDK physical memory on startup. Also remove the DPDK args for the dbeug image. Change-Id: I9336a2a26ebab84c3b50ae0610025c29da7995f2 Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
2016-03-02Add rotates to v6 worker hash to prevent SIP/DIP synchronizing.Bud Grise1-3/+3
Change-Id: Ibe8ec6271b3f04290a60c0145e59a01d3130500f Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-02Remove spurious call to unix_physmem_init(...)Dave Barach2-13/+0
It turns out that unix_physmem_init(...) has been effectively disabled for a very long time. The vnet library supplied a weak symbol override for the vlib_app_physmem_init(...) which returned 1, meaning "do nothing." When we switched libvnet.a -> libvnet.so, the symbol override stopped working. Presto: unix_physmem_init(...) romps all over the data set up by vlib_buffer_pool_create(...), leading to ASSERT failures and/or bus errors, but only when using worker threads. Even then, the failure depended in some complicated way on library dynamic load order. We should remove .../vlib/vlib/unix/physmem.c entirely once we're sure we'll never want it back. Change-Id: I27747edbeb0de88d2f2d8728f7f8eb3135e7f0cf Signed-off-by: Dave Barach <dave@barachs.net>
2016-03-01Dump DPDK physmem to stdout before allocating mbufsSean Hope1-0/+19
Change-Id: I9dac27dc8b6b95cfb0ee77e3cff18240b4ec21d6 Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-01Add ability to filter and change MACsChristian Dechamplain3-1/+42
Added new functions to change the MAC address and filter multicast MAC addresses. Change-Id: Iddf518e57dc889800a2f706fda51ee4e5c5142f2 Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-03-01Fix for TX and RX descriptor queue lockupGeorgi Savov2-12/+38
On admin up/down changes the TX and RX queues were getting locked up for VNET_DPDK_PMD_VMXNET3 interfaces. The fix is to ensure the interface is in admin down before touching the hardware. Change-Id: Ia264d95355a860607bff7ada00d2be48f91e6dd9 Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-02-29Add ability to override the interface name.Sean Hope4-12/+54
Export interface format functions to plugin and allow ability to show a single hardware interface index. Change-Id: If52fae2d63e97da91e1ac9a9a6fb73389b526ebc Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-02-29Fixed vxlan link status.Pavel Kotucek1-0/+12
Vxlan interface link status corresponds to admin status. When vxlan interfcae is set "admin-up" link status is "link-up" and if interface is set "admin-down" link status is "link-down" also. Change-Id: Iaa85fa8dcd672519312cc7ee6a17df6f4498259d Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-02-29-O3 warnings be goneDave Barach3-3/+3
Note that compiling -O3 doesn't improve performance as of this writing, might as well clean up warnings in any event. Change-Id: Ic2f4982d12fbbf36f5324075183982731759dc94 Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-27Invert matching logic for *_uses_dpdk in build-data/packages/*.mkDamjan Marion3-3/+3
Change-Id: If07a74afd92196c035d720cedaac36493a09e400 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-02-26Add packet tracing hintBud Grise3-27/+40
This avoids checking the buffer flags bit if tracing is not enabled. Change-Id: I32e1a90b5fd10318254c611344488bc2a441c71e Signed-off-by: Todd Foggoa (tfoggoa) <tfoggoa@cisco.com>
2016-02-26Fixed issue with json output in vpp_api_test.Pavel Kotucek1-1/+2
When it runs 'exec' command string "(nil)" is appended to the end of the console output. Change-Id: I7cdae78b2166829dd2160e92ed8181203eb491ed Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-02-26Fix ENIC PMD not sending the first packet on TX.John Lo1-0/+26
Change-Id: I615e9ca6f445092baa211098eb64f9553dd4c407 Signed-off-by: John Lo <loj@cisco.com>
2016-02-26Fix link bonding PMD slave status polling path used by VIC ENIC driver.John Lo1-0/+34
Change-Id: Ic9fc952b618477beb246974b33d753bf6fd47dde Signed-off-by: John Lo <loj@cisco.com>
2016-02-26Update PowerPC (qppc) platform to build with Ubuntu cross-toolsDamjan Marion7-135/+22
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 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>