All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ville Tervo <ville.tervo@nokia.com>
To: "ext Gustavo F. Padovan" <padovan@profusion.mobi>
Cc: "Elvis Pfützenreuter" <epx@signove.com>, linux-bluetooth@vger.kernel.org
Subject: Re: Problems with L2CAP: deferred setup and MTU
Date: Thu, 27 Jan 2011 10:03:49 +0200	[thread overview]
Message-ID: <20110127080349.GK874@null> (raw)
In-Reply-To: <20110124190913.GB4300@joana>

Hi Gustavo,

On Mon, Jan 24, 2011 at 05:09:13PM -0200, ext Gustavo F. Padovan wrote:
> Hi Elvis,
> 
> * Elvis Pfützenreuter <epx@signove.com> [2011-01-19 17:10:51 -0200]:
> 
> > I am currently investigating two problems with L2CAP sockets. Since I am not a kernel guy, I will take an indefinite amount of time to find and fix them; perhaps someone else can find and fix it in 5 minutes, so I think it is worth reporting.
> > 
> > First problem is ERTM x MTU, sockets configured with a MTU != 672. Normal sockets exchange MTU in initialization:
> > 
> > ./l2test -P 4099 -I 1000 -O 1000
> > l2test[3211]: Connect from 00:1B:DC:0F:C8:A9 [imtu 1000, omtu 1000, flush_to 65535, mode 0, handle 12, class 0x480100]
> > 
> > but ERTM sockets seem to ignore the setsockopt() value and exchange the default size (672):
> > 
> > ./l2test -P 4099 -I 1000 -O 1000 -X ERTM
> > l2test[3228]: Connect from 00:1B:DC:0F:C8:A9 [imtu 1000, omtu 672, flush_to 65535, mode 3, handle 11, class 0x480100]
> > 
> > (obviously the initiator side uses the same parameters)
> 
> I pushed I fix for this to bluetooth-next-2.6
> 
> Author: Gustavo F. Padovan <padovan@profusion.mobi>
> Date:   Mon Jan 24 16:01:43 2011 -0200
> 
>     Bluetooth: Fix setting of MTU for ERTM and Streaming Mode
>     
>     The desired MTU should be sent in an Config_Req for all modes.
>     
>     Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
> 
> diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
> index ff191b9..1ee18c6 100644
> --- a/net/bluetooth/l2cap.c
> +++ b/net/bluetooth/l2cap.c
> @@ -2588,11 +2588,11 @@ static int l2cap_build_conf_req(struct sock *sk, void *data)
>         }
>  
>  done:
> +       if (pi->imtu != L4CAP_DEFAULT_MTU)
                          ^^^
Probably you noticed this typo already?

> +               l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu);
> +
>         switch (pi->mode) {
>         case L2CAP_MODE_BASIC:
> -               if (pi->imtu != L2CAP_DEFAULT_MTU)
> -                       l2cap_add_conf_opt(&ptr, L2CAP_CONF_MTU, 2, pi->imtu);
> -
>                 if (!(pi->conn->feat_mask & L2CAP_FEAT_ERTM) &&
>                                 !(pi->conn->feat_mask & L2CAP_FEAT_STREAMING))
>                         break;


-- 
Ville

      reply	other threads:[~2011-01-27  8:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-19 19:10 Problems with L2CAP: deferred setup and MTU Elvis Pfützenreuter
2011-01-24 19:09 ` Gustavo F. Padovan
2011-01-27  8:03   ` Ville Tervo [this message]

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=20110127080349.GK874@null \
    --to=ville.tervo@nokia.com \
    --cc=epx@signove.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.