Specifying bearer IPv4 method

Tim Shearer timtimminz at gmail.com
Wed Jun 15 14:15:25 UTC 2022


Hi Aleksander, thanks for the prompt response.

> The user selection of the IP type to use can be done either in
> Simple.Connect() or in Modem.CreateBearer():

> The user will select IP type to use in either MMBearerProperties or
> MMSimpleConnectProperties and then MM will expose which one was agreed
> with the network in the read-only MMBearerIpConfig.

The IP type isn't quite what I'm looking for. The issue is that, after
setting the type to IPv4, I'm unsure how to set the MMBearerIpMethod:
  https://www.freedesktop.org/software/ModemManager/api/1.8.0/ModemManager-Flags-and-Enumerations.html#MMBearerIpMethod

Looking through the MMBearerProperties documentation, I'm unable to
see how to set the MMBearerIpMethod. This means that sometimes it
comes up as IPv4/PPP rather than IPv4/Static.

Thanks in advance!
Tim

On Wed, Jun 15, 2022 at 4:30 AM Aleksander Morgado
<aleksander at aleksander.es> wrote:
>
> Hey Tim,
>
> > Upgraded from ModemManager 1.10 to 1.16, and discovered that the method which was previously used to set the BearerIpMethod (to Static/PPP/DHCP etc.) no longer exists. The missing method was named "set_method" and used to belong to the BearerIpConfig class (https://lazka.github.io/pgi-docs/ModemManager-1.0/classes/BearerIpConfig.html), but it is is no longer listed (at least, not via the Python bindings).
> >
> > Spent a while digging through the docs, but so far I'm unable to find where I can specify the IP method for a bearer. Any help appreciated!
> >
>
> That method was never meant to be exported in libmm-glib, so it makes
> sense it's no longer available. If it was available before, it was a
> bug. The reason for this is that the bearer IP config is created by
> the ModemManager daemon and exposed in DBus, and so users of
> libmm-glib can use MMBearerIpConfig to *read* the settings provided by
> ModemManager.
>
> The user selection of the IP type to use can be done either in
> Simple.Connect() or in Modem.CreateBearer():
> https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.html#gdbus-method-org-freedesktop-ModemManager1-Modem.CreateBearer
> https://www.freedesktop.org/software/ModemManager/doc/latest/ModemManager/gdbus-org.freedesktop.ModemManager1.Modem.Simple.html#gdbus-method-org-freedesktop-ModemManager1-Modem-Simple.Connect
>
> In libmm-glib there are helper types for those as well, see
> MMBearerProperties and MMSimpleConnectProperties:
> https://www.freedesktop.org/software/ModemManager/doc/latest/libmm-glib/MMBearerProperties.html
> https://www.freedesktop.org/software/ModemManager/doc/latest/libmm-glib/MMSimpleConnectProperties.html
>
> The user will select IP type to use in either MMBearerProperties or
> MMSimpleConnectProperties and then MM will expose which one was agreed
> with the network in the read-only MMBearerIpConfig. They may be
> different only if user selected IPv4v6, because we won't fail a
> connection attempt if we cannot get dual-stack (e.g. we may get IPv4
> only even if we requested IPv4v6).
>
> --
> Aleksander
> https://aleksander.es


More information about the ModemManager-devel mailing list