Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Feb 2001 15:09:03 -0500 (EST)
From:      Garrett Wollman <wollman@khavrinen.lcs.mit.edu>
To:        Luigi Rizzo <rizzo@aciri.org>
Cc:        wollman@khavrinen.lcs.mit.edu (Garrett Wollman), bright@wintelcom.net, net@FreeBSD.ORG
Subject:   Re: send problem on udp socket...
Message-ID:  <200102072009.PAA46020@khavrinen.lcs.mit.edu>
In-Reply-To: <200102071923.f17JNmH77765@iguana.aciri.org>
References:  <200102071919.OAA45590@khavrinen.lcs.mit.edu> <200102071923.f17JNmH77765@iguana.aciri.org>

next in thread | previous in thread | raw e-mail | index | archive | help
<<On Wed, 7 Feb 2001 11:23:48 -0800 (PST), Luigi Rizzo <rizzo@aciri.org> said:

> on a similar subject (UDP sockets), i notice that
> socket buffers do not have a pointer to the end of
> the queued mbufs, so sbappend*() routines have to scan the
> list of queued bufs. As you can imagine this is
> causing some nasty effect when a receiver is slow.

I've thought about this problem before, in the context of a TCP
sender, where the best solution is both (a) hard and (b) significantly
different.  I had not thought about it in the case of UDP, but yes,
that could be a significant issue, particularly since UDP packets on
the receive queue can never be coalesced (so there's DoS potential).

I think adding a (sort of) tail pointer to the socket buffer might be
helpful.  I think you want it to point to the mbuf before the last
*record* in the socket buffer, in order for sbcompress() to do its
work, which means that you may still have to traverse a chain of mbufs
(hopefully just not as many).

-GAWollman



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200102072009.PAA46020>