Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
Change-Id: Ib785a2ffd2fcbe3a836dd59ad419bcc2fa298686
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
|
|
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>
|
|
Change-Id: I896aed32499cd7159c4b6f3b165cab4e579f6153
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: Iab579c4a7e615c723d10acf0532490cdaa6db05a
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: If76ef977e3914b51da0d6bb5e4089acb0bd67baa
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
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>
|
|
Change-Id: Ie69837fd6903b715cb7b840b67c869a9b12c84a7
Signed-off-by: Pavel <pavel.kotucek@pantheon.tech>
|
|
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>
|
|
Change-Id: Ie13f92a21ed8b81775b1e9cbbf2619e752ab6a04
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
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>
|
|
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>
|
|
Change-Id: I122aa8edfb16a433a8ccdfb72ee8463c48c56d6d
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Change-Id: I88a8038a36e7e5060f354cd66a2532ef8c996b67
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
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>
|
|
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>
|
|
Change-Id: Iac68b38dda1a0f9e2242f9eab5b03e44bbcac269
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: Icfd91cca3cd686e5efa8a988f04483238605e1cb
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Change-Id: Ie642d15d2843f02a01448afe91aa7311e6131047
Signed-off-by: Oleg A. Arkhangelsky <sysoleg@yandex.ru>
|
|
Change-Id: Ia0e228d02fd9f180ed9ca468074ab38d575e415e
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
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>
|
|
Change-Id: I9fb4f4babecbe02d171f38c4d089634e90141937
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
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>
|
|
Change-Id: Iec5ebadf120f742f43a681c4d394aa97ad2ae1e1
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
This should be coming from string.h.
Change-Id: Id88bb1d2a4681a9dcf6db9c7de2580a5219869d1
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
GetStringUTFChars() can fail, returning NULL. Make sure we do not trip
over it.
Change-Id: I2d6b9c72c353c2423042fd035087f0d57fdc08ca
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Allocation of the integer array may fail, guard against NPE.
Change-Id: I3e860153597638392c9b669a6ad586fd2e03a64d
Signed-off-by: Robert Varga <nite@hq.sk>
|
|
Change-Id: I9255c75b6c6cbc638cdcc411632a924cb06f28c0
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
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>
|
|
Change-Id: I642c4b8e83dd07708658a10ad46e9fd2c28a7f1f
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: Ie3431986ddb42db8d331fcb3d34250a6ec9d9a02
Signed-off-by: Damjan Marion <damarion@cisco.com>
|
|
Remove multi-q support patch for DPDK-2.1.0
Change-Id: I685f3886b3883803210221682fa80353670a6970
Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
|
|
Change-Id: I7b0aa42a61607d4d30fe3627032d3837b2838982
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
vppConn.java in commit #169
Change-Id: Id9feaebdce199f239741a10d31bf7aa473a62806
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
|
|
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>
|
|
Change-Id: I63da892d1c4148a54ea33c172986c854932beb01
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
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>
|
|
Change-Id: I23dae9e13f6c2ec7b3326710a40f28984ff6fe1f
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
|
|
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>
|
|
Change-Id: I3274c8d426113c71fbb900978b94caef85eabae1
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
There are multiple enhancement opportunities...
Change-Id: I976772dc3802f8284e8c6457c001d68184831e25
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
Change-Id: I4b65b29f9291b3fd47e05576d9a0789af8912982
Signed-off-by: Dave Barach <dave@barachs.net>
|
|
This can cause packets to be mishandled in systems with more than
one type of driver in use.
Change-Id: I73ae91ff5d7a22fa542c3b39f6ccfe50437ec71b
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
|
|
Some applications may wish to define their own implentation of
usec delay other than the existing blocking one. The default
behavior remains unchanged.
Change-Id: I699b2ed460763492502d22b7e8532514e0886ecd
Signed-off-by: Todd Foggoa <tfoggoa@cisco.com>
|