Dave Watson 734942cc4e tcp: ULP infrastructure
Add the infrustructure for attaching Upper Layer Protocols (ULPs) over TCP
sockets. Based on a similar infrastructure in tcp_cong.  The idea is that any
ULP can add its own logic by changing the TCP proto_ops structure to its own
methods.

Example usage:

setsockopt(sock, SOL_TCP, TCP_ULP, "tls", sizeof("tls"));

modules will call:
tcp_register_ulp(&tcp_tls_ulp_ops);

to register/unregister their ulp, with an init function and name.

A list of registered ulps will be returned by tcp_get_available_ulp, which is
hooked up to /proc.  Example:

$ cat /proc/sys/net/ipv4/tcp_available_ulp
tls

There is currently no functionality to remove or chain ULPs, but
it should be possible to add these in the future if needed.

Signed-off-by: Boris Pismenny <borisp@mellanox.com>
Signed-off-by: Dave Watson <davejwatson@fb.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-06-15 12:12:40 -04:00
..
2017-06-04 22:56:55 -04:00
2017-05-21 13:42:36 -04:00
2016-10-20 14:32:22 -04:00
2017-01-13 22:37:16 -05:00
2017-04-30 22:44:04 -04:00
2017-05-08 15:10:31 -04:00
2017-06-15 12:12:40 -04:00
2017-03-24 20:50:28 -07:00
2017-06-15 12:12:40 -04:00
2017-06-15 12:12:40 -04:00
2017-05-21 13:42:36 -04:00
2017-05-24 16:29:57 -04:00
2017-06-15 12:12:40 -04:00
2017-06-15 12:12:40 -04:00
2017-02-15 11:04:11 +01:00
2017-01-10 10:57:12 +01:00