On Mon, Sep 6, 2021 at 7:24 PM sunyucong@gmail.com [off-list ref] wrote:
Hi Cong, sorry for the back and forth. Let me clarify the problem here:
If you apply following patch on bpf-next, running ./test_progs -t
sockmap_listen and you will observe full timeout on all the select()
calls for these read() , it looks like select() won't work on
redirected socket, which I think is a issue, but would love to hear
what you think.
Ah, I see, we do call the original ->sk_data_ready() when redirecting
the packet, via sk_psock_data_ready(), however it looks like those
->poll() still reads the original queues (e.g. ->sk_receive_queue) but
misses the sockmap queues (psock->ingress_skb).
Let me think about the right fix of this.
Thanks a lot for the details!