Subject: Re: RFC Hanging clean-up of a namespace

From: Hagen Paul Pfeifer <[email-masked]>
Date: Thu, 19 Jan 2012 22:40:53 +0100

* Eric W. Biederman | 2012-01-19 13:24:13 [-0800]:

>This thread is a fascinating disconnect from reality all of the way
>around.
>
>- inet_twsk_purge already implements throwing out of timewait sockets
>  when a network namespaces is being cleaned up.  So the RFC is nonsense.

This is how it is implemented, not how it should be. TIME_WAIT is not the
problem, it is there to keep the stack from sending wrong RST messages. Maybe
the 2*MSL could be fixed by a more accurate 2*RTT.

>- Keeping the timewait sockets at that point we purge them in the code
>  can achieve nothing.  We don't have any userspace processes or network
>  devices associated with the timewait sockets at the point we get rid
>  of them.  The network namespace exists so long as a userspace process
>  can find it.  The network namespace exit is asynchronous in it's own
>  workqueue so userspace definitely is not blocked.

Another possible solution could be a netns global TIME_WAIT list. But this
is a little bit expensive and out of question - but this _is_ a convenient
solution.

The "5 second reboot" is no argument - it show a discrepance between TCP
requirements and the actual situation.

Hagen