qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2] qemu-options: add documentation for using UDP unicast network backend.
@ 2015-10-19 12:13 Victor Kaplansky
  2015-10-19 21:34 ` Michael S. Tsirkin
  0 siblings, 1 reply; 2+ messages in thread
From: Victor Kaplansky @ 2015-10-19 12:13 UTC (permalink / raw)
  To: qemu-devel; +Cc: jasowang, mlspirat42, mst

For the long time QEMU has support for UDP unicast network
backend added by commit 0e0e7facc775e9, but manual was missing
description and usage examples.

Changes from v1:

    Address comments by Michael S. Tsirkin:
      - remove superfluous empty lines.
      - place the note about two QEMU instances after the example.
      - English and others cleanups.

Signed-off-by: Victor Kaplansky <victork@redhat.com>
---
 qemu-options.hx | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/qemu-options.hx b/qemu-options.hx
index 2485b94..6bdb884 100644
--- a/qemu-options.hx
+++ b/qemu-options.hx
@@ -1907,6 +1907,28 @@ qemu-system-i386 linux.img \
                  -net socket,mcast=239.192.168.1:1102,localaddr=1.2.3.4
 @end example
 
+@item -netdev socket,id=@var{id}[,fd=@var{h}][,udp=@var{rhost}:@var{rport}[,localaddr=@var{lhost}:@var{lport}]]
+@itemx -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,udp=@var{rhost}:@var{rport}[,localaddr=@var{rhost}:@var{lport}]]
+
+Connect a VLAN @var{n} to a remote VLAN in another QEMU virtual
+machine using a UDP tunnel. Use lhost:lport as the local host and
+port, rhost:rport as the remote host and port of the tunnel.  Use
+@option{fd=h} to specify an already opened UDP socket.
+
+Example:
+@example
+# launch one QEMU instance
+qemu-system-i386 linux.img \
+                 -device virtio-net-pci,netdev=net0 \
+                 -netdev socket,id=net0,udp=localhost:4444,localaddr=localhost:5555
+# launch a second QEMU instance sharing the network with the first one
+qemu-system-i386 linux.img \
+                 -device virtio-net-pci,netdev=net0 \
+                 -netdev socket,id=net0,udp=localhost:5555,localaddr=localhost:4444
+
+NOTE: The two QEMU instances can be running on different hosts.
+@end example
+
 @item -netdev l2tpv3,id=@var{id},src=@var{srcaddr},dst=@var{dstaddr}[,srcport=@var{srcport}][,dstport=@var{dstport}],txsession=@var{txsession}[,rxsession=@var{rxsession}][,ipv6][,udp][,cookie64][,counter][,pincounter][,txcookie=@var{txcookie}][,rxcookie=@var{rxcookie}][,offset=@var{offset}]
 @itemx -net l2tpv3[,vlan=@var{n}][,name=@var{name}],src=@var{srcaddr},dst=@var{dstaddr}[,srcport=@var{srcport}][,dstport=@var{dstport}],txsession=@var{txsession}[,rxsession=@var{rxsession}][,ipv6][,udp][,cookie64][,counter][,pincounter][,txcookie=@var{txcookie}][,rxcookie=@var{rxcookie}][,offset=@var{offset}]
 Connect VLAN @var{n} to L2TPv3 pseudowire. L2TPv3 (RFC3391) is a popular
-- 
--Victor

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [Qemu-devel] [PATCH v2] qemu-options: add documentation for using UDP unicast network backend.
  2015-10-19 12:13 [Qemu-devel] [PATCH v2] qemu-options: add documentation for using UDP unicast network backend Victor Kaplansky
@ 2015-10-19 21:34 ` Michael S. Tsirkin
  0 siblings, 0 replies; 2+ messages in thread
From: Michael S. Tsirkin @ 2015-10-19 21:34 UTC (permalink / raw)
  To: Victor Kaplansky; +Cc: jasowang, qemu-devel, mlspirat42

On Mon, Oct 19, 2015 at 03:13:44PM +0300, Victor Kaplansky wrote:
> For the long time QEMU has support for UDP unicast network
> backend added by commit 0e0e7facc775e9, but manual was missing
> description and usage examples.
> 
> Changes from v1:
> 
>     Address comments by Michael S. Tsirkin:
>       - remove superfluous empty lines.
>       - place the note about two QEMU instances after the example.
>       - English and others cleanups.

This text should come after ---: this way git am will skip
it when applying the patch.
Whoever's applying this can probably take it out so
I think this is not a reason to repost.

> Signed-off-by: Victor Kaplansky <victork@redhat.com>
> ---
>  qemu-options.hx | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 2485b94..6bdb884 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -1907,6 +1907,28 @@ qemu-system-i386 linux.img \
>                   -net socket,mcast=239.192.168.1:1102,localaddr=1.2.3.4
>  @end example
>  
> +@item -netdev socket,id=@var{id}[,fd=@var{h}][,udp=@var{rhost}:@var{rport}[,localaddr=@var{lhost}:@var{lport}]]
> +@itemx -net socket[,vlan=@var{n}][,name=@var{name}][,fd=@var{h}][,udp=@var{rhost}:@var{rport}[,localaddr=@var{rhost}:@var{lport}]]
> +
> +Connect a VLAN @var{n} to a remote VLAN in another QEMU virtual
> +machine using a UDP tunnel.


I thought about this, and I wonder how does this work wrt MTU discovery
(when not using localhost). Does guest have to reduce MTU to make packets fit?
QEMU doesn't enable fragmentation or report issues to guest.

Probably worth documenting. Maybe suggest looking at udp(7) for some
work-arounds.

> Use lhost:lport as the local host and
> +port,

BTW 0.0.0.0 is a local value for lhost, isn't it?
Address is just passed on to bind, and that's INADDR_ANY so I think it's
supposed to work, but I didn't try.
If yes, it might be worth documenting.

> rhost:rport as the remote host and port of the tunnel.  Use
> +@option{fd=h} to specify an already opened UDP socket.
> +
> +Example:
> +@example
> +# launch one QEMU instance
> +qemu-system-i386 linux.img \
> +                 -device virtio-net-pci,netdev=net0 \
> +                 -netdev socket,id=net0,udp=localhost:4444,localaddr=localhost:5555
> +# launch a second QEMU instance sharing the network with the first one
> +qemu-system-i386 linux.img \
> +                 -device virtio-net-pci,netdev=net0 \
> +                 -netdev socket,id=net0,udp=localhost:5555,localaddr=localhost:4444
> +
> +NOTE: The two QEMU instances can be running on different hosts.
> +@end example
> +
>  @item -netdev l2tpv3,id=@var{id},src=@var{srcaddr},dst=@var{dstaddr}[,srcport=@var{srcport}][,dstport=@var{dstport}],txsession=@var{txsession}[,rxsession=@var{rxsession}][,ipv6][,udp][,cookie64][,counter][,pincounter][,txcookie=@var{txcookie}][,rxcookie=@var{rxcookie}][,offset=@var{offset}]
>  @itemx -net l2tpv3[,vlan=@var{n}][,name=@var{name}],src=@var{srcaddr},dst=@var{dstaddr}[,srcport=@var{srcport}][,dstport=@var{dstport}],txsession=@var{txsession}[,rxsession=@var{rxsession}][,ipv6][,udp][,cookie64][,counter][,pincounter][,txcookie=@var{txcookie}][,rxcookie=@var{rxcookie}][,offset=@var{offset}]
>  Connect VLAN @var{n} to L2TPv3 pseudowire. L2TPv3 (RFC3391) is a popular
> -- 
> --Victor

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2015-10-19 21:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-19 12:13 [Qemu-devel] [PATCH v2] qemu-options: add documentation for using UDP unicast network backend Victor Kaplansky
2015-10-19 21:34 ` Michael S. Tsirkin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).