[PATCH 24/50] AP: MLO: Handle association callback

Otcheretianski, Andrei andrei.otcheretianski at intel.com
Wed Feb 22 04:54:27 PST 2023


> > +		for (i = 0; i < hapd->iface->interfaces->count; i++) {
> > +			struct sta_info *tmp_sta;
> > +			struct hostapd_data *tmp_hapd =
> > +				hapd->iface->interfaces->iface[i]->bss[0];
> > +
> > +			if (tmp_hapd->conf->mld_ap ||
> > +			    hapd->conf->mld_id != tmp_hapd->conf->mld_id)
> > +				continue;
> > +
> > +			for (tmp_sta = tmp_hapd->sta_list; tmp_sta;
> > +			     tmp_sta = tmp_sta->next) {
> Instead of a logic to loop through all hapd and all sta and identify partner
> based on mld id and assoc link id, can we link them through a list and make
> the handling better?

It's doable of course, but I think that keeping a sta in several different lists may complicate existing sta handling code in order to synchronize between the lists.
If more such looping will  be required I'd rather consider converting it to some iteration macro like for_each_mlo_sta()..

> >
> >  	hostapd_set_sta_flags(hapd, sta);
> > @@ -6193,6 +6294,9 @@ static void handle_assoc_cb(struct hostapd_data
> > *hapd,
> >  		os_free(sta->pending_eapol_rx);
> >  		sta->pending_eapol_rx = NULL;
> >  	}
> > +
> > +handle_ml:
> > +	hostapd_ml_handle_assoc_cb(hapd, sta, reassoc, ok);

>  Also, how are the sta timers managed for these ML link stations(for ex.
> NULLFUNC/poll timers), do we have common timer for all link sta or
> separate?

It's per link sta. There's no common timers for all link_sta's. Why is this needed?

> >  }




More information about the Hostap mailing list