SUNRPC: Set V6ONLY socket option for RPC listener sockets
authorChuck Lever <chuck.lever@oracle.com>
Mon, 18 Aug 2008 23:33:44 +0000 (19:33 -0400)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 29 Sep 2008 22:13:37 +0000 (18:13 -0400)
commitb6632339e3afbcbb438a3c8935190ea22464fc99
tree13fb088ceb8b18563c2eae311b0007783a612948
parentc8ab5f2a13fb41a878863c61a1e27d78f1844b5e
SUNRPC: Set V6ONLY socket option for RPC listener sockets

My plan is to use an AF_INET listener on systems that support only IPv4,
and an AF_INET6 listener on systems that can support IPv6. Incoming
IPv4 packets will be posted to an AF_INET6 listener with a mapped IPv4
address.

Max Matveev <makc@sgi.com> says:
  Creating a single listener can be dangerous - if net.ipv6.bindv6only
  is enabled then it's possible to create another listener in v4
  namespace on the same port and steal the traffic from the "unifed"
  listener. You need to disable V6ONLY explicitly via a sockopt to stop
  that.

Set appropriate socket option on RPC server listener sockets to prevent
this.

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
net/sunrpc/svcsock.c