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@xxxxxxxxxx> > --- > 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); > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list