Patchwork help: add docs for multiqueue tap options

login
register
mail settings
Submitter Jason Wang
Date Feb. 20, 2013, 10:04 a.m.
Message ID <1361354641-51969-1-git-send-email-jasowang@redhat.com>
Download mbox | patch
Permalink /patch/222064/
State New
Headers show

Comments

Jason Wang - Feb. 20, 2013, 10:04 a.m.
Cc: Markus Armbruster <armbru@redhat.com>
Cc: Jason Wang <jasowang@redhat.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
This patch is neede for 1.4 stable also.
---
 qapi-schema.json |    6 ++++++
 qemu-options.hx  |    4 +++-
 2 files changed, 9 insertions(+), 1 deletions(-)
Markus Armbruster - Feb. 21, 2013, 3:09 p.m.
Jason Wang <jasowang@redhat.com> writes:

> Cc: Markus Armbruster <armbru@redhat.com>
> Cc: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
> This patch is neede for 1.4 stable also.
> ---
>  qapi-schema.json |    6 ++++++
>  qemu-options.hx  |    4 +++-
>  2 files changed, 9 insertions(+), 1 deletions(-)
>
> diff --git a/qapi-schema.json b/qapi-schema.json
> index 7275b5d..cd7ea25 100644
> --- a/qapi-schema.json
> +++ b/qapi-schema.json
> @@ -2504,6 +2504,9 @@
>  #
>  # @fd: #optional file descriptor of an already opened tap
>  #
> +# @fds: #optional multiple file descriptors of already opened multiqueue capable
> +# tap
> +#
>  # @script: #optional script to initialize the interface
>  #
>  # @downscript: #optional script to shut down the interface
> @@ -2518,6 +2521,9 @@
>  #
>  # @vhostfd: #optional file descriptor of an already opened vhost net device
>  #
> +# @vhostfds: #optional file descriptors of multiple already opened vhost net
> +# devices
> +#
>  # @vhostforce: #optional vhost on for non-MSIX virtio guests
>  #
>  # Since 1.2

Now only 'queues' remains undocumented.  Could you take care of that,
too?  Separate patch, if you like.

Quick question to help me understand the feature: is "fds=N" equivalent
to "fd=N"?  Is "vhostfds=N" equivalent to "vhostfd=N"?

> diff --git a/qemu-options.hx b/qemu-options.hx
> index 4bc9c85..2832d82 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -1354,7 +1354,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>      "-net tap[,vlan=n][,name=str],ifname=name\n"
>      "                connect the host TAP network interface to VLAN 'n'\n"
>  #else
> -    "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]\n"
> +    "-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostfds=x:y:...:z][,vhostforce=on|off]\n"
>      "                connect the host TAP network interface to VLAN 'n'\n"
>      "                use network scripts 'file' (default=" DEFAULT_NETWORK_SCRIPT ")\n"
>      "                to configure it and 'dfile' (default=" DEFAULT_NETWORK_DOWN_SCRIPT ")\n"
> @@ -1363,6 +1363,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>      "                use network helper 'helper' (default=" DEFAULT_BRIDGE_HELPER ") to\n"
>      "                configure it\n"
>      "                use 'fd=h' to connect to an already opened TAP interface\n"
> +    "                use 'fds=x:y:...:z' to connect to already opened multiqueue capable TAP interfaces\n"
>      "                use 'sndbuf=nbytes' to limit the size of the send buffer (the\n"
>      "                default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')\n"
>      "                use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag\n"
> @@ -1371,6 +1372,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>      "                    (only has effect for virtio guests which use MSIX)\n"
>      "                use vhostforce=on to force vhost on for non-MSIX virtio guests\n"
>      "                use 'vhostfd=h' to connect to an already opened vhost net device\n"
> +    "                use 'vhostfds=x:y:...:z to connect to multiple already opened vhost net devices\n"
>      "-net bridge[,vlan=n][,name=str][,br=bridge][,helper=helper]\n"
>      "                connects a host TAP network interface to a host bridge device 'br'\n"
>      "                (default=" DEFAULT_BRIDGE_INTERFACE ") using the program 'helper'\n"

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Markus Armbruster - Feb. 21, 2013, 3:12 p.m.
Jason Wang <jasowang@redhat.com> writes:

> Cc: Markus Armbruster <armbru@redhat.com>
> Cc: Jason Wang <jasowang@redhat.com>
> Signed-off-by: Jason Wang <jasowang@redhat.com>
> ---
> This patch is neede for 1.4 stable also.

Forgot to mention, the recommended way to nominate for stable is to cc:
stable in the commit message, like this:

Cc: qemu-stable@nongnu.org
Jason Wang - Feb. 22, 2013, 5:47 a.m.
On 02/21/2013 11:09 PM, Markus Armbruster wrote:
> Jason Wang <jasowang@redhat.com> writes:
>
>> Cc: Markus Armbruster <armbru@redhat.com>
>> Cc: Jason Wang <jasowang@redhat.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>> This patch is neede for 1.4 stable also.
>> ---
>>  qapi-schema.json |    6 ++++++
>>  qemu-options.hx  |    4 +++-
>>  2 files changed, 9 insertions(+), 1 deletions(-)
>>
>> diff --git a/qapi-schema.json b/qapi-schema.json
>> index 7275b5d..cd7ea25 100644
>> --- a/qapi-schema.json
>> +++ b/qapi-schema.json
>> @@ -2504,6 +2504,9 @@
>>  #
>>  # @fd: #optional file descriptor of an already opened tap
>>  #
>> +# @fds: #optional multiple file descriptors of already opened multiqueue capable
>> +# tap
>> +#
>>  # @script: #optional script to initialize the interface
>>  #
>>  # @downscript: #optional script to shut down the interface
>> @@ -2518,6 +2521,9 @@
>>  #
>>  # @vhostfd: #optional file descriptor of an already opened vhost net device
>>  #
>> +# @vhostfds: #optional file descriptors of multiple already opened vhost net
>> +# devices
>> +#
>>  # @vhostforce: #optional vhost on for non-MSIX virtio guests
>>  #
>>  # Since 1.2
> Now only 'queues' remains undocumented.  Could you take care of that,
> too?  Separate patch, if you like.

Oh, I missed that, will send a v2.
> Quick question to help me understand the feature: is "fds=N" equivalent
> to "fd=N"?  Is "vhostfds=N" equivalent to "vhostfd=N"?

Yes, they are equivalent.
>> diff --git a/qemu-options.hx b/qemu-options.hx
>> index 4bc9c85..2832d82 100644
>> --- a/qemu-options.hx
>> +++ b/qemu-options.hx
>> @@ -1354,7 +1354,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>>      "-net tap[,vlan=n][,name=str],ifname=name\n"
>>      "                connect the host TAP network interface to VLAN 'n'\n"
>>  #else
>> -    "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]\n"
>> +    "-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostfds=x:y:...:z][,vhostforce=on|off]\n"
>>      "                connect the host TAP network interface to VLAN 'n'\n"
>>      "                use network scripts 'file' (default=" DEFAULT_NETWORK_SCRIPT ")\n"
>>      "                to configure it and 'dfile' (default=" DEFAULT_NETWORK_DOWN_SCRIPT ")\n"
>> @@ -1363,6 +1363,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>>      "                use network helper 'helper' (default=" DEFAULT_BRIDGE_HELPER ") to\n"
>>      "                configure it\n"
>>      "                use 'fd=h' to connect to an already opened TAP interface\n"
>> +    "                use 'fds=x:y:...:z' to connect to already opened multiqueue capable TAP interfaces\n"
>>      "                use 'sndbuf=nbytes' to limit the size of the send buffer (the\n"
>>      "                default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')\n"
>>      "                use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag\n"
>> @@ -1371,6 +1372,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net,
>>      "                    (only has effect for virtio guests which use MSIX)\n"
>>      "                use vhostforce=on to force vhost on for non-MSIX virtio guests\n"
>>      "                use 'vhostfd=h' to connect to an already opened vhost net device\n"
>> +    "                use 'vhostfds=x:y:...:z to connect to multiple already opened vhost net devices\n"
>>      "-net bridge[,vlan=n][,name=str][,br=bridge][,helper=helper]\n"
>>      "                connects a host TAP network interface to a host bridge device 'br'\n"
>>      "                (default=" DEFAULT_BRIDGE_INTERFACE ") using the program 'helper'\n"
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
Jason Wang - Feb. 22, 2013, 5:48 a.m.
On 02/21/2013 11:12 PM, Markus Armbruster wrote:
> Jason Wang <jasowang@redhat.com> writes:
>
>> Cc: Markus Armbruster <armbru@redhat.com>
>> Cc: Jason Wang <jasowang@redhat.com>
>> Signed-off-by: Jason Wang <jasowang@redhat.com>
>> ---
>> This patch is neede for 1.4 stable also.
> Forgot to mention, the recommended way to nominate for stable is to cc:
> stable in the commit message, like this:
>
> Cc: qemu-stable@nongnu.org
>

Ah, thanks for reminding.

Patch

diff --git a/qapi-schema.json b/qapi-schema.json
index 7275b5d..cd7ea25 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -2504,6 +2504,9 @@ 
 #
 # @fd: #optional file descriptor of an already opened tap
 #
+# @fds: #optional multiple file descriptors of already opened multiqueue capable
+# tap
+#
 # @script: #optional script to initialize the interface
 #
 # @downscript: #optional script to shut down the interface
@@ -2518,6 +2521,9 @@ 
 #
 # @vhostfd: #optional file descriptor of an already opened vhost net device
 #
+# @vhostfds: #optional file descriptors of multiple already opened vhost net
+# devices
+#
 # @vhostforce: #optional vhost on for non-MSIX virtio guests
 #
 # Since 1.2
diff --git a/qemu-options.hx b/qemu-options.hx
index 4bc9c85..2832d82 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1354,7 +1354,7 @@  DEF("net", HAS_ARG, QEMU_OPTION_net,
     "-net tap[,vlan=n][,name=str],ifname=name\n"
     "                connect the host TAP network interface to VLAN 'n'\n"
 #else
-    "-net tap[,vlan=n][,name=str][,fd=h][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostforce=on|off]\n"
+    "-net tap[,vlan=n][,name=str][,fd=h][,fds=x:y:...:z][,ifname=name][,script=file][,downscript=dfile][,helper=helper][,sndbuf=nbytes][,vnet_hdr=on|off][,vhost=on|off][,vhostfd=h][,vhostfds=x:y:...:z][,vhostforce=on|off]\n"
     "                connect the host TAP network interface to VLAN 'n'\n"
     "                use network scripts 'file' (default=" DEFAULT_NETWORK_SCRIPT ")\n"
     "                to configure it and 'dfile' (default=" DEFAULT_NETWORK_DOWN_SCRIPT ")\n"
@@ -1363,6 +1363,7 @@  DEF("net", HAS_ARG, QEMU_OPTION_net,
     "                use network helper 'helper' (default=" DEFAULT_BRIDGE_HELPER ") to\n"
     "                configure it\n"
     "                use 'fd=h' to connect to an already opened TAP interface\n"
+    "                use 'fds=x:y:...:z' to connect to already opened multiqueue capable TAP interfaces\n"
     "                use 'sndbuf=nbytes' to limit the size of the send buffer (the\n"
     "                default is disabled 'sndbuf=0' to enable flow control set 'sndbuf=1048576')\n"
     "                use vnet_hdr=off to avoid enabling the IFF_VNET_HDR tap flag\n"
@@ -1371,6 +1372,7 @@  DEF("net", HAS_ARG, QEMU_OPTION_net,
     "                    (only has effect for virtio guests which use MSIX)\n"
     "                use vhostforce=on to force vhost on for non-MSIX virtio guests\n"
     "                use 'vhostfd=h' to connect to an already opened vhost net device\n"
+    "                use 'vhostfds=x:y:...:z to connect to multiple already opened vhost net devices\n"
     "-net bridge[,vlan=n][,name=str][,br=bridge][,helper=helper]\n"
     "                connects a host TAP network interface to a host bridge device 'br'\n"
     "                (default=" DEFAULT_BRIDGE_INTERFACE ") using the program 'helper'\n"