about summary refs log tree commit diff
path: root/src/libnm-client-impl
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-client-impl')
-rw-r--r--src/libnm-client-impl/libnm.ver9
-rw-r--r--src/libnm-client-impl/meson.build4
-rw-r--r--src/libnm-client-impl/nm-access-point.c12
-rw-r--r--src/libnm-client-impl/nm-active-connection.c4
-rw-r--r--src/libnm-client-impl/nm-device-geneve.c24
-rw-r--r--src/libnm-client-impl/nm-device.c4
-rw-r--r--src/libnm-client-impl/nm-ip-config.c90
-rw-r--r--src/libnm-client-impl/nm-libnm-utils.c7
-rw-r--r--src/libnm-client-impl/nm-object.c2
-rw-r--r--src/libnm-client-impl/tests/test-libnm.c32
-rw-r--r--src/libnm-client-impl/tests/test-nm-client.c2
11 files changed, 164 insertions, 26 deletions
diff --git a/src/libnm-client-impl/libnm.ver b/src/libnm-client-impl/libnm.ver
index c03b8f39..62d486ff 100644
--- a/src/libnm-client-impl/libnm.ver
+++ b/src/libnm-client-impl/libnm.ver
@@ -2104,7 +2104,7 @@ global:
 	nm_vpn_plugin_info_supports_safe_private_file_access;
 } libnm_1_54_0;
 
-libnm_1_56_1 {
+libnm_1_58_0 {
 global:
 	nm_connection_get_setting_geneve;
 	nm_device_geneve_get_df;
@@ -2118,6 +2118,8 @@ global:
 	nm_device_managed_get_type;
 	nm_device_set_managed_async;
 	nm_device_set_managed_finish;
+	nm_ip_config_get_clat_address;
+	nm_ip_config_get_clat_pref64;
 	nm_setting_geneve_df_get_type;
 	nm_setting_geneve_get_destination_port;
 	nm_setting_geneve_get_df;
@@ -2127,4 +2129,9 @@ global:
 	nm_setting_geneve_get_ttl;
 	nm_setting_geneve_get_type;
 	nm_setting_geneve_new;
+	nm_setting_ip4_config_clat_get_type;
+	nm_setting_ip4_config_get_clat;
+	nm_utils_wifi_6ghz_freqs;
+	nm_utils_wifi_freq_to_band;
+	nm_wifi_band_get_type;
 } libnm_1_56_0;
diff --git a/src/libnm-client-impl/meson.build b/src/libnm-client-impl/meson.build
index 3352ebfe..329078ab 100644
--- a/src/libnm-client-impl/meson.build
+++ b/src/libnm-client-impl/meson.build
@@ -167,13 +167,13 @@ if enable_introspection
     install: true,
   )
 
-  gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout()
+  gi_typelib_path = run_command('printenv', 'GI_TYPELIB_PATH', check: false).stdout().strip()
   if gi_typelib_path != ''
     gi_typelib_path = ':' + gi_typelib_path
   endif
   gi_typelib_path = meson.current_build_dir() + gi_typelib_path
 
-  ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout()
+  ld_library_path = run_command('printenv', 'LD_LIBRARY_PATH', check: false).stdout().strip()
   if ld_library_path != ''
     ld_library_path = ':' + ld_library_path
   endif
diff --git a/src/libnm-client-impl/nm-access-point.c b/src/libnm-client-impl/nm-access-point.c
index a06bee48..28f190de 100644
--- a/src/libnm-client-impl/nm-access-point.c
+++ b/src/libnm-client-impl/nm-access-point.c
@@ -18,6 +18,7 @@
 
 #include "nm-dbus-interface.h"
 #include "nm-object-private.h"
+#include "libnm-core-aux-intern/nm-libnm-core-utils.h"
 
 /*****************************************************************************/
 
@@ -338,11 +339,14 @@ nm_access_point_connection_valid(NMAccessPoint *ap, NMConnection *connection)
     ap_freq = nm_access_point_get_frequency(ap);
     if (ap_freq) {
         setting_band = nm_setting_wireless_get_band(s_wifi);
-        if (g_strcmp0(setting_band, "a") == 0) {
-            if (ap_freq < 4915 || ap_freq > 5825)
+        if (nm_streq0(setting_band, "a")) {
+            if (ap_freq < _NM_WIFI_FREQ_MIN_5GHZ || ap_freq > _NM_WIFI_FREQ_MAX_5GHZ)
                 return FALSE;
-        } else if (g_strcmp0(setting_band, "bg") == 0) {
-            if (ap_freq < 2412 || ap_freq > 2484)
+        } else if (nm_streq0(setting_band, "bg")) {
+            if (ap_freq < _NM_WIFI_FREQ_MIN_2GHZ || ap_freq > _NM_WIFI_FREQ_MAX_2GHZ)
+                return FALSE;
+        } else if (nm_streq0(setting_band, "6GHz")) {
+            if (ap_freq < _NM_WIFI_FREQ_MIN_6GHZ || ap_freq > _NM_WIFI_FREQ_MAX_6GHZ)
                 return FALSE;
         }
 
diff --git a/src/libnm-client-impl/nm-active-connection.c b/src/libnm-client-impl/nm-active-connection.c
index 9008256a..78db887c 100644
--- a/src/libnm-client-impl/nm-active-connection.c
+++ b/src/libnm-client-impl/nm-active-connection.c
@@ -383,7 +383,7 @@ nm_active_connection_get_vpn(NMActiveConnection *connection)
  *
  * Gets the controller #NMDevice of the connection.
  *
- * Returns: (transfer none): the controller #NMDevice of the #NMActiveConnection.
+ * Returns: (type NMDevice) (transfer none): the controller #NMDevice of the #NMActiveConnection.
  *
  * Deprecated: 1.44: Use nm_active_connection_get_controller() instead.
  **/
@@ -400,7 +400,7 @@ nm_active_connection_get_master(NMActiveConnection *connection)
  * Gets the controller #NMDevice of the connection. This replaces the
  * deprecated nm_active_connection_get_master() method.
  *
- * Returns: (transfer none): the controller #NMDevice of the #NMActiveConnection.
+ * Returns: (type NMDevice) (transfer none): the controller #NMDevice of the #NMActiveConnection.
  *
  * Since: 1.44
  **/
diff --git a/src/libnm-client-impl/nm-device-geneve.c b/src/libnm-client-impl/nm-device-geneve.c
index 312a99b3..415e978d 100644
--- a/src/libnm-client-impl/nm-device-geneve.c
+++ b/src/libnm-client-impl/nm-device-geneve.c
@@ -52,7 +52,7 @@ G_DEFINE_TYPE(NMDeviceGeneve, nm_device_geneve, NM_TYPE_DEVICE)
  *
  * Returns: the device's GENEVE ID.
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 guint
 nm_device_geneve_get_id(NMDeviceGeneve *device)
@@ -68,7 +68,7 @@ nm_device_geneve_get_id(NMDeviceGeneve *device)
  *
  * Returns: the IP address of the remote tunnel endpoint
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 const char *
 nm_device_geneve_get_remote(NMDeviceGeneve *device)
@@ -84,7 +84,7 @@ nm_device_geneve_get_remote(NMDeviceGeneve *device)
  *
  * Returns: the UDP destination port
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 guint
 nm_device_geneve_get_dst_port(NMDeviceGeneve *device)
@@ -100,7 +100,7 @@ nm_device_geneve_get_dst_port(NMDeviceGeneve *device)
  *
  * Returns: the TOS value to use in outgoing packets
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 guint
 nm_device_geneve_get_tos(NMDeviceGeneve *device)
@@ -116,7 +116,7 @@ nm_device_geneve_get_tos(NMDeviceGeneve *device)
  *
  * Returns: the time-to-live value to use in outgoing packets
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 guint
 nm_device_geneve_get_ttl(NMDeviceGeneve *device)
@@ -132,7 +132,7 @@ nm_device_geneve_get_ttl(NMDeviceGeneve *device)
  *
  * Returns: the Don't Fragment (DF) bit to set in outgoing packets
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 guint
 nm_device_geneve_get_df(NMDeviceGeneve *device)
@@ -256,7 +256,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      *
      * The device's GENEVE ID.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      **/
     obj_properties[PROP_ID] = g_param_spec_uint(NM_DEVICE_GENEVE_ID,
                                                 "",
@@ -271,7 +271,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      *
      * The IP address of the remote tunnel endpoint.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      */
     obj_properties[PROP_REMOTE] = g_param_spec_string(NM_DEVICE_GENEVE_REMOTE,
                                                       "",
@@ -284,7 +284,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      *
      * The TOS value to use in outgoing packets.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      */
     obj_properties[PROP_TOS] = g_param_spec_uchar(NM_DEVICE_GENEVE_TOS,
                                                   "",
@@ -299,7 +299,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      *
      * The time-to-live value to use in outgoing packets.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      */
     obj_properties[PROP_TTL] = g_param_spec_int(NM_DEVICE_GENEVE_TTL,
                                                 "",
@@ -315,7 +315,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      * The UDP destination port used to communicate with the remote GENEVE tunnel
      * endpoint.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      */
     obj_properties[PROP_DST_PORT] = g_param_spec_uint(NM_DEVICE_GENEVE_DST_PORT,
                                                       "",
@@ -330,7 +330,7 @@ nm_device_geneve_class_init(NMDeviceGeneveClass *klass)
      *
      * The Don't Fragment (DF) bit to set in outgoing packets.
      *
-     * Since: 1.58, 1.56.1
+     * Since: 1.58
      */
     obj_properties[PROP_DF] = g_param_spec_uchar(NM_DEVICE_GENEVE_DF,
                                                  "",
diff --git a/src/libnm-client-impl/nm-device.c b/src/libnm-client-impl/nm-device.c
index 63a62942..80c7de06 100644
--- a/src/libnm-client-impl/nm-device.c
+++ b/src/libnm-client-impl/nm-device.c
@@ -1481,7 +1481,7 @@ nm_device_set_managed(NMDevice *device, gboolean managed)
  * argument different behaviors can be achieved, such as persisting the state to
  * disk or matching the device by MAC address.
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 void
 nm_device_set_managed_async(NMDevice            *device,
@@ -1521,7 +1521,7 @@ nm_device_set_managed_async(NMDevice            *device,
  * Returns: %TRUE on success, %FALSE on error, in which case @error
  * will be set.
  *
- * Since: 1.58, 1.56.1
+ * Since: 1.58
  **/
 gboolean
 nm_device_set_managed_finish(NMDevice *device, GAsyncResult *result, GError **error)
diff --git a/src/libnm-client-impl/nm-ip-config.c b/src/libnm-client-impl/nm-ip-config.c
index ef3dcca1..40f2f7f0 100644
--- a/src/libnm-client-impl/nm-ip-config.c
+++ b/src/libnm-client-impl/nm-ip-config.c
@@ -26,7 +26,9 @@ NM_GOBJECT_PROPERTIES_DEFINE(NMIPConfig,
                              PROP_NAMESERVERS,
                              PROP_DOMAINS,
                              PROP_SEARCHES,
-                             PROP_WINS_SERVERS, );
+                             PROP_WINS_SERVERS,
+                             PROP_CLAT_ADDRESS,
+                             PROP_CLAT_PREF64, );
 
 typedef struct _NMIPConfigPrivate {
     GPtrArray *addresses;
@@ -36,6 +38,8 @@ typedef struct _NMIPConfigPrivate {
     char     **searches;
     char     **wins_servers;
     char      *gateway;
+    char      *clat_address;
+    char      *clat_pref64;
 
     bool addresses_new_style : 1;
     bool routes_new_style : 1;
@@ -256,6 +260,12 @@ get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
     case PROP_GATEWAY:
         g_value_set_string(value, nm_ip_config_get_gateway(self));
         break;
+    case PROP_CLAT_ADDRESS:
+        g_value_set_string(value, nm_ip_config_get_clat_address(self));
+        break;
+    case PROP_CLAT_PREF64:
+        g_value_set_string(value, nm_ip_config_get_clat_pref64(self));
+        break;
     case PROP_ADDRESSES:
         g_value_take_boxed(value,
                            _nm_utils_copy_array(nm_ip_config_get_addresses(self),
@@ -307,6 +317,8 @@ finalize(GObject *object)
     NMIPConfigPrivate *priv = NM_IP_CONFIG_GET_PRIVATE(object);
 
     g_free(priv->gateway);
+    g_free(priv->clat_address);
+    g_free(priv->clat_pref64);
 
     g_ptr_array_unref(priv->routes);
     g_ptr_array_unref(priv->addresses);
@@ -333,6 +345,10 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm_ip4config = NML_DBUS_META_IFACE_I
                                         "aau",
                                         _notify_update_prop_addresses,
                                         .obj_property_no_reverse_idx = TRUE),
+        NML_DBUS_META_PROPERTY_INIT_S("ClatAddress",
+                                      PROP_CLAT_ADDRESS,
+                                      NMIPConfigPrivate,
+                                      clat_address),
         NML_DBUS_META_PROPERTY_INIT_TODO("DnsOptions", "as"),
         NML_DBUS_META_PROPERTY_INIT_TODO("DnsPriority", "i"),
         NML_DBUS_META_PROPERTY_INIT_AS("Domains", PROP_DOMAINS, NMIPConfigPrivate, domains),
@@ -381,6 +397,14 @@ const NMLDBusMetaIface _nml_dbus_meta_iface_nm_ip6config = NML_DBUS_META_IFACE_I
                                         "a(ayuay)",
                                         _notify_update_prop_addresses,
                                         .obj_property_no_reverse_idx = TRUE),
+        NML_DBUS_META_PROPERTY_INIT_S("ClatAddress",
+                                      PROP_CLAT_ADDRESS,
+                                      NMIPConfigPrivate,
+                                      clat_address),
+        NML_DBUS_META_PROPERTY_INIT_S("ClatPref64",
+                                      PROP_CLAT_PREF64,
+                                      NMIPConfigPrivate,
+                                      clat_pref64),
         NML_DBUS_META_PROPERTY_INIT_TODO("DnsOptions", "as"),
         NML_DBUS_META_PROPERTY_INIT_TODO("DnsPriority", "i"),
         NML_DBUS_META_PROPERTY_INIT_AS("Domains", PROP_DOMAINS, NMIPConfigPrivate, domains),
@@ -437,6 +461,34 @@ nm_ip_config_class_init(NMIPConfigClass *config_class)
                                                        G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
 
     /**
+     * NMIPConfig:clat-address:
+     *
+     * The IP address used by CLAT.
+     *
+     * Since: 1.58
+     **/
+    obj_properties[PROP_CLAT_ADDRESS] =
+        g_param_spec_string(NM_IP_CONFIG_CLAT_ADDRESS,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
+     * NMIPConfig:clat-pref64:
+     *
+     * The NAT64 prefix used by CLAT.
+     *
+     * Since: 1.58
+     **/
+    obj_properties[PROP_CLAT_PREF64] =
+        g_param_spec_string(NM_IP_CONFIG_CLAT_PREF64,
+                            "",
+                            "",
+                            NULL,
+                            G_PARAM_READABLE | G_PARAM_STATIC_STRINGS);
+
+    /**
      * NMIPConfig:addresses:
      *
      * A #GPtrArray containing the addresses (#NMIPAddress) of the configuration.
@@ -544,6 +596,42 @@ nm_ip_config_get_gateway(NMIPConfig *config)
 }
 
 /**
+ * nm_ip_config_get_clat_address:
+ * @config: a #NMIPConfig
+ *
+ * Gets the CLAT IP address.
+ *
+ * Returns: (transfer none): the CLAT IP address.
+ *
+ * Since: 1.58
+ **/
+const char *
+nm_ip_config_get_clat_address(NMIPConfig *config)
+{
+    g_return_val_if_fail(NM_IS_IP_CONFIG(config), NULL);
+
+    return _nml_coerce_property_str_not_empty(NM_IP_CONFIG_GET_PRIVATE(config)->clat_address);
+}
+
+/**
+ * nm_ip_config_get_clat_pref64:
+ * @config: a #NMIPConfig
+ *
+ * Gets the NAT64 prefix used by CLAT.
+ *
+ * Returns: (transfer none): the NAT64 prefix.
+ *
+ * Since: 1.58
+ **/
+const char *
+nm_ip_config_get_clat_pref64(NMIPConfig *config)
+{
+    g_return_val_if_fail(NM_IS_IP_CONFIG(config), NULL);
+
+    return _nml_coerce_property_str_not_empty(NM_IP_CONFIG_GET_PRIVATE(config)->clat_pref64);
+}
+
+/**
  * nm_ip_config_get_addresses:
  * @config: a #NMIPConfig
  *
diff --git a/src/libnm-client-impl/nm-libnm-utils.c b/src/libnm-client-impl/nm-libnm-utils.c
index 1c80c1dc..9f1b515c 100644
--- a/src/libnm-client-impl/nm-libnm-utils.c
+++ b/src/libnm-client-impl/nm-libnm-utils.c
@@ -516,6 +516,8 @@ nm_utils_fixup_product_string(const char *desc)
         "Network Everywhere",
         "N Wireless",
         "N+ Wireless",
+        "NBase-T/IEEE 802.3an",
+        "NBase-T/IEEE 802.3bz",
         "OCT To Fast Ethernet Converter",
         "PC Card",
         "PCI Express",
@@ -575,6 +577,7 @@ nm_utils_fixup_product_string(const char *desc)
         "10/100M",
         "10/20-Gigabit",
         "10/25/40/50GbE",
+        "10/25GbE",
         "10/40G",
         "10base-FL",
         "10BaseT",
@@ -585,6 +588,7 @@ nm_utils_fixup_product_string(const char *desc)
         "10Gb/25Gb/40Gb/50Gb",
         "10Gbase-T",
         "10GBase-T",
+        "10GBase-T/NBASE-T",
         "10GBASE-T",
         "10GbE",
         "10Gbps",
@@ -600,6 +604,7 @@ nm_utils_fixup_product_string(const char *desc)
         "16Gbps/10Gbps",
         "1GbE",
         "1x2:2",
+        "2.5GbE",
         "20GbE",
         "25Gb",
         "25GbE",
@@ -615,6 +620,8 @@ nm_utils_fixup_product_string(const char *desc)
         "54Mbps",
         "56k",
         "5G",
+        "5GbE",
+        "5GBase-T/NBASE-T",
         "802.11",
         "802.11a/b/g",
         "802.11abg",
diff --git a/src/libnm-client-impl/nm-object.c b/src/libnm-client-impl/nm-object.c
index add498e1..7b014c2d 100644
--- a/src/libnm-client-impl/nm-object.c
+++ b/src/libnm-client-impl/nm-object.c
@@ -98,7 +98,7 @@ nm_object_get_path(NMObject *object)
  * this returns %NULL. So it can be used to check whether the
  * object is still alive.
  *
- * Returns: (transfer none): the #NMClient cache in which the
+ * Returns: (type NMClient) (transfer none): the #NMClient cache in which the
  * object can be found, or %NULL if the object is no longer
  * cached.
  *
diff --git a/src/libnm-client-impl/tests/test-libnm.c b/src/libnm-client-impl/tests/test-libnm.c
index b30d02a5..3d49f4a5 100644
--- a/src/libnm-client-impl/tests/test-libnm.c
+++ b/src/libnm-client-impl/tests/test-libnm.c
@@ -694,6 +694,10 @@ test_fixup_product_string(void)
         T_DATA("Allnet ALL0283 [AR5523]", "Allnet ALL0283"),
         T_DATA("Allnet ALL0283 [AR5523](no firmware)", "Allnet ALL0283"),
         T_DATA("Allnet ALL0298 v2 802.11bg", "Allnet ALL0298"),
+        T_DATA("Alveo X3522, Quad Port, 10/25GbE Adaptable Accelerator Card",
+               "Alveo X3522 Quad Port Adaptable Accelerator"),
+        T_DATA("Alveo X3522, Quad Port, 10/25GbE Low Latency Network Adapter",
+               "Alveo X3522 Quad Port Low Latency"),
         T_DATA("AM10 v1 802.11n [Ralink RT3072]", "AM10"),
         T_DATA("AMD-8111 Ethernet", "AMD-8111"),
         T_DATA("AN2720 USB-USB Bridge", "AN2720 USB-USB Bridge"),
@@ -704,6 +708,28 @@ test_fixup_product_string(void)
         T_DATA("ANA620xx/ANA69011A", "ANA620xx/ANA69011A"),
         T_DATA("AN-WF500 802.11abgn + BT Wireless Adapter [Broadcom BCM43242]", "AN-WF500"),
         T_DATA("Aolynk WUB320g", "Aolynk WUB320g"),
+        T_DATA("AQtion AQC100 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G]",
+               "AQtion AQC100"),
+        T_DATA("AQtion AQC100S NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G]",
+               "AQtion AQC100S"),
+        T_DATA("AQtion AQC107 NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G]",
+               "AQtion AQC107"),
+        T_DATA("AQtion AQC107S NBase-T/IEEE 802.3an Ethernet Controller [Atlantic 10G]",
+               "AQtion AQC107S"),
+        T_DATA("AQC107 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]", "AQC107"),
+        T_DATA("AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]", "AQC108"),
+        T_DATA("AQC111 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]", "AQC111"),
+        T_DATA("AQC112 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion]", "AQC112"),
+        T_DATA("AQtion AQC113 NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G]",
+               "AQtion AQC113"),
+        T_DATA("AQC113C NBase-T/IEEE 802.3an Ethernet Controller [Marvell Scalable mGig]",
+               "AQC113C"),
+        T_DATA("AQtion AQC113CS NBase-T/IEEE 802.3an Ethernet Controller [Antigua 10G]",
+               "AQtion AQC113CS"),
+        T_DATA("AQtion AQC114CS NBase-T/IEEE 802.3bz Ethernet Controller [Antigua 5G]",
+               "AQtion AQC114CS"),
+        T_DATA("AQtion AQC115C NBase-T/IEEE 802.3bz Ethernet Controller [Antigua 2.5G]",
+               "AQtion AQC115C"),
         T_DATA("AR2413/AR2414 Wireless Network Adapter [AR5005G(S) 802.11bg]", "AR2413/AR2414"),
         T_DATA("AR2417 Wireless Network Adapter [AR5007G 802.11bg]", "AR2417"),
         T_DATA("AR2425 Wireless Network Adapter [AR5007EG 802.11bg]", "AR2425"),
@@ -1684,6 +1710,9 @@ test_fixup_product_string(void)
         T_DATA("RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller", "RTL8101/2/6E"),
         T_DATA("RTL-8110SC/8169SC Gigabit Ethernet", "RTL-8110SC/8169SC"),
         T_DATA("RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller", "RTL8111/8168/8411"),
+        T_DATA("RTL8125 2.5GbE Controller", "RTL8125"),
+        T_DATA("RTL8126 5GbE Controller", "RTL8126"),
+        T_DATA("RTL8127 10GbE Controller", "RTL8127"),
         T_DATA("RTL-8129", "RTL-8129"),
         T_DATA("RTL8139D [Realtek] PCI 10/100BaseTX ethernet adaptor", "RTL8139D"),
         T_DATA("RTL8139 Ethernet", "RTL8139"),
@@ -1994,6 +2023,9 @@ test_fixup_product_string(void)
                "TEW-648UBM"),
         T_DATA("TG54USB 802.11bg", "TG54USB"),
         T_DATA("Thomson TG121N [Atheros AR9001U-(2)NG]", "Thomson TG121N"),
+        T_DATA("TN9510 10GBase-T/NBASE-T Ethernet Adapter", "TN9510"),
+        T_DATA("TN9710P 10GBase-T/NBASE-T Ethernet Adapter", "TN9710P"),
+        T_DATA("TN9710Q 5GBase-T/NBASE-T Ethernet Adapter", "TN9710Q"),
         T_DATA("Top Global Gobi 2000 Wireless Modem", "Top Global Gobi 2000"),
         T_DATA("TP-Link TL-WN322G v3 / TL-WN422G v2 802.11g [Atheros AR9271]",
                "TP-Link TL-WN322G / TL-WN422G"),
diff --git a/src/libnm-client-impl/tests/test-nm-client.c b/src/libnm-client-impl/tests/test-nm-client.c
index da252549..41f02d8b 100644
--- a/src/libnm-client-impl/tests/test-nm-client.c
+++ b/src/libnm-client-impl/tests/test-nm-client.c
@@ -299,7 +299,7 @@ test_wifi_ap_added_removed(void)
 
     ret = g_dbus_proxy_call_sync(sinfo->proxy,
                                  "AddWifiAp",
-                                 g_variant_new("(sss)", "wlan0", "test-ap", expected_bssid),
+                                 g_variant_new("(sssu)", "wlan0", "test-ap", expected_bssid, 2412),
                                  G_DBUS_CALL_FLAGS_NO_AUTO_START,
                                  3000,
                                  NULL,