[Bug 181741] [kernel] [patch] Packet loss when 'control' messages are present with large data (sendmsg(2))

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jul 25 20:07:35 UTC 2018


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=181741

Mark Johnston <markj at FreeBSD.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |markj at FreeBSD.org

--- Comment #17 from Mark Johnston <markj at FreeBSD.org> ---
I'm not sure I see much value in internalizing ("finalizing") control messages
in sosend_generic().  In general, the socket layer does not treat the sockbuf
limits (sb_mbmax and sb_hiwat) as strict limits; see the comment about SB_STOP
in uipc_rcvd(), for example.  Furthermore, the unix socket code never actually
puts anything in the send buffer.  The purpose of the limits in this context is
to enable a somewhat rudimentary backpressure system, and since
sosend_generic() already puts a hard bound on the size of control messages, I
don't see why it needs to go through the trouble of performing an exact check.

Assuming that argument is reasonable, I believe it's sufficient to just omit
the space checks in sbappendcontrol() like we already do for SEQPACKET unix
sockets.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-net mailing list