Miquel Raynal
2373699560
mac802154: Avoid new associations while disassociating
...
While disassociating from a PAN ourselves, let's set the maximum number
of associations temporarily to zero to be sure no new device tries to
associate with us.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org >
Acked-by: Alexander Aring <aahringo@redhat.com >
Link: https://lore.kernel.org/linux-wpan/20231128111655.507479-6-miquel.raynal@bootlin.com
2023-12-15 11:14:57 +01:00
Miquel Raynal
ce93b9378c
ieee802154: Add support for limiting the number of associated devices
...
Coordinators may refuse associations. We need a user input for
that. Let's add a new netlink command which can provide a maximum number
of devices we accept to associate with as a first step. Later, we could
also forward the request to userspace and check whether the association
should be accepted or not.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org >
Acked-by: Alexander Aring <aahringo@redhat.com >
Link: https://lore.kernel.org/linux-wpan/20230927181214.129346-9-miquel.raynal@bootlin.com
2023-11-20 11:43:11 +01:00
Miquel Raynal
601f160b61
mac802154: Handle association requests from peers
...
Coordinators may have to handle association requests from peers which
want to join the PAN. The logic involves:
- Acknowledging the request (done by hardware)
- If requested, a random short address that is free on this PAN should
be chosen for the device.
- Sending an association response with the short address allocated for
the peer and expecting it to be ack'ed.
If anything fails during this procedure, the peer is considered not
associated.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org >
Acked-by: Alexander Aring <aahringo@redhat.com >
Link: https://lore.kernel.org/linux-wpan/20230927181214.129346-8-miquel.raynal@bootlin.com
2023-11-20 11:43:03 +01:00
Miquel Raynal
9860d9be89
mac802154: Handle disassociations
...
Devices may decide to disassociate from their coordinator for different
reasons (device turning off, coordinator signal strength too low, etc),
the MAC layer just has to send a disassociation notification.
If the ack of the disassociation notification is not received, the
device may consider itself disassociated anyway.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org >
Acked-by: Alexander Aring <aahringo@redhat.com >
Link: https://lore.kernel.org/linux-wpan/20230927181214.129346-7-miquel.raynal@bootlin.com
2023-11-20 11:42:55 +01:00
Miquel Raynal
2e7ed75e92
ieee802154: Internal PAN management
...
Introduce structures to describe peer devices in a PAN as well as a few
related helpers. We basically care about:
- Our unique parent after associating with a coordinator.
- Peer devices, children, which successfully associated with us.
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com >
Acked-by: Stefan Schmidt <stefan@datenfreihafen.org >
Acked-by: Alexander Aring <aahringo@redhat.com >
Link: https://lore.kernel.org/linux-wpan/20230927181214.129346-3-miquel.raynal@bootlin.com
2023-11-20 11:41:06 +01:00