public inbox for linux-bluetooth@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off
@ 2024-06-28  7:23 quic_prathm
  2024-06-28  9:01 ` [v1] " bluez.test.bot
  2024-06-28 13:38 ` [PATCH v1] " Luiz Augusto von Dentz
  0 siblings, 2 replies; 5+ messages in thread
From: quic_prathm @ 2024-06-28  7:23 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: luiz.dentz, quic_mohamull, quic_hbandi, quic_anubhavg

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="y", Size: 1612 bytes --]

From: Prathibha Madugonde <quic_prathm@quicinc.com>

Fix for GAP/DISC/NONM/BV-02-C
As per GAP.TS.p44 test spec
IUT does not contain General Discoverable mode and Limited Discoverable
mode in the AD Type Flag. IUT shall send AD Type Flag to PASS the test
case, thus added BR/EDR not supported bit in the AD Type Flag when
discoverable is off.

Signed-off-by: Prathibha Madugonde <quic_prathm@quicinc.com>
---
 src/advertising.c | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/advertising.c b/src/advertising.c
index 5d373e088..9857ceceb 100644
--- a/src/advertising.c
+++ b/src/advertising.c
@@ -1444,6 +1444,7 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
 {
 	struct adv_parser *parser;
 	int err;
+	uint8_t flags;
 
 	for (parser = parsers; parser && parser->name; parser++) {
 		DBusMessageIter iter;
@@ -1499,6 +1500,21 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
 		goto fail;
 	}
 
+	if (!btd_adapter_get_discoverable(client->manager->adapter)) {
+		/* GAP.TS.p44 Test Spec GAP/DISC/NONM/BV-02-C
+		 * page 158:
+		 * IUT does not contain
+		 * ‘LE General Discoverable Mode’ flag or the
+		 * ‘LE Limited Discoverable Mode’ flag in the Flags AD Type
+		 * But AD Flag Type should be there for the test case to
+		 * PASS. Thus BR/EDR Not Supported BIT shall be included
+		 * in the AD Type flag.
+		 */
+		flags = bt_ad_get_flags(client->data);
+		flags |= BT_AD_FLAG_NO_BREDR;
+		bt_ad_add_flags(client->data, &flags, 1);
+	}
+
 	err = refresh_advertisement(client, add_adv_callback);
 
 	if (!err)
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [v1] Added BREDR not supported bit in AD Flag when discoverable is off
  2024-06-28  7:23 [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off quic_prathm
@ 2024-06-28  9:01 ` bluez.test.bot
  2024-06-28 13:38 ` [PATCH v1] " Luiz Augusto von Dentz
  1 sibling, 0 replies; 5+ messages in thread
From: bluez.test.bot @ 2024-06-28  9:01 UTC (permalink / raw)
  To: linux-bluetooth, quic_prathm

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=866438

---Test result---

Test Summary:
CheckPatch                    PASS      0.47 seconds
GitLint                       PASS      0.31 seconds
BuildEll                      PASS      24.66 seconds
BluezMake                     PASS      1628.70 seconds
MakeCheck                     PASS      13.20 seconds
MakeDistcheck                 PASS      183.58 seconds
CheckValgrind                 PASS      268.84 seconds
CheckSmatch                   PASS      357.98 seconds
bluezmakeextell               PASS      120.30 seconds
IncrementalBuild              PASS      1413.67 seconds
ScanBuild                     PASS      1029.33 seconds



---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off
  2024-06-28  7:23 [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off quic_prathm
  2024-06-28  9:01 ` [v1] " bluez.test.bot
@ 2024-06-28 13:38 ` Luiz Augusto von Dentz
  2024-07-01 11:02   ` Prathibha Madugonde
  1 sibling, 1 reply; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2024-06-28 13:38 UTC (permalink / raw)
  To: quic_prathm; +Cc: linux-bluetooth, quic_mohamull, quic_hbandi, quic_anubhavg

Hi,

On Fri, Jun 28, 2024 at 3:24 AM <quic_prathm@quicinc.com> wrote:
>
> From: Prathibha Madugonde <quic_prathm@quicinc.com>
>
> Fix for GAP/DISC/NONM/BV-02-C
> As per GAP.TS.p44 test spec
> IUT does not contain General Discoverable mode and Limited Discoverable
> mode in the AD Type Flag. IUT shall send AD Type Flag to PASS the test
> case, thus added BR/EDR not supported bit in the AD Type Flag when
> discoverable is off.
>
> Signed-off-by: Prathibha Madugonde <quic_prathm@quicinc.com>
> ---
>  src/advertising.c | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/src/advertising.c b/src/advertising.c
> index 5d373e088..9857ceceb 100644
> --- a/src/advertising.c
> +++ b/src/advertising.c
> @@ -1444,6 +1444,7 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
>  {
>         struct adv_parser *parser;
>         int err;
> +       uint8_t flags;
>
>         for (parser = parsers; parser && parser->name; parser++) {
>                 DBusMessageIter iter;
> @@ -1499,6 +1500,21 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
>                 goto fail;
>         }
>
> +       if (!btd_adapter_get_discoverable(client->manager->adapter)) {
> +               /* GAP.TS.p44 Test Spec GAP/DISC/NONM/BV-02-C
> +                * page 158:
> +                * IUT does not contain
> +                * ‘LE General Discoverable Mode’ flag or the
> +                * ‘LE Limited Discoverable Mode’ flag in the Flags AD Type
> +                * But AD Flag Type should be there for the test case to
> +                * PASS. Thus BR/EDR Not Supported BIT shall be included
> +                * in the AD Type flag.
> +                */
> +               flags = bt_ad_get_flags(client->data);
> +               flags |= BT_AD_FLAG_NO_BREDR;
> +               bt_ad_add_flags(client->data, &flags, 1);
> +       }

I think we would be much better off using broadcaster role for such a
test case or does it require to be connectable? Anyway I don't think
there is a requirement to disable BR/EDR when not discoverable, so if
we really need to pass specific flags then perhaps it would be better
to create a Flags property so clients can set themselves.

>         err = refresh_advertisement(client, add_adv_callback);
>
>         if (!err)
> --
> 2.17.1
>


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off
  2024-06-28 13:38 ` [PATCH v1] " Luiz Augusto von Dentz
@ 2024-07-01 11:02   ` Prathibha Madugonde
  2024-07-01 14:10     ` Luiz Augusto von Dentz
  0 siblings, 1 reply; 5+ messages in thread
From: Prathibha Madugonde @ 2024-07-01 11:02 UTC (permalink / raw)
  To: Luiz Augusto von Dentz
  Cc: linux-bluetooth, quic_mohamull, quic_hbandi, quic_anubhavg



On 6/28/2024 7:08 PM, Luiz Augusto von Dentz wrote:
> Hi,
> 
> On Fri, Jun 28, 2024 at 3:24 AM <quic_prathm@quicinc.com> wrote:
>>
>> From: Prathibha Madugonde <quic_prathm@quicinc.com>
>>
>> Fix for GAP/DISC/NONM/BV-02-C
>> As per GAP.TS.p44 test spec
>> IUT does not contain General Discoverable mode and Limited Discoverable
>> mode in the AD Type Flag. IUT shall send AD Type Flag to PASS the test
>> case, thus added BR/EDR not supported bit in the AD Type Flag when
>> discoverable is off.
>>
>> Signed-off-by: Prathibha Madugonde <quic_prathm@quicinc.com>
>> ---
>>   src/advertising.c | 16 ++++++++++++++++
>>   1 file changed, 16 insertions(+)
>>
>> diff --git a/src/advertising.c b/src/advertising.c
>> index 5d373e088..9857ceceb 100644
>> --- a/src/advertising.c
>> +++ b/src/advertising.c
>> @@ -1444,6 +1444,7 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
>>   {
>>          struct adv_parser *parser;
>>          int err;
>> +       uint8_t flags;
>>
>>          for (parser = parsers; parser && parser->name; parser++) {
>>                  DBusMessageIter iter;
>> @@ -1499,6 +1500,21 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
>>                  goto fail;
>>          }
>>
>> +       if (!btd_adapter_get_discoverable(client->manager->adapter)) {
>> +               /* GAP.TS.p44 Test Spec GAP/DISC/NONM/BV-02-C
>> +                * page 158:
>> +                * IUT does not contain
>> +                * ‘LE General Discoverable Mode’ flag or the
>> +                * ‘LE Limited Discoverable Mode’ flag in the Flags AD Type
>> +                * But AD Flag Type should be there for the test case to
>> +                * PASS. Thus BR/EDR Not Supported BIT shall be included
>> +                * in the AD Type flag.
>> +                */
>> +               flags = bt_ad_get_flags(client->data);
>> +               flags |= BT_AD_FLAG_NO_BREDR;
>> +               bt_ad_add_flags(client->data, &flags, 1);
>> +       }
> 
> I think we would be much better off using broadcaster role for such a
> test case or does it require to be connectable? Anyway I don't think
> there is a requirement to disable BR/EDR when not discoverable, so if
> we really need to pass specific flags then perhaps it would be better
> to create a Flags property so clients can set themselves.
> 
Hi,
This particular test case require IUT to be in connectable. There is
already code snippet to disable BR/EDR when adapter is not discoverable
in the set_flags() like below.
	/* Set BR/EDR Not Supported if adapter is not discoverable but
	 * the instance is.
	 */
	if ((flags & (BT_AD_FLAG_GENERAL | BT_AD_FLAG_LIMITED)) &&
			!btd_adapter_get_discoverable(client->manager->adapter))
		flags |= BT_AD_FLAG_NO_BREDR;

Hence using the same logic. Currently AD flags(BT_AD_FLAG_LIMITED,
BT_AD_FLAG_GENERAL & BT_AD_FLAG_NO_BREDR) is managed based on properties
discoverable, discoverable timeout and adapter discoverable.

--
Prathibha Madugonde


>>          err = refresh_advertisement(client, add_adv_callback);
>>
>>          if (!err)
>> --
>> 2.17.1
>>
> 
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off
  2024-07-01 11:02   ` Prathibha Madugonde
@ 2024-07-01 14:10     ` Luiz Augusto von Dentz
  0 siblings, 0 replies; 5+ messages in thread
From: Luiz Augusto von Dentz @ 2024-07-01 14:10 UTC (permalink / raw)
  To: Prathibha Madugonde
  Cc: linux-bluetooth, quic_mohamull, quic_hbandi, quic_anubhavg

Hi,

On Mon, Jul 1, 2024 at 7:03 AM Prathibha Madugonde
<quic_prathm@quicinc.com> wrote:
>
>
>
> On 6/28/2024 7:08 PM, Luiz Augusto von Dentz wrote:
> > Hi,
> >
> > On Fri, Jun 28, 2024 at 3:24 AM <quic_prathm@quicinc.com> wrote:
> >>
> >> From: Prathibha Madugonde <quic_prathm@quicinc.com>
> >>
> >> Fix for GAP/DISC/NONM/BV-02-C
> >> As per GAP.TS.p44 test spec
> >> IUT does not contain General Discoverable mode and Limited Discoverable
> >> mode in the AD Type Flag. IUT shall send AD Type Flag to PASS the test
> >> case, thus added BR/EDR not supported bit in the AD Type Flag when
> >> discoverable is off.
> >>
> >> Signed-off-by: Prathibha Madugonde <quic_prathm@quicinc.com>
> >> ---
> >>   src/advertising.c | 16 ++++++++++++++++
> >>   1 file changed, 16 insertions(+)
> >>
> >> diff --git a/src/advertising.c b/src/advertising.c
> >> index 5d373e088..9857ceceb 100644
> >> --- a/src/advertising.c
> >> +++ b/src/advertising.c
> >> @@ -1444,6 +1444,7 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
> >>   {
> >>          struct adv_parser *parser;
> >>          int err;
> >> +       uint8_t flags;
> >>
> >>          for (parser = parsers; parser && parser->name; parser++) {
> >>                  DBusMessageIter iter;
> >> @@ -1499,6 +1500,21 @@ static DBusMessage *parse_advertisement(struct btd_adv_client *client)
> >>                  goto fail;
> >>          }
> >>
> >> +       if (!btd_adapter_get_discoverable(client->manager->adapter)) {
> >> +               /* GAP.TS.p44 Test Spec GAP/DISC/NONM/BV-02-C
> >> +                * page 158:
> >> +                * IUT does not contain
> >> +                * ‘LE General Discoverable Mode’ flag or the
> >> +                * ‘LE Limited Discoverable Mode’ flag in the Flags AD Type
> >> +                * But AD Flag Type should be there for the test case to
> >> +                * PASS. Thus BR/EDR Not Supported BIT shall be included
> >> +                * in the AD Type flag.
> >> +                */
> >> +               flags = bt_ad_get_flags(client->data);
> >> +               flags |= BT_AD_FLAG_NO_BREDR;
> >> +               bt_ad_add_flags(client->data, &flags, 1);
> >> +       }
> >
> > I think we would be much better off using broadcaster role for such a
> > test case or does it require to be connectable? Anyway I don't think
> > there is a requirement to disable BR/EDR when not discoverable, so if
> > we really need to pass specific flags then perhaps it would be better
> > to create a Flags property so clients can set themselves.
> >
> Hi,
> This particular test case require IUT to be in connectable. There is
> already code snippet to disable BR/EDR when adapter is not discoverable
> in the set_flags() like below.
>         /* Set BR/EDR Not Supported if adapter is not discoverable but
>          * the instance is.
>          */
>         if ((flags & (BT_AD_FLAG_GENERAL | BT_AD_FLAG_LIMITED)) &&
>                         !btd_adapter_get_discoverable(client->manager->adapter))
>                 flags |= BT_AD_FLAG_NO_BREDR;
>
> Hence using the same logic. Currently AD flags(BT_AD_FLAG_LIMITED,
> BT_AD_FLAG_GENERAL & BT_AD_FLAG_NO_BREDR) is managed based on properties
> discoverable, discoverable timeout and adapter discoverable.

Oh, in that case why didn't you change that statement? Anyway, the PTS
requiring the use of flags is rather unconventional here but I think
it should be fine not marking BR/EDR support if it is not
discoverable.

> --
> Prathibha Madugonde
>
>
> >>          err = refresh_advertisement(client, add_adv_callback);
> >>
> >>          if (!err)
> >> --
> >> 2.17.1
> >>
> >
> >



-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2024-07-01 14:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-28  7:23 [PATCH v1] Added BREDR not supported bit in AD Flag when discoverable is off quic_prathm
2024-06-28  9:01 ` [v1] " bluez.test.bot
2024-06-28 13:38 ` [PATCH v1] " Luiz Augusto von Dentz
2024-07-01 11:02   ` Prathibha Madugonde
2024-07-01 14:10     ` Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox