axboe / liburing

Library providing helpers for the Linux kernel io_uring support
MIT License
2.86k stars 402 forks source link

Socket `recvfrom` and `sendto` missing? #397

Open ioquatix opened 3 years ago

ioquatix commented 3 years ago

I see there was a patch discussed here but it does not seem to be merged?

https://www.spinics.net/lists/io-uring/msg03217.html

What was the outcome of this patch/discussion?

ammarfaizi2 commented 3 years ago

Not sure what happened, I just dug up the old thread here https://lore.kernel.org/io-uring/20200708135928.24475-1-nash@vailsys.com/

I think it requires Ack from David S. Miller as it touches net files.

axboe commented 3 years ago

We could probably get the ack, I think it mostly stalled on people saying it's just a subset of what is already supported. What is nice about recvfrom/sendto though is that less state needs to be retained to keep the submission side stable. If someone else would be interested in picking up this work, then that would be great.

HowHsu commented 3 years ago

We could probably get the ack, I think it mostly stalled on people saying it's just a subset of what is already supported. What is nice about recvfrom/sendto though is that less state needs to be retained to keep the submission side stable. If someone else would be interested in picking up this work, then that would be great.

Glad to look into this, a rough glance told me that it needs to be rebased and re-think about data structure.

ammarfaizi2 commented 2 years ago

I submitted an RFC for this. I would like to get some comments.

Link: [RFC PATCH v2 0/3] io_uring: Add sendto(2) and recvfrom(2) support

illiliti commented 1 year ago

Any progress?

GalaxySnail commented 1 year ago

AFAIK sendto is available since https://github.com/torvalds/linux/commit/516e82f0e043a1a0e8d00800ed0ffe2137cf0e7e (landed in Linux 6.1), its userspace helper is io_uring_prep_send_set_addr(3).

illiliti commented 1 year ago

Great. Can't wait to see recvfrom support.

serzhiio commented 1 year ago

Any updates on recvfrom() implementation?