linux/net/rxrpc
David Howells 28036f4485 rxrpc: Permit multiple service binding
Permit bind() to be called on an AF_RXRPC socket more than once (currently
maximum twice) to bind multiple listening services to it.  There are some
restrictions:

 (1) All bind() calls involved must have a non-zero service ID.

 (2) The service IDs must all be different.

 (3) The rest of the address (notably the transport part) must be the same
     in all (a single UDP socket is shared).

 (4) This must be done before listen() or sendmsg() is called.

This allows someone to connect to the service socket with different service
IDs and lays the foundation for service upgrading.

The service ID used by an incoming call can be extracted from the msg_name
returned by recvmsg().

Signed-off-by: David Howells <dhowells@redhat.com>
2017-06-05 14:30:49 +01:00
..
af_rxrpc.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
ar-internal.h rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
call_accept.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
call_event.c rxrpc: Use negative error codes in rxrpc_call struct 2017-04-06 10:11:56 +01:00
call_object.c rxrpc: Support network namespacing 2017-05-25 13:15:11 -04:00
conn_client.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
conn_event.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
conn_object.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
conn_service.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
input.c rxrpc: Trace changes in a call's receive window size 2017-04-06 11:10:41 +01:00
insecure.c rxrpc: Trace protocol errors in received packets 2017-04-06 11:09:39 +01:00
Kconfig rxrpc: Add config to inject packet loss 2016-09-17 11:24:04 +01:00
key.c rxrpc: Fix an assertion in rxrpc_read() 2017-02-24 11:42:55 -05:00
local_event.c rxrpc: The offset field in struct rxrpc_skb_priv is unnecessary 2016-09-30 14:39:28 +01:00
local_object.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
Makefile rxrpc: Support network namespacing 2017-05-25 13:15:11 -04:00
misc.c rxrpc: Fix handling of enums-to-string translation in tracing 2017-01-05 10:38:33 +00:00
net_ns.c rxrpc: remove redundant proc_remove call 2017-06-04 19:59:11 -04:00
output.c rxrpc: Don't request an ACK on the last DATA packet of a call's Tx phase 2016-10-06 08:11:51 +01:00
peer_event.c rxrpc: Use negative error codes in rxrpc_call struct 2017-04-06 10:11:56 +01:00
peer_object.c rxrpc: Support network namespacing 2017-05-25 13:15:11 -04:00
proc.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
recvmsg.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
rxkad.c rxrpc: Separate the connection's protocol service ID from the lookup ID 2017-06-05 14:30:49 +01:00
security.c rxrpc: Permit multiple service binding 2017-06-05 14:30:49 +01:00
sendmsg.c rxrpc: Trace protocol errors in received packets 2017-04-06 11:09:39 +01:00
skbuff.c rxrpc: Make Tx loss-injection go through normal return and adjust tracing 2016-09-29 22:37:15 +01:00
sysctl.c rxrpc: Keep the call timeouts as ktimes rather than jiffies 2016-09-30 14:40:11 +01:00
utils.c rxrpc: Make IPv6 support conditional on CONFIG_IPV6 2016-09-17 03:58:45 -04:00