+-+-+-+--+--+--+--+
||
||
++
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_rxtx.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
index dcc4524..b4d268d 100644
With fixed avail ring, we don't need to get desc idx from avail ring.
virtio driver only has to deal with desc ring.
This patch uses vector instruction to accelerate processing desc ring.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 2 +
drivers/net/virtio
bulk free of mbufs when clean used ring.
shift operation of idx could be further saved if vq_free_cnt means
free slots rather than free descriptors.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.h | 3 ++
drivers/net/virtio/virtio_rxtx.c| 9
drivers/net
fill avail ring with blank mbufs in virtio_dev_vring_start
Signed-off-by: Huawei Xie
---
drivers/net/virtio/Makefile | 2 +-
drivers/net/virtio/virtio_rxtx.c| 14 +-
drivers/net/virtio/virtio_rxtx.h| 3 ++
drivers/net/virtio/virtio_rxtx_simple.c | 84
Select simplified rx/tx when mergable isn't enabled and there is no
offload flags specified.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 16 +---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c
b/drivers/net
When we migrate VM, without this feature, qemu will report error:
"migrate: Migration disabled: vhost lacks VHOST_F_LOG_ALL feature".
Signed-off-by: Krishna Murthy
---
lib/librte_vhost/virtio-net.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git
of vring
descriptors, so we will try to reallocate virtio_net and vhost virt queue to
the same numa node.
Huawei Xie (2):
use rte_malloc/free for virtio_net and virt_queue memory data allocation/free
When we get the address of vring descriptor table, will try to reallocate
virtio_net device
use rte_malloc/free for virtio_net and virt queue allocation/free
Signed-off-by: Huawei Xie
---
lib/librte_vhost/virtio-net.c | 19 ++-
1 file changed, 10 insertions(+), 9 deletions(-)
diff --git a/lib/librte_vhost/virtio-net.c b/lib/librte_vhost/virtio-net.c
index 4672e67
When we get the address of vring descriptor table in VHOST_SET_VRING_ADDR
message,
will try to reallocate virtio_net device and virtqueue to the same numa node.
Signed-off-by: Huawei Xie
---
config/common_linuxapp| 1 +
lib/librte_vhost/Makefile | 4 ++
lib/librte_vhost/virtio
positive return of rte_eal_pci_probe_one_driver means the driver doesn't support
the device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
---
lib/librte_eal/common/eal_common_pci.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/common
v4 changes:
reword the commit message. When we mention kernel driver, emphasizes
that it includes UIO/VFIO.
Use RTE_KDRV_NONE to indicate that kernel driver(including UIO/VFIO)
isn't manipulating the device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
---
lib/librte_eal/linuxapp/eal
In this implementation, while() loop is used because we could not assume
count is strictly positive. Using while() loop saves one line of check.
Signed-off-by: Gerald Rogers
Signed-off-by: Huawei Xie
Acked-by: Konstantin Ananyev
Acked-by: Olivier Matz
---
doc/guides/rel_notes/release_16_04.rst
io PMD uses port IO to configure the device.
Huawei Xie (4):
eal: make the comment more accurate
eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't manipulating the device.
virtio: return 1 to tell the kernel we don't take over this device
virtio: check if any kernel driver is manipu
Signed-off-by: Huawei Xie
---
lib/librte_eal/common/eal_common_pci.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_pci.c
b/lib/librte_eal/common/eal_common_pci.c
index dcfe947..bbcdb2b 100644
--- a/lib/librte_eal/common
Use RTE_KDRV_NONE to indicate that kernel driver isn't manipulating
the device.
Signed-off-by: Huawei Xie
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib
conflict between virtio PMD and virtio-net kernel driver.
This patch checks if there is any kernel driver manipulating the virtio
device before virtio PMD uses IO port to configure the device.
Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource")
Signed-off-by: Huawei Xie
---
d
v2 changes:
Remove unnecessary assignment of NULL to dev->data->mac_addrs
Ajust one comment's position
if virtio_resource_init fails, cleanup the resource and return 1 to
tell the upper layer we don't take over this device.
return -1 means error and DPDK will exit.
Signed-off-by: Huaw
Signed-off-by: Huawei Xie
---
app/test-pmd/cmdline.c | 12 ++--
app/test-pmd/config.c | 2 +-
app/test-pmd/flowgen.c | 2 +-
app/test-pmd/mempool_anon.c| 12 ++--
app/test-pmd/testpmd.h
of a port.
The atomic cmpset is a costly operation. This patch should help
performance a bit.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 86 +--
1 file changed, 25 insertions(+), 61 deletions(-)
diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib
.
This patchset will not provide this symmetric implementation.
Huawei Xie (2):
mbuf: provide rte_pktmbuf_alloc_bulk API
vhost: call rte_pktmbuf_alloc_bulk in vhost dequeue
doc/guides/rel_notes/release_2_3.rst | 3 ++
lib/librte_mbuf/rte_mbuf.h | 55
count is strictly positive. Using while()
loop saves one line of check if count is zero.
Signed-off-by: Gerald Rogers
Signed-off-by: Huawei Xie
Acked-by: Konstantin Ananyev
---
doc/guides/rel_notes/release_2_3.rst | 3 ++
lib/librte_mbuf/rte_mbuf.h | 55
v4 changes:
fix a silly typo in error handling when rte_pktmbuf_alloc fails
reported by haifeng
pre-allocate a bulk of mbufs instead of allocating one mbuf a time on demand
Signed-off-by: Gerald Rogers
Signed-off-by: Huawei Xie
Acked-by: Konstantin Ananyev
Acked-by: Yuanhan Liu
Tested
v2 changes:
add missed commit message in v1
fix the error reported by checkpatch:
"ERROR: return is not a function, parentheses are not required"
also removed other extra parentheses like:
"return val == 0"
"return (rte_mempool_lookup(...))"
Signed-off-by:
enthesis after return")
Signed-off-by: Huawei Xie
---
app/test-pmd/cmdline.c | 12 ++--
app/test-pmd/config.c | 2 +-
app/test-pmd/flowgen.c | 2 +-
app/test-pmd/mempool_anon.c
roblem is kernel driver is still manipulating the
device, which causes driver conflict.
This patch checks if there is any kernel driver manipulating the
virtio device before virtio PMD uses port IO to configure the device.
Huawei Xie (4):
eal: make the comment more accurate
eal: se
positive return of rte_eal_pci_probe_one_driver means the driver doesn't
support the device.
Signed-off-by: Huawei Xie
---
lib/librte_eal/common/eal_common_pci.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal/common/eal_common_pci.c
b/lib/librte_eal
Use RTE_KDRV_NONE to indicate that kernel driver isn't manipulating
the device.
Signed-off-by: Huawei Xie
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib
v2 changes:
Remove unnecessary assignment of NULL to dev->data->mac_addrs
Ajust one comment's position
if virtio_resource_init fails, cleanup the resource and return 1 to
tell the upper layer we don't take over this device. -1 means error
which will cause DPDK to exit.
Signed-off-by:
if there is any kernel driver manipulating the virtio
device before virtio PMD uses IO port to configure the device.
Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource")
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 5 +
1 file changed, 5 insertions(+)
diff --git
We keep a common vq structure, containing only vq related fields,
and then split others into RX, TX and control queue respectively.
Signed-off-by: Huawei Xie
---
v2:
- don't split virtio_dev_rx/tx_queue_setup
v3:
- fix some 80 char warnings
- fix other newer version checkpatch warnings
- remove
sition
change LOG level from ERR to INFO
Huawei Xie (6):
eal: make the comment more accurate
eal: set kdrv to RTE_KDRV_NONE if kernel driver isn't managing the device.
eal: use new RTE_ARCH_X86 macro for x86 arch
eal: simple code rework
eal: map IO port only when kernel driver isn't ma
positive return of devinit of pci driver means the driver doesn't support
this device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/common/eal_common_pci.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_eal
Use RTE_KDRV_NONE to indicate that kernel driver (other than VFIO/UIO) isn't
managing the device.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index b44fa32
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 6 +-
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index dc0aa37..4ede4cb
call rte_eal_pci_ioport_map (on x86) only if the pci device is not bound
to a kernel driver.
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
lib/librte_eal/linuxapp/eal/eal_pci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal
.
For all other IO port mapping errors, return -1.
Note than if VFIO/UIO fails, now we don't fall back to port IO.
Fixes: da978dfdc43b ("virtio: use port IO to get PCI resource")
Signed-off-by: Huawei Xie
Acked-by: Yuanhan Liu
Acked-by: David Marchand
---
drivers/net/virtio/virtio_eth
eliminate unnecessary cache to cache transfer between virtio and vhost
core
---
drivers/net/virtio/virtqueue.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtqueue.h b/drivers/net/virtio/virtqueue.h
index 4e9239e..8c46a83 100644
---
check merge-able header as it is supported.
previously we don't support merge-able feature, so non merge-able
header is checked.
---
drivers/net/virtio/virtio_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c
for
performance reason of CACHE), in which descriptors are allocated
from the head and freed to the tail, with this patch in most cases
avail ring will remain the same, then it would be valid in both caches
of frontend and backend.
Signed-off-by: Huawei Xie
Suggested-by: ms >> Michael S. T
check merge-able header as it is supported.
previously we don't support merge-able feature, so non merge-able
header is checked.
v2:
add missed signoff
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers
This patch fixes code style issues and refines some comments in vhost library.
---
lib/librte_vhost/eventfd_link/eventfd_link.c | 244 ++---
lib/librte_vhost/eventfd_link/eventfd_link.h | 127 ++-
lib/librte_vhost/rte_virtio_net.h| 3 +-
This patch fixes code style issues and refines some comments in vhost library.
---
lib/librte_vhost/eventfd_link/eventfd_link.c | 244 ++---
lib/librte_vhost/eventfd_link/eventfd_link.h | 127 ++-
lib/librte_vhost/rte_virtio_net.h| 3 +-
This patch fixes code style issues and refines some comments in vhost library.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/eventfd_link/eventfd_link.c | 244 ++---
lib/librte_vhost/eventfd_link/eventfd_link.h | 127 ++-
lib/librte_vhost/rte_virtio_net.h
fixes alignment issues, lengthy lines, misordered type and other coding style
issues.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/eventfd_link/eventfd_link.c | 244 ++---
lib/librte_vhost/eventfd_link/eventfd_link.h | 127 ++-
lib/librte_vhost/rte_virtio_net.h
printk -> pr_debug
Signed-off-by: Huawei Xie
---
lib/librte_vhost/eventfd_link/eventfd_link.c | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/librte_vhost/eventfd_link/eventfd_link.c
b/lib/librte_vhost/eventfd_link/eventfd_link.c
index 542ec2c..7755dd6 100
This patchset fixes serious coding style issues in vhost library.
Huawei Xie (2):
fix alignment, lengthy lines, misordered type and other style issues
printk -> pr_debug
lib/librte_vhost/eventfd_link/eventfd_link.c | 244 ++---
lib/librte_vhost/eventfd_link/eventfd_lin
This patch supports new VMDQ API in vmdq example.
v2 changes:
* code rebase
* allow app to specify num_pools different with max_nb_pools
* fix serious cs issues
Huawei Xie (2):
support new VMDQ API in vmdq example
fix cs issues in vmdq example
examples/vmdq/main.c | 233
for each pool
explicitly.
Signed-off-by: Huawei Xie
---
examples/vmdq/main.c | 169 +++
1 file changed, 103 insertions(+), 66 deletions(-)
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index c51e2fb..5a2305f 100644
--- a/examples/vmdq
Signed-off-by: Huawei Xie
---
examples/vmdq/main.c | 64 +---
1 file changed, 36 insertions(+), 28 deletions(-)
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index 5a2305f..e60b671 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq
">> 5" rather than ">> 4"
Signed-off-by: Huawei Xie
---
lib/librte_pmd_i40e/i40e_ethdev.c | 7 ++-
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c
b/lib/librte_pmd_i40e/i40e_ethdev.c
index 5074262..c0cf3cf
Add two macros I40E_VFTA_IDX and I40E_VFTA_BIT for VFTA manipulation.
Add vlan_id check in vlan filter search and set function.
Signed-off-by: Huawei Xie
---
lib/librte_pmd_i40e/i40e_ethdev.c | 17 ++---
lib/librte_pmd_i40e/i40e_ethdev.h | 9 +
2 files changed, 19
This patchset fixes "set vlan filter" issue.
v2 changes:
* add two macros I40E_VFTA_IDX and I40E_VFTA_BIT for VFTA array operation.
Huawei Xie (2):
vlan id set fix
add I40E_VFTA_IDX and I40E_VFTA_BIT macros for VFTA related operation
lib/librte_pmd_i40e/i40e_eth
to properly set up VMDQ, i.e, add mac/vlan
filter.
This patchset enables the vhost example to use this information to set up VMDQ.
Huawei Xie (2):
support new VMDQ API and new nic i40e
use factorized default Rx/Tx configuration
examples/vhost/main.c | 103
move zero copy's deferred start set up ahead.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 78 +++
1 file changed, 22 insertions(+), 56 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 2b1bf02..fa36
API in vhost example.
FIXME in PMD:
* added mac address will be flushed at rte_eth_dev_start.
* we don't support selectively setting up queues well.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 25 +++--
1 file changed, 19 insertions(+), 6 deletions(-)
diff --git
.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/Makefile | 14 +-
lib/librte_vhost/eventfd_link/eventfd_link.c | 27 +-
lib/librte_vhost/eventfd_link/eventfd_link.h | 48 +-
lib/librte_vhost/libvirt/qemu-wrap.py | 367 ---
lib/librte_vhost/rte_virtio_net.h
This patchset fixes "set vlan filter" issue.
v2 changes:
* add two macros I40E_VFTA_IDX and I40E_VFTA_BIT for VFTA array operation.
v3 changes:
* code style fix
* rebase on latest commit
Huawei Xie (2):
vlan id set fix
add I40E_VFTA_IDX and I40E_VFTA_BIT macros for VFTA related
">> 5" rather than ">> 4"
Signed-off-by: Huawei Xie
---
lib/librte_pmd_i40e/i40e_ethdev.c | 7 ++-
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c
b/lib/librte_pmd_i40e/i40e_ethdev.c
index dacf2db..518597f
Add two macros I40E_VFTA_IDX and I40E_VFTA_BIT for vlan filter search and set.
Add vlan_id check in vlan filter search and set function.
Signed-off-by: Huawei Xie
---
lib/librte_pmd_i40e/i40e_ethdev.c | 17 ++---
lib/librte_pmd_i40e/i40e_ethdev.h | 9 +
2 files changed, 19
) split the patch per thomas' requirement
v5) fine granularity split of the patch
regenerate patches based on latest commit
this patchset removes vhost example patches, which will be
submitted later.
Huawei Xie (25):
move src files from examples/vhost to lib/librte_vhost
rename main.c
between mbuf and vring
descriptors. This lib will create the tx
functions based on virtio_dev_merge_tx.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 3050 +
1 file changed, 45 insertions(+), 3005 deletions(-)
diff --git a/lib/librte_vhost
filter.
3. num_devices is used to specify the maximum vhost devices the nic supports.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 6 --
lib/librte_vhost/vhost_rxtx.c | 18 --
lib/librte_vhost/virtio-net.c | 15 ---
3 files changed
Currently zero copy feature isn't generic as it couples closely with nic. It
isn't put in
the vhost lib in this version.
gpa(guest physical address) to hpa(host physical address) mapping region logic
is removed.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 19
lib
retry is used to wait some time and retry when there are not enough descriptors.
App could implement this policy easily if it needs.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 34 --
1 file changed, 34 deletions(-)
diff --git a/lib
As a lib, we have no idea the app defined mbuf size. This patch will calculate
mbuf size dynamically.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 17 +++--
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib
define PACKET_BURST
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/lib/librte_vhost/vhost_rxtx.c b/lib/librte_vhost/vhost_rxtx.c
index ab76512..0690e23 100644
--- a/lib/librte_vhost/vhost_rxtx.c
+++ b/lib/librte_vhost
This patch makes virtio_dev_merge_tx return the received packets to app layer.
Previously virtio_tx_route is called to route these packets and then free them.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost_rxtx.c | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff
This structure is moved to virtio_net.c. It is related to internal virtio
device management,
so it should not be exposed to other files.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 9 -
lib/librte_vhost/virtio-net.c | 8
2 files changed, 8 insertions
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.c | 16 +---
1 file changed, 5 insertions(+), 11 deletions(-)
diff --git a/lib/librte_vhost/vhost-net-cdev.c
b/lib/librte_vhost/vhost-net-cdev.c
index 8cf806a..957f0c8 100644
--- a/lib/librte_vhost/vhost-net-cdev.c
+++ b
vhost_net_device_ops is internal implementation in vhost lib.
register_cuse_device will be vhost driver register API. There is no need for it
to know
the internal vhost ops. Instead, that ops is retrieved in register_cuse_device
through get_virtio_net_callbacks.
Signed-off-by: Huawei Xie
rename register_cuse_device as rte_vhost_driver_register API.
rename start_session_loop as rte_vhost_driver_session_start API.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 5 +
lib/librte_vhost/vhost-net-cdev.c | 4 ++--
lib/librte_vhost/vhost-net-cdev.h | 2 --
3 files
vhost_rxtx.c will provide vhost vring enqueue/dequeue API.
rte_virtio_net.h is used as the API header file.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/main.c | 3727 -
lib/librte_vhost/rte_virtio_net.h | 161 ++
lib/librte_vhost/vhost_rxtx.c
VHOST_SUPPORTED_FEATURES is the feature mask that vhost lib supports.
VHOST_FEATURES is the feature mask vhost currently supports after some features
are turned on/off.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/virtio-net.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff
rename init_virtio_net as rte_vhost_callback_register API.
rte_vhost_callback_register register the callbacks called when a
vhost device is created and ready to be added to data processing core
or is de-actived by guest.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 4
add "static" for some variable definitions
Signed-off-by: Huawei Xie
---
lib/librte_vhost/vhost-net-cdev.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/librte_vhost/vhost-net-cdev.c
b/lib/librte_vhost/vhost-net-cdev.c
index 4dbd295..ce9f4ae 100644
priv field could be used to store application specific context.
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_vhost/rte_virtio_net.h
b/lib/librte_vhost/rte_virtio_net.h
index 13d75fe..adf35e4 100644
--- a/lib
fixed serious coding style issues reported by checkpatch
Signed-off-by: Huawei Xie
---
lib/librte_vhost/rte_virtio_net.h | 85 +++--
lib/librte_vhost/vhost-net-cdev.c | 252 +++---
lib/librte_vhost/vhost-net-cdev.h | 33 +++--
lib/librte_vhost
Those files will be refactored in subsequent patches to form user space vhost
library.
Makefile and main.h are removed.
Signed-off-by: Huawei Xie
---
examples/vhost/Makefile | 60 -
examples/vhost/eventfd_link/Makefile | 39 -
examples/vhost/eventfd_link
New vhost example is a transform of old vhost example.
It calls vhost library API to receive/transmit packets from guest VM.
zero copy logic is kept in vhost example.
Huawei Xie (14):
copy old vhost example files main.c/main.h as the base of new vhost example
remove virtio_dev_(merge_)rx
This patch copies two files main.c/main.h from most recent vhost example as
the base for new vhost example.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 3727 +
examples/vhost/main.h | 86 ++
2 files changed, 3813 insertions(+)
create
Those functions are integrated into the user space vhost library.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 806 --
1 file changed, 806 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index c23d453..11d5d17
check_hpa_regions, fill_hpa_memory_regions and hpa memory region data structure
are added back.
zero copy logic will be implemented in vhost example.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 147 ++
examples/vhost/main.h | 15
define vhost_dev data structure.
change reference to virtio_dev to vhost_dev.
vhost example use vdev data structure for switching related logic and
container for virtio_dev.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 269 --
examples
add hpa(host physical address) region generation/destroy logic.
gpa<->hpa memory translation regions are generated at new_device, when a
virtio device is ready for packet processing.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 44 +++-
guest
VM,
then virtio device will be bound to a queue in VMDQ for the first transmitted
packet.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 53 +--
1 file changed, 26 insertions(+), 27 deletions(-)
diff --git a/examples/vhost/main.c b
in new vhost example, the packet passed to virtio_tx_route has been allocated
mbuf, so there is no need to allocate mbuf for it.
use vlan offload to transmit vlan tagged packet.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 65 ---
1 file
remove gpa_to_vva macro and base_index parameter.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 42 +-
1 file changed, 1 insertion(+), 41 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index bbfdef6..aaac88b 100644
rte_vhost_enable_guest_notification: disable guest notification
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 29 ++---
1 file changed, 10 insertions(+), 19 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index aaac88b..e0bd452 100644
vmdq_rx_q minior change
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index e0bd452..15cb493 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -1722,13
minimal adjustment
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 13 +
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index 15cb493..b2b92e9 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -49,10
add branch hint
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
index b2b92e9..fb22df4 100644
--- a/examples/vhost/main.c
+++ b/examples/vhost/main.c
@@ -1012,7 +1012,7
mergeable feature doesn't work with latest mbuf change.
find that we could disable IXGBE_INC_VECTOR as a workaround.
root cause is WIP.
Signed-off-by: Huawei Xie
---
examples/vhost/main.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/examples/vhost/main.c b/examples/vhost/main.c
new vhost example is ready. Add example makefile
Signed-off-by: Huawei Xie
---
examples/vhost/Makefile | 60 +
1 file changed, 60 insertions(+)
create mode 100644 examples/vhost/Makefile
diff --git a/examples/vhost/Makefile b/examples/vhost
Acked-by: Huawei Xie
have too
many common vq operations. Split fields into virtnet_rx
and virtnet_tx respectively.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 333 +---
drivers/net/virtio/virtio_pci.c | 4 +-
drivers/net/virtio/virtio_pci.h | 3
We keep a common vq structure, containing only vq related fields,
and then split others into RX, TX and control queue respectively.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 352 ++--
drivers/net/virtio/virtio_ethdev.h | 2
Fixes: ac5e1d838dc1 ("virtio: skip error when probing kernel managed device")
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_pci.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_pci.c b/drivers/net/virtio/virtio_pci.c
ind
There is no external function call or any barrier in the loop,
the used->idx would only be retrieved once.
Signed-off-by: Huawei Xie
---
drivers/net/virtio/virtio_ethdev.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/virtio/virtio_ethdev.c
b/drivers/
201 - 299 of 299 matches
Mail list logo