[libvirt] [PATCH] util: increase libnl buffer size to 1M

John Ferlan jferlan at redhat.com
Mon Jul 10 18:51:34 UTC 2017



On 06/29/2017 02:05 PM, ZhiPeng Lu wrote:
> nl_recv() returns the error "No buffer space available"
> when using virsh destroy domain with 240 or more
> passhthrough network interfaces.

pass-through

> The patch increases libnl sock receive buffer size to 1M,
> and nl_recv() doesn't return error when destroying domain
> with 512 network interfaces.
> 
> Signed-off-by: ZhiPeng Lu <lu.zhipeng at zte.com.cn>
> ---
>  src/util/virnetlink.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 

This feels like something that perhaps should be configurable - that is
some /etc/libvirt/libvirtd.conf variable; otherwise, we'll keep hitting
some conflated maximum based on the size of something.

John

There's quite a bit of history in the archives from the original
implementation of this API... Not sure if you read it or not, but since
I was looking through the history, here

v1: https://www.redhat.com/archives/libvir-list/2015-December/msg00407.html

v1 followup:
https://www.redhat.com/archives/libvir-list/2016-January/msg00107.html

v2: https://www.redhat.com/archives/libvir-list/2016-January/msg00339.html

v3: https://www.redhat.com/archives/libvir-list/2016-January/msg00342.html

v4: https://www.redhat.com/archives/libvir-list/2016-January/msg00866.html

> diff --git a/src/util/virnetlink.c b/src/util/virnetlink.c
> index 92ecf77..bb56c54 100644
> --- a/src/util/virnetlink.c
> +++ b/src/util/virnetlink.c
> @@ -189,10 +189,10 @@ virNetlinkCreateSocket(int protocol)
>          goto error;
>      }
>  
> -    if (virNetlinkSetBufferSize(nlhandle, 131702, 0) < 0) {
> +    if (virNetlinkSetBufferSize(nlhandle, 1048576, 0) < 0) {
>          virReportSystemError(errno, "%s",
>                               _("cannot set netlink socket buffer "
> -                               "size to 128k"));
> +                               "size to 1M"));
>          goto error;
>      }
>      nl_socket_enable_msg_peek(nlhandle);
> 




More information about the libvir-list mailing list