At Mon, 7 Oct 2013 11:31:48 +0100,
Daniel P. Berrange wrote:
> I've also tested your patch, and it seems 256 KB of data is still a
> bit too large:
>
> virsh # screenshot 2 /tmp/test
> error: could not receive data from domain 2
> error: packet 262168 bytes received from server too large, want 262144
>
> The max payload size is computed as:
>
> VIR_NET_MESSAGE_MAX = 16777216
> VIR_NET_MESSAGE_HEADER_MAX = 24
> VIR_NET_MESSAGE_PAYLOAD_MAX = (VIR_NET_MESSAGE_MAX - VIR_NET_MESSAGE_HEADER_MAX) =
16777192
>
> So, it seems the legacy max payload size is actually 262120; I tested
> it and it works.
>
> ------------------- 8< ------ >8 ---------------------------
> Subject: [PATCH] Adjust legacy max payload size to account for header
> information
> Organization: AV-Test GmbH, Germany
>
> Commit 27e81517a87 set the payload size to 256 KB, which is
> actually the max packet size, including the size of the header.
>
> Reduce this by VIR_NET_MESSAGE_HEADER_MAX (24) and set
> VIR_NET_MESSAGE_LEGACY_PAYLOAD_MAX to 262120.
>
> Signed-off-by: Claudio Bley <cbley(a)av-test.de>
> ---
> src/rpc/virnetprotocol.x | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/rpc/virnetprotocol.x b/src/rpc/virnetprotocol.x
> index 1eae7cb..7b6f753 100644
> --- a/src/rpc/virnetprotocol.x
> +++ b/src/rpc/virnetprotocol.x
> @@ -55,7 +55,7 @@ const VIR_NET_MESSAGE_INITIAL = 65536;
> * payload size. We need to remember this for compat with
> * old clients.
> */
> -const VIR_NET_MESSAGE_LEGACY_PAYLOAD_MAX = 262144;
> +const VIR_NET_MESSAGE_LEGACY_PAYLOAD_MAX = 262120;
>
> /* Maximum total message size (serialised). */
> const VIR_NET_MESSAGE_MAX = 16777216;
Damn, yes, you are correct. The original value was 262120, I
copied the wrong value.
THe commit which changed it first was
commit eb635de1fed3257c5c62b552d1ec981c9545c1d7
Author: Michal Privoznik <mprivozn(a)redhat.com>
Date: Fri Apr 27 14:49:48 2012 +0200
rpc: Size up RPC limits
/* Size of message payload */
-const VIR_NET_MESSAGE_PAYLOAD_MAX = 262120;
+const VIR_NET_MESSAGE_PAYLOAD_MAX = 4194280;
I amended my commit message referring to Michal's commit
and pushed.
Are you pushing to the maintenance branches, then?
Claudio
--
AV-Test GmbH, Henricistraße 20, 04155 Leipzig, Germany
Phone: +49 341 265 310 19
Web:<http://www.av-test.org>
Eingetragen am / Registered at: Amtsgericht Stendal (HRB 114076)
Geschaeftsfuehrer (CEO): Andreas Marx, Guido Habicht, Maik Morgenstern