On Thu, Aug 04, 2022 at 04:10:43AM -0300, Leonardo Bras wrote: > For using MSG_ZEROCOPY, there are two steps: > 1 - io_writev() the packet, which enqueues the packet for sending, and > 2 - io_flush(), which gets confirmation that all packets got correctly sent > > Currently, if MSG_ZEROCOPY is used to send packets over IPV6, no error will > be reported in (1), but it will fail in the first time (2) happens. > > This happens because (2) currently checks for cmsg_level & cmsg_type > associated with IPV4 only, before reporting any error. > > Add checks for cmsg_level & cmsg_type associated with IPV6, and thus enable > support for MSG_ZEROCOPY + IPV6
Oh, subtle. > > Fixes: 2bc58ffc29 ("QIOChannelSocket: Implement io_writev zero copy flag & > io_flush for CONFIG_LINUX") > Signed-off-by: Leonardo Bras <leob...@redhat.com> > --- > io/channel-socket.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) Reviewed-by: Daniel P. Berrangé <berra...@redhat.com> With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|