default ECN settings

K. Macy kmacy at freebsd.org
Sat Sep 5 01:05:38 UTC 2015


On Fri, Sep 4, 2015 at 5:53 PM, Don Lewis <truckman at freebsd.org> wrote:
> On  4 Sep, K. Macy wrote:
>> By default ECN is completely disabled on FreeBSD. On Linux the default
>> is to disable it outbound (not request it) but enable it inbound
>> (accept new connections asking for it). Is there a good reason to only
>> set ECN_PERMIT on inbound connections if the system is doing ECN on
>> outbound connections?
>
> Not that I can think of.  The risk in enabling ECN for outbound
> connections is that some connection attempts can fail, especially if you
> are attempting to connect to some old and oddball device.  That should
> not be a risk for inbound connections since those devices won't be
> requesting ECN.

Even with 'oddball' devices the stack is configured to retry ECN n
times where n defaults to 1 and then revert to not requesting ECN
support. Thus connections would take longer on 'oddball' devices. The
solution that *I* would choose for that would be to track ECN support
in the host cache. The first connection to a new host would always try
ECN and in the event that that failed all subsequent connection
attempts would not try ECN. To me this seems like the most robust
compromise. However, I don't yet have enough information to say how
much benefit this would confer.

> Seems like we should be defaulting ECN on for inbound connections,
> though we currently can't control the two directions separately.

That is a straightforward change.


Cheers.


More information about the freebsd-net mailing list