diff options
| author | Laurent Vivier <lvivier@redhat.com> | 2025-07-09 10:24:22 +0200 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2025-07-14 13:27:09 +0800 |
| commit | 33b78a30a3e8e1cf16ef423bf2e78caf3d560985 (patch) | |
| tree | 79d9f8d1b33215fe0e64dab503814d39227cd9b8 /net/vhost-user.c | |
| parent | 1652f1b335fb5bec921c64ff7f378e6732510ca4 (diff) | |
| download | focaccia-qemu-33b78a30a3e8e1cf16ef423bf2e78caf3d560985.tar.gz focaccia-qemu-33b78a30a3e8e1cf16ef423bf2e78caf3d560985.zip | |
net: Allow network backends to advertise max TX queue size
This commit refactors how the maximum transmit queue size for virtio-net devices is determined, making the mechanism more generic and extensible. Previously, virtio_net_max_tx_queue_size() contained hardcoded checks for specific network backend types (vhost-user and vhost-vdpa) to determine their supported maximum queue size. This created direct dependencies and would require modifications for every new backend that supports variable queue sizes. To improve flexibility, a new max_tx_queue_size field is added to the vhost_net structure. This allows each network backend to advertise its supported maximum transmit queue size directly. The virtio_net_max_tx_queue_size() function now retrieves the max TX queue size from the vhost_net struct, if available and set. Otherwise, it defaults to VIRTIO_NET_TX_QUEUE_DEFAULT_SIZE. Signed-off-by: Laurent Vivier <lvivier@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'net/vhost-user.c')
| -rw-r--r-- | net/vhost-user.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/vhost-user.c b/net/vhost-user.c index 8a3df27b02..bf892915de 100644 --- a/net/vhost-user.c +++ b/net/vhost-user.c @@ -138,6 +138,7 @@ static int vhost_user_start(int queues, NetClientState *ncs[], options.busyloop_timeout = 0; options.nvqs = 2; options.feature_bits = user_feature_bits; + options.max_tx_queue_size = VIRTQUEUE_MAX_SIZE; options.get_acked_features = vhost_user_get_acked_features; options.save_acked_features = vhost_user_save_acked_features; |