follow this one to complete the task of moving
AF_UNIX transport code out of core vhost-user code.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/Makefile| 2 +-
lib/librte_vhost/trans_af_unix.c | 20
lib/librte_vhost/vhost.c
regards,
Nikos
[1] http://mails.dpdk.org/archives/dev/2018-January/088155.html
Nikos Dragazis (23):
vhost: introduce vhost transport operations structure
vhost: move socket management code
vhost: move socket fd and un sockaddr
vhost: move vhost-user connection
vhost: move vhost-user
ut this is a temporary
measure and will be cleaned up in later patches. By simply moving code
unmodified in this patch it will be easier to review the actual
refactoring that follows.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/socket.c
From: Stefan Hajnoczi
vhost-user transports have per-socket state (like file descriptors).
Make it possible for transports to keep state beyond what is included in
struct vhost_user_socket.
This patch makes it possible to move AF_UNIX-specific fields from struct
vhost_user_socket into trans_af_u
socket_cleanup() to
vhost_transport_ops.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/socket.c| 11 ++--
lib/librte_vhost/trans_af_unix.c | 55
lib/librte_vhost/vhost.h | 30
.
Move struct vhost_user_connection to trans_af_unix.c and
conn_list/conn_mutex into struct af_unix_socket.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/socket.c| 54 +++---
lib/librte_vhost/trans_af_unix.c | 72
From: Stefan Hajnoczi
Introduce a vhost_transport_ops->socket_start() interface so the
transport can begin establishing vhost-user connections. This is part
of the AF_UNIX transport refactoring and removes AF_UNIX code from
vhost.h and socket.c.
Signed-off-by: Stefan Hajnoczi
---
lib/librte_v
The socket reconnection code is highly specific to AF_UNIX, so move the
remaining pieces of it into trans_af_unix.c.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/socket.c| 4
lib/librte_vhost/trans_af_unix.c | 9 +++--
lib/librte_vhost
turn towards vhost_user.c and its mixture of
vhost-user protocol processing and socket I/O. The socket I/O will be
moved into trans_af_unix.c so that other transports can be added that
don't use file descriptors.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/li
The fdset is used by the AF_UNIX transport code but other transports may
not need it. Move it to trans_af_unix.c and then make struct vhost_user
private again since nothing outside socket.c needs it.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/socket.c
these structs together.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/trans_af_unix.c | 60 +++-
lib/librte_vhost/vhost.c | 12
lib/librte_vhost/vhost.h | 11 +++-
3 files changed, 40 insertions
core
vhost-user code.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/trans_af_unix.c | 70 +---
lib/librte_vhost/vhost.h | 26 ++
lib/librte_vhost/vhost_user.c| 78
-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/trans_af_unix.c | 87 +++-
lib/librte_vhost/vhost.c | 4 +-
lib/librte_vhost/vhost.h | 41 +--
lib/librte_vhost/vhost_user.c| 67
, after refactoring vhost_user_set_mem_table(),
read_vhost_message() is no longer being used in vhost_user.c. So, mark
it as static in trans_af_unix.c.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
lib/librte_vhost/trans_af_unix.c | 185
set_log_base() transport operation is introduced.
Signed-off-by: Nikos Dragazis
---
lib/librte_vhost/trans_af_unix.c | 41
lib/librte_vhost/vhost.h | 13 +
lib/librte_vhost/vhost_user.c| 27 +-
3 files changed
.
However, this mechanism is transport-specific. Other transports may use
other mechanisms for the master/slave communication. Therefore, the
connection fds are moved into the AF_UNIX transport code.
Signed-off-by: Nikos Dragazis
---
lib/librte_vhost/trans_af_unix.c | 2 +-
lib/librte_vhost
feature by implementing these
transport-specific functions.
Signed-off-by: Nikos Dragazis
---
lib/librte_vhost/trans_af_unix.c | 94 ++--
lib/librte_vhost/vhost.c | 1 -
lib/librte_vhost/vhost.h | 41 --
lib/librte_vhost
transports outside of lib/librte_vhost/.
Signed-off-by: Nikos Dragazis
---
lib/librte_vhost/Makefile | 2 +-
lib/librte_vhost/rte_vhost_version.map | 11 +++
lib/librte_vhost/socket.c | 26 +-
lib/librte_vhost/vhost.h | 22
better solution would
be to extract the code cleanly from drivers/net/ and share it. Or
perhaps we could backport SPDK's lib/virtio/.
drivers/virtio_vhost_user/ will host the virtio-vhost-user transport
implementation in the upcoming patches.
Signed-off-by: Nikos Dragazis
Signed-off-by: S
From: Stefan Hajnoczi
Currently, the only way of determining a struct vhost_virtqueue's index
is to search struct virtio_net->virtqueue[] for its address. Stash the
index in struct vhost_virtqueue so we won't have to search the array.
This new field will be used by virtio-vhost-user.
Signed-of
backend for other guests.
For more information on virtio-vhost-user, see
https://wiki.qemu.org/Features/VirtioVhostUser.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
drivers/Makefile |2 +
drivers/virtio_vhost_user/Makefile
d the location of the vhost memory regions in the device's memory
address space. Also, support has been added for the notification
capability, though this configuration structure is not currently being
used by the virtio-vhost-user driver due to DPDK's poll-mode nature.
Signed-off-by:
Extend the API to support the virtio-vhost-user transport
as an alternative to the AF_UNIX transport. The caller provides a PCI
DomBDF address:
rte_vhost_driver_register(":00:04.0",
RTE_VHOST_USER_VIRTIO_TRANSPORT);
Signed-off-by: Nikos Dragazis
Sig
The new virtio-transport=0|1 argument enables virtio-vhost-user support:
testpmd ... --pci-whitelist :00:04.0 \
--vdev vhost,iface=:00:04.0,virtio-transport=1
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
drivers/net/vhost/rte_eth_vhost.c | 13
From: Stefan Hajnoczi
The default filename built into examples/vhost_scsi may not be
convenient. Allow the user to specify the full UNIX domain socket path
on the command-line.
Signed-off-by: Stefan Hajnoczi
---
examples/vhost_scsi/vhost_scsi.c | 93
1
Export the virtio-vhost-user transport to all the apps. Support using
the virtio-vhost-user transport with shared libraries by unconditionally
linking librte_virtio_vhost_user.so with the apps.
Signed-off-by: Nikos Dragazis
---
mk/rte.app.mk | 6 ++
1 file changed, 6 insertions(+)
diff
From: Stefan Hajnoczi
The new --virtio-vhost-user-pci command-line argument uses
virtio-vhost-user instead of the default AF_UNIX transport.
Signed-off-by: Stefan Hajnoczi
---
examples/vhost_scsi/vhost_scsi.c | 14 +++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/e
Add a configuration option for compiling and linking with the
virtio-vhost-user library.
Signed-off-by: Nikos Dragazis
---
config/common_base | 6 ++
config/common_linux | 1 +
drivers/Makefile| 5 -
mk/rte.app.mk | 2 +-
4 files changed, 12 insertions(+), 2 deletions
The virtio-vhost-user PCI adapter is not detected in any existing group
of devices supported by dpdk-devbind.py. Add a new "Others" group for
miscellaneous devices like this one.
Signed-off-by: Nikos Dragazis
Signed-off-by: Stefan Hajnoczi
---
usertools/dpdk-devbind.py | 7 +
On 19/6/19 11:14 μ.μ., Aaron Conole wrote:
> Nikos Dragazis writes:
>
>> This is the first of a series of patches, whose purpose is to add
>> support for the virtio-vhost-user transport. This is a vhost-user
>> transport implementation that is different from the default
On 20/6/19 1:30 μ.μ., Bruce Richardson wrote:
> On Wed, Jun 19, 2019 at 04:14:09PM -0400, Aaron Conole wrote:
>> Nikos Dragazis writes:
>>
>>> This is the first of a series of patches, whose purpose is to add
>>> support for the virtio-vhost-user transport. T
On 20/6/19 2:32 μ.μ., Ilya Maximets wrote:
> On 19.06.2019 18:14, Nikos Dragazis wrote:
>> Hi everyone,
> Hi. I didn't look at the code, just a few comments inline.
>
>> this patch series introduces the concept of the virtio-vhost-user
>> transport. This is actually
On 20/6/19 2:35 μ.μ., Maxime Coquelin wrote:
> Hi Nikos,
>
> On 6/19/19 5:14 PM, Nikos Dragazis wrote:
>> Hi everyone,
>>
>> this patch series introduces the concept of the virtio-vhost-user
>> transport. This is actually a revised version of an earlier RFC
>>
On 5/9/19 7:34 μ.μ., Maxime Coquelin wrote:
> Hi Nikos,
>
> On 6/19/19 5:14 PM, Nikos Dragazis wrote:
>> The virtio-vhost-user transport requires a driver for the
>> virtio-vhost-user PCI device, hence it needs a virtio-pci driver. There
>> is currently no librte
34 matches
Mail list logo