On Wed, 2020-02-26 at 10:08 +0000, António Mendes wrote:
> Hi Thomas.
> 
> Thank you for your help. I am new using this library so, your help is
> much appreciated.
> That's really what I was looking for because, right now, I am simply
> calling system("nmcli con mod Wired\ connection\ 1 ...") in my test
> application to modify settings and I wanted to replace that part.
> I will keep you informed.

btw, libnm is glib based, so you can also use it via GObject
introspection, for example from Python or Javascript (gjs).

That tends to be faster for prototyping. See examples
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/tree/9add51ef16356da81a0fd5a8f3f0ddebeb093636/examples/python/gi

This is also what is done by various other projects:
https://github.com/linux-system-roles/network
https://github.com/nmstate/nmstate
https://github.com/rhinstaller/anaconda/tree/master/pyanaconda



For larger examples how to use libnm natively, look at
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/tree/9add51ef16356da81a0fd5a8f3f0ddebeb093636/clients
https://gitlab.gnome.org/GNOME/libnma
https://gitlab.gnome.org/GNOME/network-manager-applet


best,
Thomas


> 
> Thanks again,
> António Pontinha Mendes
> ________________________________________
> From: Thomas Haller <[email protected]>
> Sent: 25 February 2020 17:34
> To: António Mendes; [email protected]
> Subject: Re: Change IP address with libnm
> 
> On Tue, 2020-02-25 at 17:02 +0000, António Mendes wrote:
> > Hi.
> > I tried to use the example add-connection-libnm-glib.c and adapt to
> > my case but without success...
> > I wanted to change an IP address from a connection already created
> > and add some 802.1X configurations.
> 
> Hi,
> 
> add-connection adds a new profile.
> Basically, what `nmcli connection add ...` does.
> 
> The example you refer to is about usage of libnm. So, the
> corresponding
> API is nm_remote_connection_update2() ([1]). This maps to the D-Bus
> call Update2 ([2]). This is what `nmcli connection modify ...` does.
> 
> [1] 
> https://developer.gnome.org/libnm/1.22/NMRemoteConnection.html#nm-remote-connection-update2
> [2] 
> https://developer.gnome.org/NetworkManager/1.22/gdbus-org.freedesktop.NetworkManager.Settings.Connection.html#gdbus-method-org-freedesktop-NetworkManager-Settings-Connection.Update2
> 
> 
> As always, connection profiles in NetworkManager are really just a
> bunch of nested
> dictionaries, that is the plain settings. There is no further logic
> involved, just
> create a suitable profile. If you use libnm, you probably create the
> profile using the
> NMConnection and NMSetting types. These represent the nested
> dictionaries.
> 
> After you modify a profile, you usually need to activate it so that
> your actual networking
> configuration (`nmcli device`, `ip link`) changes.
> 
> 
> 
> best,
> Thomas
> www.eid.pt
> 
> EID, S.A.
> Capital Social €1.100.000
> N° de matricula unico 501 400 699
> 
> DISCLAIMER
> 

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list

Reply via email to