rxrpc: Support network namespacing
Support network namespacing in AF_RXRPC with the following changes: (1) All the local endpoint, peer and call lists, locks, counters, etc. are moved into the per-namespace record. (2) All the connection tracking is moved into the per-namespace record with the exception of the client connection ID tree, which is kept global so that connection IDs are kept unique per-machine. (3) Each namespace gets its own epoch. This allows each network namespace to pretend to be a separate client machine. (4) The /proc/net/rxrpc_xxx files are now called /proc/net/rxrpc/xxx and the contents reflect the namespace. fs/afs/ should be okay with this patch as it explicitly requires the current net namespace to be init_net to permit a mount to proceed at the moment. It will, however, need updating so that cells, IP addresses and DNS records are per-namespace also. Signed-off-by:David Howells <dhowells@redhat.com> Signed-off-by:
David S. Miller <davem@davemloft.net>
Showing
- net/rxrpc/Makefile 1 addition, 0 deletionsnet/rxrpc/Makefile
- net/rxrpc/af_rxrpc.c 15 additions, 20 deletionsnet/rxrpc/af_rxrpc.c
- net/rxrpc/ar-internal.h 53 additions, 12 deletionsnet/rxrpc/ar-internal.h
- net/rxrpc/call_accept.c 8 additions, 6 deletionsnet/rxrpc/call_accept.c
- net/rxrpc/call_object.c 22 additions, 17 deletionsnet/rxrpc/call_object.c
- net/rxrpc/conn_client.c 75 additions, 78 deletionsnet/rxrpc/conn_client.c
- net/rxrpc/conn_object.c 25 additions, 30 deletionsnet/rxrpc/conn_object.c
- net/rxrpc/conn_service.c 6 additions, 5 deletionsnet/rxrpc/conn_service.c
- net/rxrpc/local_object.c 24 additions, 24 deletionsnet/rxrpc/local_object.c
- net/rxrpc/net_ns.c 85 additions, 0 deletionsnet/rxrpc/net_ns.c
- net/rxrpc/peer_object.c 14 additions, 12 deletionsnet/rxrpc/peer_object.c
- net/rxrpc/proc.c 28 additions, 12 deletionsnet/rxrpc/proc.c
Loading
Please register or sign in to comment