From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Fastabend Subject: Re: [PATCH bpf-next 0/5] fix test_sockmap Date: Mon, 21 May 2018 10:08:28 -0700 Message-ID: References: <20180518071753.4768-1-bhole_prashant_q7@lab.ntt.co.jp> <9c41f494-fc95-e4d5-067f-e000eedc7d7f@gmail.com> <5e08aa3f-acfb-f6a9-e918-bca2393ea95f@lab.ntt.co.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Cc: "David S . Miller" , Shuah Khan , netdev@vger.kernel.org To: Prashant Bhole , Alexei Starovoitov , Daniel Borkmann Return-path: Received: from mail-io0-f196.google.com ([209.85.223.196]:35992 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752945AbeEURIv (ORCPT ); Mon, 21 May 2018 13:08:51 -0400 Received: by mail-io0-f196.google.com with SMTP id d73-v6so15124464iog.3 for ; Mon, 21 May 2018 10:08:51 -0700 (PDT) In-Reply-To: <5e08aa3f-acfb-f6a9-e918-bca2393ea95f@lab.ntt.co.jp> Content-Language: en-US Sender: netdev-owner@vger.kernel.org List-ID: On 05/20/2018 10:13 PM, Prashant Bhole wrote: > > > On 5/19/2018 1:42 AM, John Fastabend wrote: >> On 05/18/2018 12:17 AM, Prashant Bhole wrote: >>> This series fixes bugs in test_sockmap code. They weren't caught >>> previously because failure in RX/TX thread was not notified to the >>> main thread. >>> >>> Also fixed data verification logic and slightly improved test output >>> such that parameters values (cork, apply, start, end) of failed test >>> can be easily seen. >>> >> >> Great, this was on my list so thanks for taking care of it. >> >>> Note: Even after fixing above problems there are issues with tests >>> which set cork parameter. Tests fail (RX thread timeout) when cork >>> value is non-zero and overall data sent by TX thread isn't multiples >>> of cork value. >> >> >> This is expected. When 'cork' is set the sender should only xmit >> the data when 'cork' bytes are available. If the user doesn't >> provide the N bytes the data is cork'ed waiting for the bytes and >> if the socket is closed the state is cleaned up. What these tests >> are testing is the cleanup path when a user doesn't provide the >> N bytes. In practice this is used to validate headers and prevent >> users from sending partial headers. We want to keep these tests because >> they verify a tear-down path in the code. > > Ok. > >> >> After your changes do these get reported as failures? If so we >> need to account for the above in the calculations. > > Yes, cork related test are reported as failures because of RX thread > timeout. > > So with your above description, I think we need to differentiate cork > tests with partial data and full data. In partial data test we can have > something like "timeout_expected" flag. Any other way to fix it? > Adding a flag seems reasonable to me. Lets do this for now. Also I plan to add more negative tests so we can either use the same flag or a new one for those cases as well. Thanks, John