quinn
quinn copied to clipboard
GSO on macOS
Luke Curley on the implementers' slack reports that the socket option SOL_UDP/UDP_SEGMENT can be used to set a segment size to get GSO on macOS. We should take advantage of this for better performance. Unclear if GRO might also be possible.
Marten Seeman reports that GRO works via enabling the IPPROTO_UDP/UDP_GRO socket option.
There must be a misunderstanding. I haven't figured out how GSO works on OSX. See this thread in particular.
That link doesn't seem to do anything here, but you said:
GRO works as well. Here’s a C program that works:
// [...] setsockopt(recv_sock, IPPROTO_UDP, UDP_GRO, &enable, sizeof(enable)); // [...][...] When I spin up a second machine and send UDP packets to the first one, I actually see GRO kicking in.
I understand that there's weird quirks around lo, but does that not mean it works?