[PATCH 09/50] AP: Allow starting multiple interfaces within single MLD

Otcheretianski, Andrei andrei.otcheretianski at intel.com
Tue Feb 21 01:21:07 PST 2023

> > +				if (!hconf->mld_ap || hconf->mld_id != conf-
> > >mld_id) {

> How about hconf->iface ? Should we check if its same across links of the MLD
> ?

Right. This would be needed if we have multiple MLD AP's over different interfaces that share the same mld_id.

> > +				hapd->drv_priv = h_hapd->drv_priv;
> Having i802_bss common for all the links and belonging to only one drv, might
> have issue for cases of Multi vap/mbssid, For ex.
> 1. get_bss_ifindex() will fail in cases where the ML bss (i802_bss) is not part
> of that drv but channel switch happens on that link.

As I mentioned in the cover letter, this is very initial and minimal support for MLD.
We didn't intend yet to support MBSSID and multi-vaps and channel switches - so probably there will be issues in these scenarios.
However I don't see any problem with extending it to properly support this in the future.
Channel switch notification includes both ifindex and link_id so it's not a problem to route it to the correct link/bss.
It's not possible to have an MLD AP that has different links using different interfaces.

> 2.In if_add, the hapd->iface->bss[0]->drv_priv(i802_bss)->drv might be
> pointing to first link's drv,  in some case of  multi vap MLD, like two 2+5 MLD,
> new bss (ML/Non-ML) might be pointing to first link BSS.
> So far drv was tied to a link (hapd->iface), now well be having same drv for all
> links (all bss across links).

This is correct, but I'm not sure I understand why it's a problem.. All the BSS's (hostapd_data) (MLD or not) that share the same interface (netdev interface) share the drv.
The addition for MLD is that now we can have multiple hostapd_iface structs (which represent a radio) which share the same netdev interface and thus they also share the drv and distinguished by mld_link_id which is passed in the relevant events. So all the notifications that have mld_link_id can be routed to a specific hostapd_iface and eventually to hapd.

> > +				/*

More information about the Hostap mailing list