On Mon, 2015-05-04 at 07:31 -0700, Eric Dumazet wrote:
On Mon, 2015-05-04 at 10:21 -0400, Eric B Munson wrote:
quoted
The getsockopt() for TCP_SAVE_SYN doesn't offer much over returning 0
from TCP_SAVED_SYN if the headers are not available. Why not collapse
these into a single option? If you need to track the difference between
the headers are not avialable and should have been and the headers
should not be available it can be done through error codes from
getsockopt().
A single option is not good, because it adds confusion.
Note that we need to set the bit on any socket state, and doing this
with a single option is not very easy. ( You got this wrong in your
patch btw)
Another argument for having two options is for TCP_REPAIR support.
If you want to properly check/restore a socket, including its
TCP_SAVE_SYN state, then you definitely need 2 options.