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 <[email protected]>
> ---
> io/channel-socket.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Daniel P. Berrangé <[email protected]>
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 :|