Skip to content

drivers: ieee802154: IEEE 802.15.4 L2 does not announce (but uses) promisc mode #51263

@ghost

Description

Most IEEE 802.15.4 drivers do not support promiscuous mode, some do.
There is a dedicated L2 flag to signal this capability to clients.

Unfortunately none of the supporting IEEE 802.15.4 drivers actually announced its
capability and some clients (notably the OpenThread L2) even uses
promiscuous mode without checking whether the driver actually supports
it.

This change extends the internal radio API so that drivers can announce
non-default L2 capabilities on initialization. The vanilla IEEE 802.15.4
uses this flag to correctly announce promiscuous mode on its 'get_flags()'
interface.

The OpenThread L2 uses a constant (potentially incorrect) response
to 'get_flags()'. Fixing the OpenThread L2 is out of scope of this
issue. Please open a separate follow-up issue if this should be addressed,
see the corresponding TODO-comments in the attached commit.

Fix follows.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: IEEE 802.15.4bugThe issue is a bug, or the PR is fixing a bug

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions