From: Sriram R <quic_srirrama@xxxxxxxxxxx> Whenever there is a beacon update of any one of the link, all its other partner's link beacon should be refreshed. Add changes to update all partner's link beacon. Signed-off-by: Sriram R <quic_srirrama@xxxxxxxxxxx> Signed-off-by: Aditya Kumar Singh <quic_adisi@xxxxxxxxxxx> --- src/ap/beacon.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/ap/beacon.c b/src/ap/beacon.c index 195c7bbd9972..b780d98e4bab 100644 --- a/src/ap/beacon.c +++ b/src/ap/beacon.c @@ -2648,7 +2648,7 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd) struct hostapd_iface *iface = hapd->iface; int ret; size_t i, j; - bool is_6g; + bool is_6g, hapd_mld = false; ret = __ieee802_11_set_beacon(hapd); if (ret != 0) @@ -2657,26 +2657,37 @@ int ieee802_11_set_beacon(struct hostapd_data *hapd) if (!iface->interfaces || iface->interfaces->count <= 1) return 0; +#ifdef CONFIG_IEEE80211BE + hapd_mld = hapd->conf->mld_ap; +#endif /* CONFIG_IEEE80211BE */ + /* Update Beacon frames in case of 6 GHz colocation or AP MLD */ is_6g = is_6ghz_op_class(iface->conf->op_class); for (j = 0; j < iface->interfaces->count; j++) { struct hostapd_iface *other; - bool mld_ap = false; + bool other_iface_6g; other = iface->interfaces->iface[j]; if (other == iface || !other || !other->conf) continue; -#ifdef CONFIG_IEEE80211BE - if (hostapd_is_ml_partner(hapd, other->bss[0])) - mld_ap = true; -#endif /* CONFIG_IEEE80211BE */ + other_iface_6g = is_6ghz_op_class(other->conf->op_class); - if (is_6g == is_6ghz_op_class(other->conf->op_class) && - !mld_ap) + if (is_6g == other_iface_6g && !hapd_mld) continue; for (i = 0; i < other->num_bss; i++) { +#ifdef CONFIG_IEEE80211BE + bool mld_ap = false; + + if (hapd_mld && other->bss[i]->conf->mld_ap && + hostapd_is_ml_partner(hapd, other->bss[i])) + mld_ap = true; + + if (is_6g == other_iface_6g && !mld_ap) + continue; +#endif /* CONFIG_IEEE80211BE */ + if (other->bss[i] && other->bss[i]->started) __ieee802_11_set_beacon(other->bss[i]); } -- 2.25.1 _______________________________________________ Hostap mailing list Hostap@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/hostap