DragonFly BSD
DragonFly commits List (threaded) for 2009-12
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: git: network - Move socket from netmsg ext to netmsg header, add port to socket

From: Aggelos Economopoulos <aoiko@xxxxxxxxxxxxxx>
Date: Wed, 09 Dec 2009 20:52:39 +0200

Aggelos Economopoulos wrote:
> Matthew Dillon wrote:
> [...]
>> :Given that pretty much nobody uses T/TCP (Linux doesn't even implement
>> :it) I'd suggest we remove it altogether. Otherwise, we should revert at
>> :least the change above (of course, I would not be surprised if T/TCP has
>> :been broken for years and nobody noticed ;)
>> :
>> :Aggelos
>>     I'd say remove it alltogether. [...]
> I'll give it a try, probably tomorrow.

Hmm. It seems to me we want to keep tao_mssopt, otherwise we risk
crippling mtu discovery. Specifically, I'm thinking of the following
code from tcp_subr::tcp_mtudisc():

 * XXX - The following conditional probably violates the TCP
 * spec.  The problem is that, since we don't know the
 * other end's MSS, we are supposed to use a conservative
 * default.  But, if we do that, then MTU discovery will
 * never actually take place, because the conservative
 * default is much less than the MTUs typically seen
 * on the Internet today.  For the moment, we'll sweep
 * this under the carpet.
 * The conservative default might not actually be a problem
 * if the only case this occurs is when sending an initial
 * SYN with options and data to a host we've never talked
 * to before.  Then, they will reply with an MSS value which
 * will get recorded and the new parameters should get
 * recomputed.  For Further Study.
if (taop->tao_mssopt != 0 && taop->tao_mssopt < maxopd)
        maxopd = taop->tao_mssopt;

Looks like it could be moved in rt_metrics too, but I haven't thought
this through yet.



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]