Return-Path: Subject: Re: [PATCH 2/2] Bluetooth: Add ability to force local busy condition on L2CAP ERTM From: Marcel Holtmann To: Szymon Janc Cc: Mat Martineau , Gustavo Padovan , "linux-bluetooth@vger.kernel.org" , "ulrik.lauren@stericsson.com" , "kanak.gupta@stericsson.com" Date: Wed, 09 Nov 2011 23:48:27 +0900 In-Reply-To: <201111091446.28192.szymon.janc@tieto.com> References: <1320332745-21750-1-git-send-email-szymon.janc@tieto.com> <1320441040.15441.303.camel@aeonflux> <201111091446.28192.szymon.janc@tieto.com> Content-Type: text/plain; charset="UTF-8" Message-ID: <1320850111.15441.342.camel@aeonflux> Mime-Version: 1.0 Sender: linux-bluetooth-owner@vger.kernel.org List-ID: Hi Syzmon, > > >> NACK on this. I don't wanna move code with the specific purpose of pass a PTS > > >> test into the tree. This kinda of thing can survive outside of the tree. > > > > > > actually it can not life outside the tree. We need to be able to pass > > > the PTS test cases with an upstream source. > > > > > > However instead of hacking this in, what is the actual test case details > > > here that we need to have support for? > > > > ERTM will send an RNR when the socket receive buffer fills up. For > > this test case, it works to just set the SO_RCVBUF sockopt to > > a small enough value that the recv buffer fills before the transmit > > window does - no kernel changes required. > > @Marcel > This test case is to "Verify the IUT will send an S-Frame [RNR] when it detects a Local Busy condition." > > "Pass verdict: > - ALT 1: The IUT immediately sends an S-Frame with function RNR after the Local > Busy condition is set by the Upper Tester. > - ALT 2: The IUT sends an S-Frame with function RNR after receiving I-Frame(s) from > the Tester when the Local Busy condition is set by the Upper Tester." > > > I was trying to pass ALT2 with Mat's suggestions but couldn't trigger local busy. > Minimum possible value for SO_RCVBUF (at least here on 3.0 kernel) is 2224 bytes and this is > still too high to allow PTS to trigger local busy (PTS tries to send txwin i-frames with 4 bytes of > data only). > [If it would possible to force PTS to send larger i-frames than it should work as well but I wasn't > able to find any option that would do that... please correct me if it is possible] > > With forcing local busy on channels it is possible to pass ALT1 scenario: PTS ask IUT to enter > local busy condition and just waits for RNR to be send. > > @Gustavo > If you prefer not to temper with normal code path I could just get rid of force_local_busy variable > and not hold channels in local busy state. This should be enough to pass test. so I like the idea to make this work with standard socket options. That is how we should be doing this. So lets figure out on how to make Mat's suggestion work for us. Regards Marcel