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

Aggelos Economopoulos aoiko at cc.ece.ntua.gr
Wed Dec 9 10:53:49 PST 2009


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.

Opinions?

Thanks,
Aggelos






More information about the Commits mailing list