From: Mat Martineau <mathewm@codeaurora.org>
To: "Gustavo F. Padovan" <padovan@profusion.mobi>
Cc: haijun liu <liuhaijun.er@gmail.com>,
"haijun.liu" <haijun.liu@atheros.com>,
linux-bluetooth@vger.kernel.org
Subject: Re: [PATCH 16/22] Store new configuration values in l2cap_pinfo
Date: Fri, 3 Sep 2010 14:46:58 -0700 (PDT) [thread overview]
Message-ID: <alpine.DEB.2.00.1009031440530.26179@linux-sea-02> (raw)
In-Reply-To: <20100903210432.GA16973@vigoh>
Gustavo -
On Fri, 3 Sep 2010, Gustavo F. Padovan wrote:
> Hi Mat,
>
> * Mat Martineau <mathewm@codeaurora.org> [2010-09-03 13:58:46 -0700]:
>
>>
>> On Fri, 3 Sep 2010, haijun liu wrote:
>>
>>> On Fri, Sep 3, 2010 at 7:02 AM, Mat Martineau <mathewm@codeaurora.org> wrote:
>>>>
>>>> On Thu, 26 Aug 2010, haijun liu wrote:
>>>>
>>>>> From d093975dde6d85c824a5aaac943d676100810010 Mon Sep 17 00:00:00 2001
>>>>> From: haijun.liu <haijun.liu@atheros.com>
>>>>> Date: Mon, 23 Aug 2010 00:09:56 +0800
>>>>> Subject: [PATCH 16/22] Store new configuration values in l2cap_pinfo.
>>>>>
>>>>> ---
>>>>> include/net/bluetooth/l2cap.h | 9 +++++++++
>>>>> 1 files changed, 9 insertions(+), 0 deletions(-)
>>>>>
>>>>> diff --git a/include/net/bluetooth/l2cap.h b/include/net/bluetooth/l2cap.h
>>>>> index 2d864d4..f2dd65d 100644
>>>>> --- a/include/net/bluetooth/l2cap.h
>>>>> +++ b/include/net/bluetooth/l2cap.h
>>>>> @@ -406,6 +406,15 @@ struct l2cap_pinfo {
>>>>> __u16 remote_mps;
>>>>> __u16 mps;
>>>>>
>>>>> + __u8 ext_flowspec_enable;
>>>>> + struct ext_flow_spec loc_efs;
>>>>> + struct ext_flow_spec rem_efs;
>>>>> +
>>>>> + __u8 extwin_enable;
>>>>> + __u16 extwin_size;
>>>>> + __u8 rem_extwin_enable;
>>>>> + __u16 rem_extwin_size;
>>>>> +
>>>>> __le16 sport;
>>>>>
>>>>> struct timer_list retrans_timer;
>>>>
>>>> Regarding the new "extwin" structure members, have you considered changing
>>>> the existing tx_win and remote_tx_win members to __u16 and using them with
>>>> both standard and extended window sizes?
>>>>
>>>> The spec also requires that both directions of the link use the same type of
>>>> control field (standard or extended). After L2CAP configuration is done,
>>>> all the information required for the transmit window is the control field
>>>> type, tx_win, and remote_tx_win. The control field would be set to
>>>> 'extended' if a successful configuration response is sent or received for
>>>> the extended window size option.
>>>
>>> Yes, we do, please look into the patch, we use __u16 for extwin_size &
>>> rem_extwin_size
>>> + __u8 extwin_enable;
>>> + __u16 extwin_size;
>>> + __u8 rem_extwin_enable;
>>> + __u16 rem_extwin_size;
>>>
>>> You are exactly right, in our implementation, choosing standard or
>>> extended window, it depends whether successful configuration
>>> response contain the extended window size option.
>>
>> Haijin -
>>
>> Thank you for your explanation. I was trying to suggest something
>> different - sorry I did not explain myself well.
>>
>> I think that extwin_enable, extwin_size, rem_extwin_enable, and
>> rem_extwin_size are not needed in l2cap_pinfo. Instead, I suggest
>> this:
>>
>> @@ -349,15 +349,17 @@ struct l2cap_pinfo {
>>
>> __u8 ident;
>>
>> - __u8 tx_win;
>> + __u16 tx_win;
>> __u8 max_tx;
>> - __u8 remote_tx_win;
>> + __u16 remote_tx_win;
>> __u8 remote_max_tx;
>> __u16 retrans_timeout;
>> __u16 monitor_timeout;
>> __u16 remote_mps;
>> __u16 mps;
>>
>> + __u8 extended_control;
>> +
>> __le16 sport;
>>
>> struct timer_list retrans_timer;
>>
>> Here, tx_win and remote_tx_win are always used to record the window
>> size, whether extended or standard. extended_control is used to
>> specify standard or extended control fields.
>
> Then you don't need extended_control here, a bit in the conf_state field
> should be enough.
It looks like conf_state is not currently used once the connection is
made. The extended_control information is accessed when parsing
headers in every incoming PDU and generating every outgoing PDU.
Usage is a lot like l2cap_pinfo.fcs
If you still want to squeeze this extended control bit in an existing
l2cap_pinfo member, would conn_state be better?
--
Mat Martineau
Employee of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum
next prev parent reply other threads:[~2010-09-03 21:46 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 22:37 [PATCH 16/22] Store new configuration values in l2cap_pinfo haijun liu
2010-08-26 1:21 ` Gustavo F. Padovan
2010-09-02 23:02 ` Mat Martineau
2010-09-03 1:30 ` haijun liu
2010-09-03 20:58 ` Mat Martineau
2010-09-03 21:04 ` Gustavo F. Padovan
2010-09-03 21:46 ` Mat Martineau [this message]
2010-09-03 21:49 ` Gustavo F. Padovan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.DEB.2.00.1009031440530.26179@linux-sea-02 \
--to=mathewm@codeaurora.org \
--cc=haijun.liu@atheros.com \
--cc=linux-bluetooth@vger.kernel.org \
--cc=liuhaijun.er@gmail.com \
--cc=padovan@profusion.mobi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox