You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@trafficserver.apache.org by "Chou, Peter" <pb...@labs.att.com> on 2015/10/22 00:25:34 UTC
Question on possible fix for TS-3932.
Hi,
I posted a comment with my RCA for TS-3932 (TOS bits not being set on releases > 5.3.0) recently.
I have been considering whether this issue can be fixed by moving the call to set dynamic socket options from Connection::open() to Connection::connect(). Note that the underlying issue is that Connection::apply_options() tests for whether the address is IPv4 before setting the TOS bits, but this test will fail because the con.addr is un-initialized in open() until it is set to the target address in connect().
I have tested by making the following change in Connection::connect() in iocore/net/UnixConnection.cc --
this->setRemote(target); // this causes the this.addr to be initialized
+ apply_options(opt);
So the apply_options() can be either copied/moved from open() to connect(). Seems to work. But before we do any in-depth testing, does this seem like the right approach, or are there draw-backs (such as extra calls to apply_options) by moving it from open to connect? Perhaps apply_options() or open() should be modified instead to avoid the issue?
Thanks,
Peter Chou
AT&T