Date: Tue, 15 Dec 1998 08:30:12 -0800 (PST) From: Marc Slemko <marcs@znep.com> To: Michael Robinson <robinson@netrinsics.com> Cc: fenner@parc.xerox.com, freebsd-net@FreeBSD.ORG Subject: Re: MLEN < write length < MINCLSIZE "bug" Message-ID: <Pine.BSF.4.05.9812150824460.22888-100000@alive.znep.com> In-Reply-To: <199812151555.PAA07456@netrinsics.com>
next in thread | previous in thread | raw e-mail | index | archive | help
(-stable removed from the cc list, since this isn't particular to stable in any way) On Tue, 15 Dec 1998, Michael Robinson wrote: > Bill Fenner <fenner@parc.xerox.com> writes: > >You misunderstand. The fix is to accumulate mbufs in a chain until either > >a) The protocol gets all of the data that it wanted, or > >b) All of the data that the user has provided has been copied into mbufs. > > > >(b) is what sosend() used to do. The URL referenced (the one with > >"vanj88" in it) describes why sosend() was changed to use only a single > >mbuf at a time, but this performance problem was not envisioned at > >the time. > > Ok, I misunderstood. But I still disagree it's a bug. Or, more precisely, > it would be a bug if the socket API and the TCP protocol were seen as one > inseparable entity, which is not the case. No, it really is a bug. It is inherently broken to write multiple packets for one write() when the size of the write is far less than the MTU (well, the "effective MTU") unless you have extreme extenuating circumstances. It may not be a bug covered by any spec, but for people trying to write useful network apps it shoots them in the head. It is still a bug. 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?Pine.BSF.4.05.9812150824460.22888-100000>