From: Tom Herbert Subject: Re: [PATCH v3 net-next 1/4] tcp: ULP infrastructure Date: Sat, 29 Jul 2017 13:12:27 -0700 Message-ID: References: <20170614183714.GA80310@davejwatson-mba.dhcp.thefacebook.com> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Cc: Ilya Lesokhin , Aviad Yehezkel , Boris Pismenny , Liran Liss , Matan Barak , David Miller , Linux Kernel Network Developers , Herbert Xu , Linux Crypto Mailing List , Hannes Frederic Sowa , Eric Dumazet , Alexei Starovoitov , Nikos Mavrogiannopoulos , =?UTF-8?B?RnJpZG9sw61uIFBva29ybsO9?= To: Dave Watson Return-path: In-Reply-To: <20170614183714.GA80310@davejwatson-mba.dhcp.thefacebook.com> Sender: netdev-owner@vger.kernel.org List-Id: linux-crypto.vger.kernel.org On Wed, Jun 14, 2017 at 11:37 AM, Dave Watson wrote: > 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")); > Hi Dave, Thanks for this work. I think this functionality is going to have many uses! One question: is there a good reason why the ULP infrastructure should just be for TCP sockets. For example, I'd really like to be able something like: setsockopt(sock, SOL_SOCKET, SO_ULP, &ulp_param, sizeof(ulp_param)); Where ulp_param is a structure containing the ULP name as well as some ULP specific parameters that are passed to init_ulp. ulp_init could determine whether the socket family is appropriate for the ULP being requested. Thanks, Tom