Message ID | 20231128111655.507479-2-miquel.raynal@bootlin.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | ieee802154: Association tweaks | expand |
Context | Check | Description |
---|---|---|
netdev/tree_selection | success | Guessing tree name failed - patch did not apply |
Hello. On 28.11.23 12:16, Miquel Raynal wrote: > Sending a beacon is a way to advertise a PAN, but also ourselves as > coordinator in the PAN. There is only one PAN coordinator in a PAN, this > is the device without parent (not associated itself to an "upper" > coordinator). Instead of blindly saying that we are the PAN coordinator, > let's actually use our internal information to fill this field. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > --- > net/mac802154/scan.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/net/mac802154/scan.c b/net/mac802154/scan.c > index 7597072aed57..5873da634fb4 100644 > --- a/net/mac802154/scan.c > +++ b/net/mac802154/scan.c > @@ -466,6 +466,7 @@ int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata, > struct cfg802154_beacon_request *request) > { > struct ieee802154_local *local = sdata->local; > + struct wpan_dev *wpan_dev = &sdata->wpan_dev; > > ASSERT_RTNL(); > > @@ -495,8 +496,7 @@ int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata, > local->beacon.mac_pl.superframe_order = request->interval; > local->beacon.mac_pl.final_cap_slot = 0xf; > local->beacon.mac_pl.battery_life_ext = 0; > - /* TODO: Fill this field with the coordinator situation in the network */ > - local->beacon.mac_pl.pan_coordinator = 1; > + local->beacon.mac_pl.pan_coordinator = !wpan_dev->parent; > local->beacon.mac_pl.assoc_permit = 1; > > if (request->interval == IEEE802154_ACTIVE_SCAN_DURATION) Acked-by: Stefan Schmidt <stefan@datenfreihafen.org> regards Stefan Schmidt
Hi, On Tue, Nov 28, 2023 at 6:17 AM Miquel Raynal <miquel.raynal@bootlin.com> wrote: > > Sending a beacon is a way to advertise a PAN, but also ourselves as > coordinator in the PAN. There is only one PAN coordinator in a PAN, this > is the device without parent (not associated itself to an "upper" > coordinator). Instead of blindly saying that we are the PAN coordinator, > let's actually use our internal information to fill this field. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Alexander Aring <aahringo@redhat.com> - Alex
On Tue, 2023-11-28 at 11:16:51 UTC, Miquel Raynal wrote: > Sending a beacon is a way to advertise a PAN, but also ourselves as > coordinator in the PAN. There is only one PAN coordinator in a PAN, this > is the device without parent (not associated itself to an "upper" > coordinator). Instead of blindly saying that we are the PAN coordinator, > let's actually use our internal information to fill this field. > > Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> > Acked-by: Stefan Schmidt <stefan@datenfreihafen.org> > Acked-by: Alexander Aring <aahringo@redhat.com> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/wpan/wpan-next.git master. Miquel
diff --git a/net/mac802154/scan.c b/net/mac802154/scan.c index 7597072aed57..5873da634fb4 100644 --- a/net/mac802154/scan.c +++ b/net/mac802154/scan.c @@ -466,6 +466,7 @@ int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata, struct cfg802154_beacon_request *request) { struct ieee802154_local *local = sdata->local; + struct wpan_dev *wpan_dev = &sdata->wpan_dev; ASSERT_RTNL(); @@ -495,8 +496,7 @@ int mac802154_send_beacons_locked(struct ieee802154_sub_if_data *sdata, local->beacon.mac_pl.superframe_order = request->interval; local->beacon.mac_pl.final_cap_slot = 0xf; local->beacon.mac_pl.battery_life_ext = 0; - /* TODO: Fill this field with the coordinator situation in the network */ - local->beacon.mac_pl.pan_coordinator = 1; + local->beacon.mac_pl.pan_coordinator = !wpan_dev->parent; local->beacon.mac_pl.assoc_permit = 1; if (request->interval == IEEE802154_ACTIVE_SCAN_DURATION)
Sending a beacon is a way to advertise a PAN, but also ourselves as coordinator in the PAN. There is only one PAN coordinator in a PAN, this is the device without parent (not associated itself to an "upper" coordinator). Instead of blindly saying that we are the PAN coordinator, let's actually use our internal information to fill this field. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> --- net/mac802154/scan.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)