Tue, Sep 17, 2019 at 10:13 AM Jason Baron <jba...@akamai.com> wrote: > > > Hi, > > I was interested in adding a field to tcp_info around the TFO state of a > socket. So for the server side it would indicate if TFO was used to > create the socket and on the client side it would report whether TFO > worked and if not that it failed with maybe some additional states > around why it failed. I'm thinking it would be maybe 3 bits. > > My question is whether its reasonable to use the unused bits of > __u8 tcpi_delivery_rate_app_limited:1;. Or is this not good because > the size hasn't changed? What if I avoided using 0 for the new field to > avoid the possibility of not knowing if 0 because its the old kernel or > 0 because that's now its a TFO state? IE the new field could always be > > 0 for the new kernel. >
I guess that storing the 'why it has failed' would need more bits. I suggest maybe using an event for this, instead of TCP_INFO ? As of using the bits, maybe the monitoring application does not really care if running on an old kernel where the bits would be zero. Commit eb8329e0a04db0061f714f033b4454326ba147f4 reserved a single bit and did not bother about making sure the monitoring would detect if this runs on an old kernel.