|
Revision tags: v22.03, v22.03-rc4, v22.03-rc3, v22.03-rc2, v22.03-rc1, v21.11, v21.11-rc4, v21.11-rc3, v21.11-rc2, v21.11-rc1, v21.08, v21.08-rc4, v21.08-rc3, v21.08-rc2, v21.08-rc1 |
|
| #
c995b005 |
| 17-Jun-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: add MAC device config getter and setter
This patch uses the new device config ops to get and set the MAC address if supported.
If a valid MAC address is passed as devarg of the Virtio-u
net/virtio: add MAC device config getter and setter
This patch uses the new device config ops to get and set the MAC address if supported.
If a valid MAC address is passed as devarg of the Virtio-user PMD, the driver will try to store it in the device config space. Otherwise the one provided in the device config space will be used, if available.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.05, v21.05-rc4, v21.05-rc3, v21.05-rc2, v21.05-rc1 |
|
| #
23abee9d |
| 17-Mar-2021 |
Ilya Maximets <[email protected]> |
net/virtio: fix interrupt unregistering for listening socket
virtio_user_dev_server_reconnect() is typically called from the interrupt context while checking the link state:
vhost_user_update_lin
net/virtio: fix interrupt unregistering for listening socket
virtio_user_dev_server_reconnect() is typically called from the interrupt context while checking the link state:
vhost_user_update_link_state() --> virtio_user_dev_server_reconnect()
Under this conditions callback unregistering always fails. This means that listenfd is never unregistered and continue to trigger interrupts. For example, if second client will try to connect to the same socket, the server will receive interrupts infinitely because it will not accept them while listen fd is readable and generates epoll events.
Fix that by moving reconfiguration of interrupts out of the interrupt context to alarm handler.
'virtio_user_dev_delayed_handler' renamed to 'virtio_user_dev_delayed_disconnect_handler' to better reflect its purpose.
Additionally improved error logging around interrupt management.
Fixes: bd8f50a45d0f ("net/virtio-user: support server mode") Cc: [email protected]
Signed-off-by: Ilya Maximets <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v21.02, v21.02-rc4, v21.02-rc3 |
|
| #
6564ddcd |
| 01-Feb-2021 |
David Marchand <[email protected]> |
net/virtio: remove duplicated port ID from virtio-user
The private virtio_user_dev structure embeds a virtio_hw which itself contains the ethdev port_id. Make use of it and remove the duplicate port
net/virtio: remove duplicated port ID from virtio-user
The private virtio_user_dev structure embeds a virtio_hw which itself contains the ethdev port_id. Make use of it and remove the duplicate port_id field.
Signed-off-by: David Marchand <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc2 |
|
| #
4173c55a |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move vhost-vDPA data to its backend
As done earlier for Vhost-user and Vhost-kernel, this patch moves the Vhost-vDPA specific data to its backend file.
Signed-off-by: Maxime Coquelin <m
net/virtio: move vhost-vDPA data to its backend
As done earlier for Vhost-user and Vhost-kernel, this patch moves the Vhost-vDPA specific data to its backend file.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
86388a3a |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move vhost-kernel data to its backend
As done earlier for Vhost-user, this patch moves the Vhost-Kernel specific data to its backend file.
Signed-off-by: Maxime Coquelin <maxime.coqueli
net/virtio: move vhost-kernel data to its backend
As done earlier for Vhost-user, this patch moves the Vhost-Kernel specific data to its backend file.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
94973531 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move vhost-user specifics to its backend
This patch moves all the Vhost-user backend specific logic like Vhost FD, listen FD and interrupt handling to the vhost-user backend implementati
net/virtio: move vhost-user specifics to its backend
This patch moves all the Vhost-user backend specific logic like Vhost FD, listen FD and interrupt handling to the vhost-user backend implementation.
In order to achieve that, new ops are created to update the link status, disconnect and reconnect the server, and fetch the link state interrupt FD.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
748e5ea5 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: introduce backend data
The goal of this patch is to introduce backend-specific data in order to better isolate what is backend-specific from what is generic to Virtio-user.
For now, onl
net/virtio: introduce backend data
The goal of this patch is to introduce backend-specific data in order to better isolate what is backend-specific from what is generic to Virtio-user.
For now, only Vhost-user protocol features are moved to Vhost-user backend data.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
7990d039 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed
net/virtio: move virtqueue defines in generic header
This patch moves the virtqueues defines from PCI header to the generic one.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
65832c82 |
| 26-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <
net/virtio: refactor virtio-user device
This patch moves the virtio_hw structure into the virtio_user_dev structure, with the goal of making virtio_hw bus-agnostic.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v21.02-rc1 |
|
| #
35a6630e |
| 08-Jan-2021 |
Maxime Coquelin <[email protected]> |
net/virtio: add missing backend features negotiation
This patch adds missing backend features negotiation for in Vhost-vDPA. Without it, IOTLB messages v2 could be sent by Virtio-user PMD while not
net/virtio: add missing backend features negotiation
This patch adds missing backend features negotiation for in Vhost-vDPA. Without it, IOTLB messages v2 could be sent by Virtio-user PMD while not supported by the backend.
Fixes: 6b901437056e ("net/virtio: introduce vhost-vDPA backend") Cc: [email protected]
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v20.11, v20.11-rc5, v20.11-rc4, v20.11-rc3, v20.11-rc2 |
|
| #
d7e10ea9 |
| 26-Oct-2020 |
Adrian Moreno <[email protected]> |
net/virtio-user: lock-protect status updates
In order to safely set and get the device status from different threads (e.g: interrupt handlers).
Signed-off-by: Adrian Moreno <[email protected]> Re
net/virtio-user: lock-protect status updates
In order to safely set and get the device status from different threads (e.g: interrupt handlers).
Signed-off-by: Adrian Moreno <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
| #
b0395dc8 |
| 26-Oct-2020 |
Adrian Moreno <[email protected]> |
net/virtio-user: fix backend selection if stat fails
If stat fails because the file does not exist, it means that the backend must be vhost-user in server mode.
Also, log the detected backend type.
net/virtio-user: fix backend selection if stat fails
If stat fails because the file does not exist, it means that the backend must be vhost-user in server mode.
Also, log the detected backend type.
Bugzilla ID: 559 Fixes: f908b22ea47a ("net/virtio: move backend type selection to ethdev") Cc: [email protected]
Reviewed-by: Maxime Coquelin <[email protected]> Acked-by: Kevin Traynor <[email protected]> Signed-off-by: Adrian Moreno <[email protected]>
show more ...
|
|
Revision tags: v20.11-rc1 |
|
| #
844e4683 |
| 29-Sep-2020 |
Maxime Coquelin <[email protected]> |
net/virtio: split virtio-user start
Move feature bit settings in device start out as an standalone function, so that feature bit could be negotiated at device feature_ok status.
Signed-off-by: Maxi
net/virtio: split virtio-user start
Move feature bit settings in device start out as an standalone function, so that feature bit could be negotiated at device feature_ok status.
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
7d62bf6f |
| 29-Sep-2020 |
Maxime Coquelin <[email protected]> |
net/virtio: introduce vhost-vDPA backend type
Backend type is determined by checking char-device major numbers
Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Adrian More
net/virtio: introduce vhost-vDPA backend type
Backend type is determined by checking char-device major numbers
Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Adrian Moreno <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
f908b22e |
| 29-Sep-2020 |
Adrian Moreno <[email protected]> |
net/virtio: move backend type selection to ethdev
This is a preparation patch with no functional change.
Use an enum instead of a boolean for the backend type. Move the detection logic to the ethde
net/virtio: move backend type selection to ethdev
This is a preparation patch with no functional change.
Use an enum instead of a boolean for the backend type. Move the detection logic to the ethdev layer (where it is needed for the first time). The virtio_user_dev stores the backend type in the virtio_user_dev struct so the type is only determined once
Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Adrian Moreno <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v20.08, v20.08-rc4 |
|
| #
0b0dc66c |
| 05-Aug-2020 |
Adrian Moreno <[email protected]> |
net/virtio-user: support vhost status getting
This patch adds support for VHOST_USER_GET_STATUS request.
Only vhost-user backed is supported for now
Signed-off-by: Adrian Moreno <[email protected]
net/virtio-user: support vhost status getting
This patch adds support for VHOST_USER_GET_STATUS request.
Only vhost-user backed is supported for now
Signed-off-by: Adrian Moreno <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
| #
57912824 |
| 05-Aug-2020 |
Maxime Coquelin <[email protected]> |
net/virtio-user: support vhost status setting
This patch adds support for VHOST_USER_SET_STATUS request. It is used to make the backend aware of Virtio devices status update.
It is useful for the b
net/virtio-user: support vhost status setting
This patch adds support for VHOST_USER_SET_STATUS request. It is used to make the backend aware of Virtio devices status update.
It is useful for the backend to know when the Virtio driver is done with the Virtio device configuration.
Reviewed-by: Chenbo Xia <[email protected]> Signed-off-by: Maxime Coquelin <[email protected]> Signed-off-by: Adrian Moreno <[email protected]>
show more ...
|
|
Revision tags: v20.08-rc3 |
|
| #
d0131e49 |
| 28-Jul-2020 |
Xiao Wang <[email protected]> |
net/virtio-user: fix status management
Apart from the virtio status, there should be also a network related status for link status management, current implementation mixes up these two statuses.
On
net/virtio-user: fix status management
Apart from the virtio status, there should be also a network related status for link status management, current implementation mixes up these two statuses.
One issue caused by this mixup is when virtio-user running in server mode and vhost as a client connects to it, a RARP packet will be generated by virtio-user due to VIRTIO_NET_S_ANNOUNCE bit is detected in the "status" in interrupt handler.
VIRTIO_NET_S_LINK_UP and VIRTIO_NET_S_ANNOUNCE should be managed by a separated field. This patch adds a "net_status" field for this purpose.
Fixes: e9efa4d93821 ("net/virtio-user: add new virtual PCI driver") Cc: [email protected]
Signed-off-by: Adrian Moreno <[email protected]> Signed-off-by: Xiao Wang <[email protected]> Reviewed-by: Chenbo Xia <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v20.08-rc2, v20.08-rc1 |
|
| #
8e756105 |
| 03-Jul-2020 |
Maxime Coquelin <[email protected]> |
net/virtio: support vhost-user protocol features
This patch adds support for Vhost-user protocol features. It is required to support protocol features that were not in initial Vhost-user specificati
net/virtio: support vhost-user protocol features
This patch adds support for Vhost-user protocol features. It is required to support protocol features that were not in initial Vhost-user specification, such as reply-ack, MTU...
Also, this patch prevents Virtio multiqueue feature negotiation if the slave does not support MQ protocol feature as stated in Vhost-user specification: "The multiple queues feature is supported only when the protocol feature ``VHOST_USER_PROTOCOL_F_MQ`` (bit 0) is set."
Signed-off-by: Maxime Coquelin <[email protected]> Reviewed-by: Chenbo Xia <[email protected]>
show more ...
|
|
Revision tags: v20.05, v20.05-rc4, v20.05-rc3, v20.05-rc2, v20.05-rc1, v20.02, v20.02-rc4, v20.02-rc3, v20.02-rc2, v20.02-rc1, v19.11, v19.11-rc4 |
|
| #
47ac9661 |
| 25-Nov-2019 |
Tiwei Bie <[email protected]> |
net/virtio-user: do not close tap when disabling queue pairs
Do not close the tap fds when disabling queue pairs, instead, we just need to unbind the backend. Otherwise, tap port can be destroyed un
net/virtio-user: do not close tap when disabling queue pairs
Do not close the tap fds when disabling queue pairs, instead, we just need to unbind the backend. Otherwise, tap port can be destroyed unexpectedly.
Fixes: e3b434818bbb ("net/virtio-user: support kernel vhost") Cc: [email protected]
Reported-by: Stephen Hemminger <[email protected]> Signed-off-by: Tiwei Bie <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v19.11-rc3, v19.11-rc2, v19.11-rc1, v19.08, v19.08-rc4, v19.08-rc3, v19.08-rc2, v19.08-rc1 |
|
| #
7f468b2e |
| 05-Jun-2019 |
Tiwei Bie <[email protected]> |
net/virtio: release port upon close
Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private resources for the port can be freed by rte_eth_dev_close().
Signed-off-by: Tiwei Bie <tiwei.bie@intel.
net/virtio: release port upon close
Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private resources for the port can be freed by rte_eth_dev_close().
Signed-off-by: Tiwei Bie <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
| #
35b2d13f |
| 21-May-2019 |
Olivier Matz <[email protected]> |
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_C
net: add rte prefix to ether defines
Add 'RTE_' prefix to defines: - rename ETHER_ADDR_LEN as RTE_ETHER_ADDR_LEN. - rename ETHER_TYPE_LEN as RTE_ETHER_TYPE_LEN. - rename ETHER_CRC_LEN as RTE_ETHER_CRC_LEN. - rename ETHER_HDR_LEN as RTE_ETHER_HDR_LEN. - rename ETHER_MIN_LEN as RTE_ETHER_MIN_LEN. - rename ETHER_MAX_LEN as RTE_ETHER_MAX_LEN. - rename ETHER_MTU as RTE_ETHER_MTU. - rename ETHER_MAX_VLAN_FRAME_LEN as RTE_ETHER_MAX_VLAN_FRAME_LEN. - rename ETHER_MAX_VLAN_ID as RTE_ETHER_MAX_VLAN_ID. - rename ETHER_MAX_JUMBO_FRAME_LEN as RTE_ETHER_MAX_JUMBO_FRAME_LEN. - rename ETHER_MIN_MTU as RTE_ETHER_MIN_MTU. - rename ETHER_LOCAL_ADMIN_ADDR as RTE_ETHER_LOCAL_ADMIN_ADDR. - rename ETHER_GROUP_ADDR as RTE_ETHER_GROUP_ADDR. - rename ETHER_TYPE_IPv4 as RTE_ETHER_TYPE_IPv4. - rename ETHER_TYPE_IPv6 as RTE_ETHER_TYPE_IPv6. - rename ETHER_TYPE_ARP as RTE_ETHER_TYPE_ARP. - rename ETHER_TYPE_VLAN as RTE_ETHER_TYPE_VLAN. - rename ETHER_TYPE_RARP as RTE_ETHER_TYPE_RARP. - rename ETHER_TYPE_QINQ as RTE_ETHER_TYPE_QINQ. - rename ETHER_TYPE_ETAG as RTE_ETHER_TYPE_ETAG. - rename ETHER_TYPE_1588 as RTE_ETHER_TYPE_1588. - rename ETHER_TYPE_SLOW as RTE_ETHER_TYPE_SLOW. - rename ETHER_TYPE_TEB as RTE_ETHER_TYPE_TEB. - rename ETHER_TYPE_LLDP as RTE_ETHER_TYPE_LLDP. - rename ETHER_TYPE_MPLS as RTE_ETHER_TYPE_MPLS. - rename ETHER_TYPE_MPLSM as RTE_ETHER_TYPE_MPLSM. - rename ETHER_VXLAN_HLEN as RTE_ETHER_VXLAN_HLEN. - rename ETHER_ADDR_FMT_SIZE as RTE_ETHER_ADDR_FMT_SIZE. - rename VXLAN_GPE_TYPE_IPV4 as RTE_VXLAN_GPE_TYPE_IPV4. - rename VXLAN_GPE_TYPE_IPV6 as RTE_VXLAN_GPE_TYPE_IPV6. - rename VXLAN_GPE_TYPE_ETH as RTE_VXLAN_GPE_TYPE_ETH. - rename VXLAN_GPE_TYPE_NSH as RTE_VXLAN_GPE_TYPE_NSH. - rename VXLAN_GPE_TYPE_MPLS as RTE_VXLAN_GPE_TYPE_MPLS. - rename VXLAN_GPE_TYPE_GBP as RTE_VXLAN_GPE_TYPE_GBP. - rename VXLAN_GPE_TYPE_VBNG as RTE_VXLAN_GPE_TYPE_VBNG. - rename ETHER_VXLAN_GPE_HLEN as RTE_ETHER_VXLAN_GPE_HLEN.
Do not update the command line library to avoid adding a dependency to librte_net.
Signed-off-by: Olivier Matz <[email protected]> Reviewed-by: Stephen Hemminger <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]> Reviewed-by: Ferruh Yigit <[email protected]>
show more ...
|
|
Revision tags: v19.05, v19.05-rc4, v19.05-rc3, v19.05-rc2, v19.05-rc1 |
|
| #
1c8489da |
| 25-Mar-2019 |
Tiwei Bie <[email protected]> |
net/virtio-user: fix multi-process support
This patch fixes the multi-process support for virtio-user. Currently virtio-user just provides some limited secondary process supports. Only some basic op
net/virtio-user: fix multi-process support
This patch fixes the multi-process support for virtio-user. Currently virtio-user just provides some limited secondary process supports. Only some basic operations can be done in secondary process on virtio-user port, e.g. getting port stats. Actions which will trigger the communication with vhost backend can't be done in secondary process for now, as the fds are not synced between processes. The processing of server mode devargs is also moved into virtio_user_dev_init().
Fixes: cdb068f031c6 ("bus/vdev: scan by multi-process channel") Fixes: ee27edbe0c10 ("drivers/net: share vdev data to secondary process") Cc: [email protected]
Signed-off-by: Tiwei Bie <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v19.02, v19.02-rc4, v19.02-rc3, v19.02-rc2 |
|
| #
48a44640 |
| 11-Jan-2019 |
Jens Freimann <[email protected]> |
net/virtio-user: support control VQ for packed
Add support to virtio-user for control virtqueues.
Signed-off-by: Jens Freimann <[email protected]> Reviewed-by: Maxime Coquelin <maxime.coquelin@r
net/virtio-user: support control VQ for packed
Add support to virtio-user for control virtqueues.
Signed-off-by: Jens Freimann <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|
|
Revision tags: v19.02-rc1 |
|
| #
34f3966c |
| 17-Dec-2018 |
Yuanhan Liu <[email protected]> |
net/virtio-user: add option to use packed queues
Add option to enable packed queue support for virtio-user devices.
Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Maxime Coqu
net/virtio-user: add option to use packed queues
Add option to enable packed queue support for virtio-user devices.
Signed-off-by: Yuanhan Liu <[email protected]> Reviewed-by: Maxime Coquelin <[email protected]>
show more ...
|