Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1438743pxb; Thu, 4 Mar 2021 11:15:52 -0800 (PST) X-Google-Smtp-Source: ABdhPJybj5rDEJ/bW/4j26qYGgiMy9amt5bsqV6ILTfrs+37Aa6GpUy7XBqlRNCY2DpKpftMh+px X-Received: by 2002:a50:e80c:: with SMTP id e12mr6143760edn.229.1614885352770; Thu, 04 Mar 2021 11:15:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614885352; cv=none; d=google.com; s=arc-20160816; b=KdoYM5KEK+w6GbpkO0rB5Ep1jANCcSZXvKbbkA54op/zYOaQApWBPRDqkJJLwKAyLC 2SPD9vmGtRl751bKuauHLa34y5cmjZPsJ+fB6o7odOpIP51sR2E7z9pfoIyRmVE8aA6O yw+bzeDjzaGMjWslD+t7bBUqqH22MngjnxGEaR/isBIrU3vuWsZYXwcEGhEDpiUIILUo R95+jrbv26dZZzMuTilYa1Sf7YG5mPUHhssjcuqa5+OKNx9KobngeMuA4c23xUDdRjPs mFu6haV6j0/yf9uKDIPvxjzAcD5eHQbdkCA/RTOnsixnkApjrm9x7Jmvd2KPsNpnLi/+ QJog== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=nMOONwQNyqrWsPKCTpgC8Z4IVeTjr8khz7KQ2lqmPRg=; b=JzYndgrkh75bVhX+O9OqgtFeoOciOyIHr57zh9DfIPR5JbZftcKBbUwJqSG7jprjNq W6FpOJuncg5JL03RNnH7SFIalr+yRL3xqqUTK8aW19599cJJ0pw0ydneMN9BZmWlUzLa lC1dVpbsehENE33ofiRqy+T5FOZ8tUq6eb/wKRC8ahHBEOrMXsjRliR+091NUFbTX5hh WIRacbYiBJJFC99sSH6lfro+zl56UEjOvAGFU/R/sAWft3F7VMA5NOLAmfBI/mTj8ljU eSAZfEz+D2UeBrocqSQm55GlHC/RqypEWLQxCdkVs5miGFI9h0XkppTBgcX35Hyrnqo2 IW6w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IYZlLOFY; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id w5si226602edv.513.2021.03.04.11.15.28; Thu, 04 Mar 2021 11:15:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=IYZlLOFY; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235433AbhCDTAf (ORCPT + 99 others); Thu, 4 Mar 2021 14:00:35 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36312 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233485AbhCDTAX (ORCPT ); Thu, 4 Mar 2021 14:00:23 -0500 Received: from mail-ot1-x332.google.com (mail-ot1-x332.google.com [IPv6:2607:f8b0:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3421CC061574 for ; Thu, 4 Mar 2021 10:59:43 -0800 (PST) Received: by mail-ot1-x332.google.com with SMTP id t16so8773445ott.3 for ; Thu, 04 Mar 2021 10:59:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=nMOONwQNyqrWsPKCTpgC8Z4IVeTjr8khz7KQ2lqmPRg=; b=IYZlLOFYF8tZu4j1V66X8Z2o4cr9ZhjvhDDnk4w4alnB6LaEE8LuKCBYU/6X5hpOi7 yqjHMJ1T5/fEhO5opAoo++NfASjqkHWnv2dIjVG19Yo8qLWuFvrn/1rXjjiIHM+Y7d/F 1l912ui1pPWnr/921ztUMkP1gUbjF44759b0IObT9NHuFOlr8psAdTLpAVLcDPQxcBY5 0wrKUWX4fa3fHAlg67fNUNoby76oa6mxaJPlN+ubBqYgiPdMt8dW8H2v7fBzxA1+ugiQ UgR5IukSTRoUL4mlI2xrSq+Uwn/MV3kHVi9w2aG+iJ3mlhIix8KsCims1CsfqTlIGE8M MRYA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=nMOONwQNyqrWsPKCTpgC8Z4IVeTjr8khz7KQ2lqmPRg=; b=Y1fvDbtbzLdZ6WplgQ/pF6owE+0Hi9hh/VKFMf2Zk9DR7fPNzWEV6yJMgAZdwDLCj/ NJHrwA3Z2oOuQiGDJ1kjkyjMDGIS30lLxF9B2vy83W7pd1sR6B1NbgbzMAY2HNGs5XeH EF/dFPqjX/MWFXZtNSpZVUeHAeSfBQEB5saUt9RivwVjLauptY/tno6/9i0hutJaNx9i CBPOkkhcxEMoJ05O266ibMkLinNc0lE5ywH10zD12YYbR8xUmVXt2WHXwkvt8y1+/2on ApPhOa0+rip1RDqZl0NayzEAY3ZhT+9DwgdbUm7xqAJbGpeZ5xg7zQ7eKO7/PXkB5Ip1 RKWQ== X-Gm-Message-State: AOAM5316QaKX5myVGnLY9Dh2jvybiyTr8e2Pwrj2m/DQ2ABeVDUoEmCN GYq0wR6p7ciR15HIkbBGh0Zpr49bRihSl3xJxS4= X-Received: by 2002:a9d:69c6:: with SMTP id v6mr4649270oto.371.1614884382480; Thu, 04 Mar 2021 10:59:42 -0800 (PST) MIME-Version: 1.0 References: <20210303192012.1695032-1-danielwinkler@google.com> <20210303111817.Bluez.2.I45b896f4512038309cbeab7a01f51e503141edab@changeid> In-Reply-To: <20210303111817.Bluez.2.I45b896f4512038309cbeab7a01f51e503141edab@changeid> From: Luiz Augusto von Dentz Date: Thu, 4 Mar 2021 10:59:31 -0800 Message-ID: Subject: Re: [Bluez PATCH 2/3] advertising: Create and use scannable adv param flag To: Daniel Winkler Cc: "linux-bluetooth@vger.kernel.org" , ChromeOS Bluetooth Upstreaming , Alain Michaud , Sonny Sasaka Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Hi Daniel, On Wed, Mar 3, 2021 at 11:20 AM Daniel Winkler wrote: > > In order for the advertising parameters hci request to indicate that an > advertising set uses a scannable PDU, we pass a scannable flag along > with the initial parameters MGMT request. > > Without this patch, a broadcast advertisement with a scan response will > either be rejected by the controller, or will ignore the requested scan > response. The patch is tested by performing the above and confirming > that the scan response is retrievable from a peer as expected. > > Reviewed-by: Alain Michaud > Reviewed-by: Sonny Sasaka > > --- > > lib/mgmt.h | 1 + > src/advertising.c | 4 ++++ > 2 files changed, 5 insertions(+) > > diff --git a/lib/mgmt.h b/lib/mgmt.h > index 76a03c9c2..7b1b9ab54 100644 > --- a/lib/mgmt.h > +++ b/lib/mgmt.h > @@ -507,6 +507,7 @@ struct mgmt_rp_add_advertising { > #define MGMT_ADV_PARAM_TIMEOUT (1 << 13) > #define MGMT_ADV_PARAM_INTERVALS (1 << 14) > #define MGMT_ADV_PARAM_TX_POWER (1 << 15) > +#define MGMT_ADV_PARAM_SCAN_RSP (1 << 16) > > #define MGMT_OP_REMOVE_ADVERTISING 0x003F > struct mgmt_cp_remove_advertising { > diff --git a/src/advertising.c b/src/advertising.c > index f3dc357a1..38cef565f 100644 > --- a/src/advertising.c > +++ b/src/advertising.c > @@ -945,6 +945,10 @@ static int refresh_extended_adv(struct btd_adv_client *client, > return -EINVAL; > } > > + /* Indicate that this instance will be configured as scannable */ > + if (client->scan_rsp_len) > + flags |= MGMT_ADV_PARAM_SCAN_RSP; > + Don't we need to check if the flag is actually supported by the kernel? > cp.flags = htobl(flags); For new code it is prefered to use the function from src/shared/util.h (cpu_to_*). > mgmt_ret = mgmt_send(client->manager->mgmt, MGMT_OP_ADD_EXT_ADV_PARAMS, > -- > 2.30.1.766.gb4fecdf3b7-goog > -- Luiz Augusto von Dentz