Skip to content

subsys: bluetooth: host: Method for application to know if address will be resolved #96268

@koffes

Description

@koffes

Summary

In some application scenarios, and for some profiles/services (ref. @Thalley), it is required/beneficial to know if the address of a peer device will change or not.
That is, one may want to defer some operation until the address has been resolved in case of an RPA being used.

After discussions with @alwa-nordic, @Thalley and more, it seems there is no definitive way for an application to know for sure if the address will be resolved or not using public APIs.

As an example, we want to know in the security_changed callback:

struct bt_conn_cb {
if we will later get a identity_resolved callback.

Describe the solution you'd like

Ideally, we would like another callback on some form addr_operations_done(struct bt_conn *conn, const bt_addr_le_t *identity, bt_security_t level) or similar.
This will then be called after security_changed and (if applicable) after identity_resolved , letting the application know that this address will not change for the lifetime of this connection. This could then be because either the RPA has been resolved or the device uses a public device address which does not get resolved.

Alternatives

No response

Additional Context

No response

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions