apache / mynewt-nimble

Apache mynewt
https://mynewt.apache.org/
Apache License 2.0
683 stars 392 forks source link

Support for host RPA generation on the host #897

Open jimmo opened 3 years ago

jimmo commented 3 years ago

Somewhat a follow-up to https://github.com/apache/mynewt-nimble/issues/887

We're using NimBLE on several different HCI controllers, but one of the major ones doesn't support LE Privacy 1.2, which means that it relies on the host to implement RPA generation and all the IRK resolving functionality. See https://community.cypress.com/message/268835

I notice of course that the NimBLE HCI Controller does support this, so perhaps (understandably!) this is a low priority for you :) We're currently working on improving the nRF MicroPython port, and using the full NimBLE Controller+Host on that port is part of the plan.

However, before I start investigating implementing this myself (or @andrewleech), would you be interested in accepting a PR to support this in NimBLE Host? I see that Espressif have added this in their fork of NimBLE (https://github.com/espressif/esp-nimble/commit/fdfa72957d5e26ede402e96f0e1e6b608bcd9986) and it appears that Zephyr supports it too.

sjanc commented 3 years ago

yeah, it was not on top of our prio list but if you want to work on that feature please do :) I would have to be configurable via syscfg, being able to enable only for host-only build, preferable with no changes to public APIs It would also be awesome if you could add 1-2 tests to host's "newt test" which would exercise this code a bit, that would help us to maintain this feature as functional (since most people use LL privacy)