Re: CSME integration - next steps, network selection



On Tue, 2022-03-08 at 08:35 +0200, Emmanuel Grumbach via
networkmanager-list wrote:
I realized I am missing a piece before this.
I need to be able to get and handle nl80211 events, which means that
I
need a thread or event loop or something that listens to the nl80211
channel and parses events. The event I need is the end of the
connection from the CSME side. This brings to the fundamental
question
of the threading model in NetworkManager.
Do we have a sort of event loop? Looks like the NetworkManager runs
on
an event loop and very few things run in a different thread, but I
couldn't really see any clear information about it.


Hi,


we use a glib mainloop. Read
https://tecnocode.co.uk/2014/03/27/what-is-gmaincontext/

There is only one thread (except, that GDBus spawns a worker thread
internally and that we might do a blocking write to sysctl on a thread,
but NM itself is for the most case single threadded).

In this case, you would poll on the file descriptor. So use
`nm_g_unix_fd_add_source()`.


best,
Thomas


Thoughts?

Thanks :)

Emmanuel Grumbach
egrumbach gmail com

On Mon, Mar 7, 2022 at 5:00 PM Emmanuel Grumbach
<egrumbach gmail com> wrote:

Hi,

Next steps about the CSME integration :)
Now the flow I need is to do the following in case os_owner is
false:
List all the connections configured on wifi
    * If none match what we got from CSME - we do nothing and wait
until CSME will remove the rfkill
    * If there is a match, we need pick that connection  but
connect
to the same bssid as CSME was connected to
Then we can ask for ownership

I saw there is nm_setting_wireless_get_bssid which will tell us if
the
connection has a bssid (not sure I am correct here) and if there is
a
bssid, we'll connect to that same AP. Is that something I can use?

Maybe I should create another connection with a specific bssid and
"disable" all the others? not sure what's the right way to go here.
Another thing we'll need is to limit the scan on the channel on
which
the AP we look for is working. We don't want to waste time to scan
all
the channels. The supplicant has a configuration for that.

Any guidance will be appreciated :)

I'll continue digging anyway.

Thanks!

Emmanuel Grumbach
egrumbach gmail com
_______________________________________________
networkmanager-list mailing list
networkmanager-list gnome org
https://mail.gnome.org/mailman/listinfo/networkmanager-list




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]