I think perhaps it might be desirable to change the description
to avoid direct reference to Citrix XenServer / XVP in the docs.
Instead say that the XVP extension allows for lifecycle control
of a virtual machine associated with the VNC server. Then refer
to XVP / XenServer as the primary / reference implementation of
the extension.

The reason I'm suggesting, is that I'm inclined to try adding
this VNC extension to QEMU/KVM's VNC server too - this would
in fact also allow Xen to be rebooted/shutdown/etc without
talking to XenServer.

Regards,
Daniel

On Wed, May 27, 2009 at 09:10:51AM +0100, Colin Dean wrote:
> Second attempt attached, with corrections as suggested by Peter.
>
> Colin

> Describe the xvp pseudo-encoding and xvp message types
> 
> The xvp extension allows clients to perform shutdown, reboot and reset
> operations on virtual machines hosted on Citrix XenServer, via the Xen
> VNC Proxy server, xvp.
> 
> Signed-off-by: Colin Dean <c.c.d...@durham.ac.uk>
> ---
> 
> Index: rfbproto.rst
> ===================================================================
> --- rfbproto.rst      (revision 3809)
> +++ rfbproto.rst      (working copy)
> @@ -509,7 +509,7 @@
>  253         `gii (General Input Interface) Client Message`_
>  252         tight
>  251         Pierre Ossman SetDesktopSize
> -250         Colin Dean xvp
> +250         `xvp Client Message`_
>  =========== ===========================================================
>  
>  Note that before sending a message with an optional message type a
> @@ -1043,6 +1043,27 @@
>  
>  The event reports *count* valuators starting with *first*.
>  
> +xvp Client Message
> +------------------
> +
> +A client sends this message to request a clean shutdown, clean reboot or
> +abrupt reset of a Citrix Xenserver virtual machine it is connected to
> +via the Xen VNC Proxy server, xvp.
> +
> +=============== ==================== ========== =======================
> +No. of bytes    Type                 [Value]    Description
> +=============== ==================== ========== =======================
> +1               ``U8``               250        *message-type*
> +1                                               *padding*
> +1               ``U8``               1          *xvp-extension-version*
> +1               ``U8``                          *xvp-message-code*
> +=============== ==================== ========== =======================
> +
> +The possible values for *xvp-message-code* are: 2 - XVP_SHUTDOWN,
> +3 - XVP_REBOOT, and 4 - XVP_RESET.  The client must have already
> +established that the server supports this extension, by requesting the
> +`xvp Pseudo-encoding`_.
> +
>  Server to Client Messages
>  +++++++++++++++++++++++++
>  
> @@ -1066,7 +1087,7 @@
>  254, 127    VMWare
>  253         `gii (General Input Interface) Server Message`_
>  252         tight
> -250         Colin Dean xvp
> +250         `xvp Server Message`_
>  =========== ===========================================================
>  
>  Note that before sending a message with an optional message type a
> @@ -1208,6 +1229,31 @@
>  communications. A *device-origin* of zero indicates device creation
>  failure.
>  
> +xvp Server Message
> +------------------
> +
> +This message is sent by the Xen VNC Proxy server, xvp.
> +
> +=============== ==================== ========== =======================
> +No. of bytes    Type                 [Value]    Description
> +=============== ==================== ========== =======================
> +1               ``U8``               250        *message-type*
> +1                                               *padding*
> +1               ``U8``               1          *xvp-extension-version*
> +1               ``U8``                          *xvp-message-code*
> +=============== ==================== ========== =======================
> +
> +The possible values for *xvp-message-code* are: 0 - XVP_FAIL and 1 -
> +XVP_INIT.
> +
> +A server which supports the *xvp* extension declares this by sending a
> +message with an XVP_INIT *xvp-message-code* if it receives a request
> +from the client to use the `xvp Pseudo-encoding`_.
> +
> +A server which subsequently receives an `xvp Client Message`_ requesting
> +an operation which it is unable to perform, informs the client of this
> +by sending a message with an XVP_FAIL *xvp-message-code*.
> +
>  Encodings
>  +++++++++
>  
> @@ -1227,6 +1273,7 @@
>  -239        `Cursor Pseudo-encoding`_
>  -223        `DesktopSize Pseudo-encoding`_
>  -305        `gii (General Input Interface) Pseudo-encoding`_
> +-309        `xvp Pseudo-encoding`_
>  =========== ===========================================================
>  
>  Other registered encodings are:
> @@ -1245,7 +1292,6 @@
>  -306                        popa
>  -307                        Peter Astrand DesktopName
>  -308                        Pierre Ossman ExtendedDesktopSize
> --309                        Colin Dean xvp
>  0x574d5600 to 0x574d56ff    VMWare
>  =========================== ===========================================
>  
> @@ -1759,3 +1805,18 @@
>  where the standard input model is insufficient. It supports relative
>  mouse movements, mouses with more than 8 buttons and mouses with more
>  than three axes. It even supports joysticks and gamepads.
> +
> +xvp Pseudo-encoding
> +-------------------
> +
> +A client which requests the *xvp* pseudo-encoding is declaring that it
> +is capable sending *xvp* client-to-server messages and accepting *xvp*
> +server-to-client messages. The server declares that it supports *xvp* by
> +replying with an *xvp* server-to-client message with an
> +*xvp-message-code* of *XVP_INIT*.
> +
> +Requesting the *xvp* pseudo-encoding is the first step when a client
> +wants to use the *xvp* extension to the RFB protocol.  This allows
> +clients to perform administrative operations (shutdown, reboot and
> +reset) on virtual machines hosted on Citrix XenServer, via the Xen VNC
> +Proxy server, xvp.  See http://www.dur.ac.uk/c.c.dean/xvp/ for details.

> ------------------------------------------------------------------------------
> Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
> is a gathering of tech-side developers & brand creativity professionals. Meet
> the minds behind Google Creative Lab, Visual Complexity, Processing, & 
> iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
> Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
> _______________________________________________
> tigervnc-rfbproto mailing list
> tigervnc-rfbproto@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto


-- 
|: http://berrange.com/     -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org  -o-  http://virt-manager.org  -o-  http://ovirt.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://freshmeat.net/~danielpb/    -o-   http://gtk-vnc.sourceforge.net :|

------------------------------------------------------------------------------
Register Now for Creativity and Technology (CaT), June 3rd, NYC. CaT 
is a gathering of tech-side developers & brand creativity professionals. Meet
the minds behind Google Creative Lab, Visual Complexity, Processing, & 
iPhoneDevCamp as they present alongside digital heavyweights like Barbarian 
Group, R/GA, & Big Spaceship. http://p.sf.net/sfu/creativitycat-com 
_______________________________________________
tigervnc-rfbproto mailing list
tigervnc-rfbproto@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-rfbproto

Reply via email to