ieee802154: Add support for user beaconing requests
authorMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 25 Jan 2023 10:29:22 +0000 (11:29 +0100)
committerStefan Schmidt <stefan@datenfreihafen.org>
Sat, 28 Jan 2023 12:51:22 +0000 (13:51 +0100)
commit9bc114504b07207d671593f6f6d787d55dcf91bd
treeeb76a72a0c9d377b4e8db66e7ba64826cdc4f66a
parent57588c71177f0bfc08509c2c3a9bfe32850c0786
ieee802154: Add support for user beaconing requests

Parse user requests for sending beacons, start sending beacons at a
regular pace. If needed, the pace can be updated with a new request. The
process can also be interrupted at any moment.

The page and channel must be changed beforehands if needed. Interval
orders above 14 are reserved to tell a device it must answer BEACON_REQ
coming from another device as part of an active scan procedure and this
is not yet supported.

A netlink "beacon request" structure is created to list the
requirements.

Mac layers may now implement the ->send_beacons() and
->stop_beacons() hooks.

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/20230125102923.135465-2-miquel.raynal@bootlin.com
Signed-off-by: Stefan Schmidt <stefan@datenfreihafen.org>
include/net/cfg802154.h
include/net/nl802154.h
net/ieee802154/nl802154.c
net/ieee802154/nl802154.h
net/ieee802154/rdev-ops.h
net/ieee802154/trace.h