On Thu, Nov 19, 2015, at 19:09, David Miller wrote: > From: Tom Herbert <t...@herbertland.com> > Date: Thu, 19 Nov 2015 09:38:37 -0800 > > > 1) We need transparency. If a third party kills a TCP connection then > > the application should be informed of specifically that. This seems > > easy enough to just pick an appropriate error number as I suggested. > > Agreed. > > > 2) We need constraints. This feature seems to be specific to a very > > narrow use case. It is not at all clear to me if there are any > > legitimate uses cases beyond Android, enabling this by default in the > > stack creates a non-zero amount of risk and liability for abuse. It > > seems like this should be an opt-in sort of feature, with a kernel > > CONFIG or maybe opt-in per socket. > > And this will probably be the point of contention.
For me this looks like the revoke(const char *) syscall for TCP. I would be willing to enable this by default if we can guarantee that for TIMEWAIT_LEN we don't have reuse of that quadruple. I don't see anything bad happening by tearing down any connection besides too quick reuse of that identifier, so why not enable it by default for everyone? I certainly am often in the situation that I would like to kill connections on my laptop which are hanging and I know the reason, actually. A nice user interface would be certainly a place. Also we should of course wake up any poll_wait_time wchans waiting on the socket so user space can move forward. Probably I would really like to see that we send a reset, even though it won't probably reach its destination in case the source address is removed from the system. I will research the semantics behind tcpdrop: <http://www.freebsd.org/cgi/man.cgi?query=tcpdrop&apropos=0&sektion=0&manpath=FreeBSD+10.2-RELEASE&arch=default&format=html> Bye, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html