diff options
author | Miquel Raynal <miquel.raynal@bootlin.com> | 2023-01-03 19:56:44 +0300 |
---|---|---|
committer | Stefan Schmidt <stefan@datenfreihafen.org> | 2023-01-03 21:48:43 +0300 |
commit | 57588c71177f0bfc08509c2c3a9bfe32850c0786 (patch) | |
tree | d381093fc255c71da0f2acddcd0eb20dd0c8a9f4 /include/linux/ieee802154.h | |
parent | dd18096256c89612e3eb858de748c29d10e8f3e7 (diff) | |
download | linux-57588c71177f0bfc08509c2c3a9bfe32850c0786.tar.xz |
mac802154: Handle passive scanning
Implement the core hooks in order to provide the softMAC layer support
for passive scans. Scans are requested by the user and can be aborted.
Changing channels manually is prohibited during scans.
The implementation uses a workqueue triggered at a certain interval
depending on the symbol duration for the current channel and the
duration order provided. More advanced drivers with internal scheduling
capabilities might require additional care but there is none mainline
yet.
Received beacons during a passive scan are processed in a work queue and
their result forwarded to the upper layer.
Active scanning is not supported yet.
Co-developed-by: David Girault <david.girault@qorvo.com>
Signed-off-by: David Girault <david.girault@qorvo.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Alexander Aring <aahringo@redhat.com>
Link: https://lore.kernel.org/r/20230103165644.432209-7-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
Diffstat (limited to 'include/linux/ieee802154.h')
-rw-r--r-- | include/linux/ieee802154.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ieee802154.h b/include/linux/ieee802154.h index b22e4147d334..140f61ec0f5f 100644 --- a/include/linux/ieee802154.h +++ b/include/linux/ieee802154.h @@ -47,6 +47,10 @@ /* Duration in superframe order */ #define IEEE802154_MAX_SCAN_DURATION 14 #define IEEE802154_ACTIVE_SCAN_DURATION 15 +/* Superframe duration in slots */ +#define IEEE802154_SUPERFRAME_PERIOD 16 +/* Various periods expressed in symbols */ +#define IEEE802154_SLOT_PERIOD 60 #define IEEE802154_LIFS_PERIOD 40 #define IEEE802154_SIFS_PERIOD 12 #define IEEE802154_MAX_SIFS_FRAME_SIZE 18 |