[dpdk-dev] [PATCH 3/4] net/virtio-user: support server mode
Maxime Coquelin
maxime.coquelin at redhat.com
Tue Feb 27 19:01:40 CET 2018
On 02/14/2018 03:53 PM, Zhiyong Yang wrote:
> virtio user adds to support for server mode.
>
> Virtio user with server mode creates socket file and then starts to wait
> for first connection from vhost user with client mode in blocking mode.
>
> Server mode virtio user supports many times' vhost reconnections with
> same configurations.
>
> Support only one connection at the same time in server mode.
>
> Signed-off-by: Zhiyong Yang <zhiyong.yang at intel.com>
> ---
> drivers/net/virtio/virtio_ethdev.c | 9 ++-
> drivers/net/virtio/virtio_user/vhost_user.c | 77 ++++++++++++++++++++--
> drivers/net/virtio/virtio_user/virtio_user_dev.c | 44 +++++++++----
> drivers/net/virtio/virtio_user_ethdev.c | 81 ++++++++++++++++++++++--
> 4 files changed, 186 insertions(+), 25 deletions(-)
>
> diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
> index 884f74ad0..44d037d6b 100644
> --- a/drivers/net/virtio/virtio_ethdev.c
> +++ b/drivers/net/virtio/virtio_ethdev.c
> @@ -1273,9 +1273,13 @@ static void
> virtio_notify_peers(struct rte_eth_dev *dev)
> {
> struct virtio_hw *hw = dev->data->dev_private;
> - struct virtnet_rx *rxvq = dev->data->rx_queues[0];
> + struct virtnet_rx *rxvq = NULL;
I don't think it is needed to assign to NULL here.
> struct rte_mbuf *rarp_mbuf;
>
> + if (!dev->data->rx_queues)
> + return;
> +
> + rxvq = dev->data->rx_queues[0];
The above change is valid, but I think it should be in a dedicated
patch, as it might be backported to -stable.
> rarp_mbuf = rte_net_make_rarp_packet(rxvq->mpool,
> (struct ether_addr *)hw->mac_addr);
> if (rarp_mbuf == NULL) {
> @@ -1333,7 +1337,8 @@ virtio_interrupt_handler(void *param)
>
> if (isr & VIRTIO_NET_S_ANNOUNCE) {
> virtio_notify_peers(dev);
> - virtio_ack_link_announce(dev);
> + if (hw->cvq) > + virtio_ack_link_announce(dev);
Is this change also related to server mode?
It may deserve a dedicated patch too.
> }
> }
Thanks,
Maxime
More information about the dev
mailing list