zephyr/subsys/bluetooth/host
Rubin Gerritsen 98321c61fb bluetooth: host: Allow concurrent advertising with multiple ids
The HCI specification creates additional complexity to allow this
configuration:
 - When a connection gets established, we need to know which
   identity the HCI_LE_Connection_Complete event corresponds to.
 - The identity is a property of the advertising set.
   Therefore we need the advertising handle.
 - The advertising handle is part of the
   HCI_LE_Advertising_Set_Terminated event and is not part of
   the HCI_LE_Connection_Complete event. Therefore
   the information of both events needs to be combined.

By spec the LE_Connection_Complete comes first. Therefore we cache
this event until the identity is available.
The event is only cached when a connection gets established as
that is the only case where we need to resolve the identity.

As the caching requires more resources, it is only enabled if the
application requires multiple advertising sets and multiple
identities.

The host maps the HCI_LE_Advertising_Set_Terminated event with
the HCI_LE_Connection_Complete event by comparing the connection
handles.

Signed-off-by: Rubin Gerritsen <rubin.gerritsen@nordicsemi.no>
2021-05-07 12:15:20 +03:00
..
CMakeLists.txt Bluetooth: Add option to log btsnoops over RTT 2021-05-05 16:03:38 +02:00
Kconfig Bluetooth: host: Add option to enable connectionless CTE RX 2021-05-06 16:27:16 +02:00
Kconfig.gatt Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
Kconfig.l2cap Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
a2dp.c
a2dp_internal.h
addr.c
adv.c bluetooth: host: Allow concurrent advertising with multiple ids 2021-05-07 12:15:20 +03:00
adv.h
aes_ccm.c
at.c
at.h
att.c Bluetooth: host: Update ATT to use the new delayable work API 2021-05-05 19:44:09 -04:00
att_internal.h Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
avdtp.c Bluetooth: host: Update AVDTP to use new delayable work API 2021-05-05 19:44:09 -04:00
avdtp_internal.h Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
br.c
br.h
buf.c Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
conn.c Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
conn_internal.h Bluetooth: host: Update connections to use new delayable work API 2021-05-05 19:44:09 -04:00
crypto.c
crypto.h
direction.c Bluetooth: host: Add handl HCI_LE_Connectionless_IQ_Report 2021-05-06 16:27:16 +02:00
direction_internal.h Bluetooth: host: Add handl HCI_LE_Connectionless_IQ_Report 2021-05-06 16:27:16 +02:00
ecc.c Bluetooth: Fix callback handling in ECC Public Key generation 2021-04-09 13:27:24 +02:00
ecc.h Bluetooth: Fix callback handling in ECC Public Key generation 2021-04-09 13:27:24 +02:00
gatt.c Bluetooth: host: Update GATT to use new delayable work API 2021-05-05 19:44:09 -04:00
gatt_internal.h
hci_common.c
hci_core.c bluetooth: host: Allow concurrent advertising with multiple ids 2021-05-07 12:15:20 +03:00
hci_core.h bluetooth: host: Allow concurrent advertising with multiple ids 2021-05-07 12:15:20 +03:00
hci_ecc.c
hci_ecc.h
hci_raw.c Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
hci_raw_internal.h
hfp_hf.c
hfp_internal.h
id.c Bluetooth: host: Update RPA timer to new delayable work API 2021-05-05 19:44:09 -04:00
id.h Bluetooth: host: Update RPA timer to new delayable work API 2021-05-05 19:44:09 -04:00
iso.c Bluetooth: ISO: Additional text for setting unidir values for the CIG 2021-05-05 14:19:38 +02:00
iso_internal.h Bluetooth: host: Validate big_handle before using it as an array index 2021-03-30 08:17:22 -04:00
keys.c
keys.h
keys_br.c
l2cap.c Bluetooth: host: Document L2CAP channel send buffer sizes 2021-05-06 14:56:18 +02:00
l2cap_br.c Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
l2cap_internal.h Bluetooth: host: Add macros for calculating buffer sizes 2021-05-06 14:56:18 +02:00
monitor.c Bluetooth: Add option to log btsnoops over RTT 2021-05-05 16:03:38 +02:00
monitor.h Bluetooth: Add option to log btsnoops over RTT 2021-05-05 16:03:38 +02:00
rfcomm.c Bluetooth: Refactor bluetooth buffer configuration for simplification 2021-05-06 14:56:18 +02:00
rfcomm_internal.h Bluetooth: host: Update RFCOMM to new delayable work API 2021-05-05 19:44:09 -04:00
scan.c bluetooth: Fix cte_type value in periodic adv sync report 2021-05-06 16:27:16 +02:00
scan.h Bluetoot: host: Make get_per_adv_sync to be global function 2021-05-06 16:27:16 +02:00
sdp.c Bluetooth: Align error handling of send functions 2021-04-20 18:20:04 -04:00
sdp_internal.h
settings.c
settings.h
smp.c Bluetooth: host: Update SMP to use new delayable work API 2021-05-05 19:44:09 -04:00
smp.h Bluetooth: SMP: Adds Kconfig for minimum encryption key size 2021-04-02 16:46:18 +03:00
smp_null.c Bluetooth: host: Fix buffer leak trying to send when disconnected 2021-05-03 16:45:53 +02:00
ssp.c
ssp.h
testing.c
testing.h
uuid.c