diff options
| author | Michael Biebl <biebl@debian.org> | 2023-08-09 21:55:35 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2023-08-09 21:55:35 +0200 |
| commit | 05e4a733f2141995181a551854d5df929f084adf (patch) | |
| tree | 83bb937740a6667525ba0df046748ecaa829c269 /src/core/devices/wwan/nm-modem.c | |
| parent | 14b0f3a9dc9ea90d60a3b057350fd4d637dc021a (diff) | |
New upstream version 1.44.0 upstream/1.44.0
Diffstat (limited to 'src/core/devices/wwan/nm-modem.c')
| -rw-r--r-- | src/core/devices/wwan/nm-modem.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/src/core/devices/wwan/nm-modem.c b/src/core/devices/wwan/nm-modem.c index 0159d351..ea0fa7aa 100644 --- a/src/core/devices/wwan/nm-modem.c +++ b/src/core/devices/wwan/nm-modem.c @@ -558,6 +558,37 @@ nm_modem_get_connection_ip_type(NMModem *self, NMConnection *connection, GError return NULL; } +/** + * nm_modem_get_initial_eps_bearer_ip_type: + * @connection_ip_types: the #NMModemIPType as returned by + * nm_modem_get_connection_ip_type + * + * Given the connection IP types, this function returns which IP type to use when + * configuring the initial EPS bearer. + * + * Returns: the #NMModemIpType value to use for the initial EPS bearer + */ +NMModemIPType +nm_modem_get_initial_eps_bearer_ip_type(const GArray *connection_ip_types) +{ + NMModemIPType ip_types = NM_MODEM_IP_TYPE_UNKNOWN; + guint i; + + nm_assert(connection_ip_types); + + for (i = 0; i < connection_ip_types->len; i++) + ip_types |= nm_g_array_index(connection_ip_types, NMModemIPType, i); + + nm_assert(ip_types != NM_MODEM_IP_TYPE_UNKNOWN); + + if (ip_types & NM_MODEM_IP_TYPE_IPV4V6) + return NM_MODEM_IP_TYPE_IPV4V6; + if (ip_types & NM_MODEM_IP_TYPE_IPV4) + return NM_MODEM_IP_TYPE_IPV4; + + return NM_MODEM_IP_TYPE_IPV6; +} + const char * nm_modem_get_device_id(NMModem *self) { |