2c4c7c8870
There are two separate abstraction layers: * vsocket - which represents a unix domain socket * virtio_net - which represents a vsocket connection There can be many connections on the same socket. vsocket provides an API to enable/disable particular virtio features on the fly, but it's the virtio_net that uses these features. virtio_net used to rely on vsocket->features during feature negotiation, breaking the layer encapsulation (and yet causing a deadlock - two locks were being locked in a separate order). Now each virtio_net device has it's own copy of vsocket features, created at the time of virtio_net creation. vsocket->features have to be still present, as features can be enabled/disabled while no virtio_net device has been created yet. Fixes #214 Change-Id: Ic4b2dd8cae6050813fc9a420b2ed30bc5ae60393 Signed-off-by: Dariusz Stojaczyk <dariuszx.stojaczyk@intel.com> Reviewed-on: https://review.gerrithub.io/386294 Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> |
||
---|---|---|
.. | ||
rte_vhost | ||
Makefile | ||
test_plan.md | ||
vhost_blk.c | ||
vhost_internal.h | ||
vhost_rpc.c | ||
vhost_scsi.c | ||
vhost.c |