zijianzhang@ wrote: > From: Zijian Zhang <zijianzhang@xxxxxxxxxxxxx> > > Several fixes to test_sockmap and added push/pop logic for msg_verify_data > Before the fixes, some of the tests in test_sockmap are problematic, > resulting in pseudo-correct result. > > 1. txmsg_pass is not set in some tests, as a result, no eBPF program is > attached to the sockmap. > 2. In SENDPAGE, a wrong iov_length in test_send_large may result in some > test skippings and failures. > 3. The calculation of total_bytes in msg_loop_rx is wrong, which may cause > msg_loop_rx end early and skip some data tests. > > Besides, for msg_verify_data, I added push/pop checking logic to function > msg_verify_data and added more tests for different cases. Thanks! Yep I think push/pop are not widely used anywhere unfortunately. There are some interesting uses for push/pop to add/edit headers, but I've not gotten there yet clearly. > > After that, I found that there are some bugs in bpf_msg_push_data, > bpf_msg_pop_data and sk_msg_reset_curr, and fix them. I guess the reason > why they have not been exposed is that because of the above problems, they > will not be triggered. Good. I'll review these quickly tonight/tomorrow and run some testing. We don't currently have any longer running tests with push/pop. > > With the fixes, we can pass the sockmap test with data integrity test now. > However, the fixes to test_sockmap expose more problems in sockhash test > with SENDPAGE and ktls with SENDPAGE. > > The problem I observed, Thanks for digging into these. [...]