On 01/11/18 - 17:51:39, Willem de Bruijn wrote: > On Wed, Oct 31, 2018 at 7:30 PM Christoph Paasch <cpaa...@apple.com> wrote: > > > > Implementations of Quic might want to create a separate socket for each > > Quic-connection by creating a connected UDP-socket. > > > > To achieve that on the server-side, a "master-socket" needs to wait for > > incoming new connections and then creates a new socket that will be a > > connected UDP-socket. To create that latter one, the server needs to > > first bind() and then connect(). However, after the bind() the server > > might already receive traffic on that new socket that is unrelated to the > > Quic-connection at hand. > > This can also be achieved with SO_REUSEPORT_BPF and a filter > that only selects the listener socket(s) in the group. The connect > call should call udp_lib_rehash and take the connected socket out > of the reuseport listener group. Though admittedly that is more > elaborate than setting a boolean socket option.
Yeah, that indeed would be quite a bit more elaborate ;-) A simple socket-option is much easier. Cheers, Christoph > > > The ideas for the implementation came up after a discussion with Ian > > and Jana re: their implementation of a QUIC server. > > That might have preceded SO_TXTIME? AFAIK traffic shaping was the > only real reason to prefer connected sockets.