RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns.
authorSowmini Varadhan <sowmini.varadhan@oracle.com>
Wed, 5 Aug 2015 05:43:26 +0000 (01:43 -0400)
committerDavid S. Miller <davem@davemloft.net>
Fri, 7 Aug 2015 18:29:58 +0000 (11:29 -0700)
commit467fa15356acfb7b2efa38839c3e76caa4e6e0ea
tree481be4be1f6425af68a8a2060fd2cb7e7de02dea
parentd5a8ac28a7ff2f250d1bedbb6008dd2f6f6f1638
RDS-TCP: Support multiple RDS-TCP listen endpoints, one per netns.

Register pernet subsys init/stop functions that will set up
and tear down per-net RDS-TCP listen endpoints. Unregister
pernet subusys functions on 'modprobe -r' to clean up these
end points.

Enable keepalive on both accept and connect socket endpoints.
The keepalive timer expiration will ensure that client socket
endpoints will be removed as appropriate from the netns when
an interface is removed from a namespace.

Register a device notifier callback that will clean up all
sockets (and thus avoid the need to wait for keepalive timeout)
when the loopback device is unregistered from the netns indicating
that the netns is getting deleted.

Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/rds/tcp.c
net/rds/tcp.h
net/rds/tcp_connect.c
net/rds/tcp_listen.c