summary refs log tree commit diff
path: root/src/core/ndisc/tests/test-ndisc-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ndisc/tests/test-ndisc-linux.c')
-rw-r--r--src/core/ndisc/tests/test-ndisc-linux.c55
1 files changed, 32 insertions, 23 deletions
diff --git a/src/core/ndisc/tests/test-ndisc-linux.c b/src/core/ndisc/tests/test-ndisc-linux.c
index 57021606..66c7e157 100644
--- a/src/core/ndisc/tests/test-ndisc-linux.c
+++ b/src/core/ndisc/tests/test-ndisc-linux.c
@@ -11,6 +11,8 @@
 #include "ndisc/nm-lndp-ndisc.h"
 
 #include "libnm-platform/nm-linux-platform.h"
+#include "nm-netns.h"
+#include "nm-l3cfg.h"
 
 #include "nm-test-utils-core.h"
 
@@ -19,16 +21,18 @@ NMTST_DEFINE();
 int
 main(int argc, char **argv)
 {
-    GMainLoop *        loop;
-    NMNDisc *          ndisc;
-    int                ifindex = 1;
-    const char *       ifname;
-    NMUtilsIPv6IfaceId iid   = {};
-    GError *           error = NULL;
-    int                max_addresses;
-    int                router_solicitations;
-    int                router_solicitation_interval;
-    guint32            ra_timeout;
+    gs_unref_object NML3Cfg *l3cfg = NULL;
+    NMNDiscConfig            config;
+    GMainLoop               *loop;
+    NMNDisc                 *ndisc;
+    int                      ifindex = 1;
+    const char              *ifname;
+    NMUtilsIPv6IfaceId       iid   = {};
+    GError                  *error = NULL;
+    int                      max_addresses;
+    int                      router_solicitations;
+    int                      router_solicitation_interval;
+    guint32                  ra_timeout;
 
     nmtst_init_with_logging(&argc, &argv, NULL, "DEFAULT");
 
@@ -56,18 +60,23 @@ main(int argc, char **argv)
                         &router_solicitation_interval,
                         &ra_timeout);
 
-    ndisc = nm_lndp_ndisc_new(NM_PLATFORM_GET,
-                              ifindex,
-                              ifname,
-                              NM_UTILS_STABLE_TYPE_UUID,
-                              "8ce666e8-d34d-4fb1-b858-f15a7al28086",
-                              NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
-                              NM_NDISC_NODE_TYPE_HOST,
-                              max_addresses,
-                              router_solicitations,
-                              router_solicitation_interval,
-                              ra_timeout,
-                              &error);
+    l3cfg = nm_netns_l3cfg_acquire(NM_NETNS_GET, ifindex);
+
+    config = (NMNDiscConfig){
+        .l3cfg                        = l3cfg,
+        .ifname                       = nm_l3cfg_get_ifname(l3cfg, TRUE),
+        .stable_type                  = NM_UTILS_STABLE_TYPE_UUID,
+        .network_id                   = "8ce666e8-d34d-4fb1-b858-f15a7al28086",
+        .addr_gen_mode                = NM_SETTING_IP6_CONFIG_ADDR_GEN_MODE_EUI64,
+        .node_type                    = NM_NDISC_NODE_TYPE_HOST,
+        .max_addresses                = max_addresses,
+        .router_solicitations         = router_solicitations,
+        .router_solicitation_interval = router_solicitation_interval,
+        .ra_timeout                   = ra_timeout,
+        .ip6_privacy                  = NM_SETTING_IP6_CONFIG_PRIVACY_PREFER_TEMP_ADDR,
+    };
+
+    ndisc = nm_lndp_ndisc_new(&config);
     if (!ndisc) {
         g_print("Failed to create NMNDisc instance: %s\n", error->message);
         g_error_free(error);
@@ -75,7 +84,7 @@ main(int argc, char **argv)
     }
 
     iid.id_u8[7] = 1;
-    nm_ndisc_set_iid(ndisc, iid);
+    nm_ndisc_set_iid(ndisc, iid, FALSE);
     nm_ndisc_start(ndisc);
     g_main_loop_run(loop);