summary refs log tree commit diff
path: root/src/ndisc/tests/test-ndisc-linux.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ndisc/tests/test-ndisc-linux.c')
-rw-r--r--src/ndisc/tests/test-ndisc-linux.c118
1 files changed, 66 insertions, 52 deletions
diff --git a/src/ndisc/tests/test-ndisc-linux.c b/src/ndisc/tests/test-ndisc-linux.c
index a25478e8..7e5e258b 100644
--- a/src/ndisc/tests/test-ndisc-linux.c
+++ b/src/ndisc/tests/test-ndisc-linux.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: GPL-2.0+
+/* SPDX-License-Identifier: GPL-2.0+ */
 /*
  * Copyright (C) 2013 Red Hat, Inc.
  */
@@ -14,58 +14,72 @@
 
 #include "nm-test-utils-core.h"
 
-NMTST_DEFINE ();
+NMTST_DEFINE();
 
 int
-main (int argc, char **argv)
+main(int argc, char **argv)
 {
-	GMainLoop *loop;
-	NMNDisc *ndisc;
-	int ifindex = 1;
-	const char *ifname;
-	NMUtilsIPv6IfaceId iid = { };
-	GError *error = NULL;
-
-	nmtst_init_with_logging (&argc, &argv, NULL, "DEFAULT");
-
-	if (getuid () != 0) {
-		g_print ("Missing permission: must run as root\n");
-		return EXIT_FAILURE;
-	}
-
-	loop = g_main_loop_new (NULL, FALSE);
-
-	nm_linux_platform_setup ();
-
-	if (argv[1]) {
-		ifname = argv[1];
-		ifindex = nm_platform_link_get_ifindex (NM_PLATFORM_GET, ifname);
-	} else {
-		g_print ("Missing command line argument \"interface-name\"\n");
-		return EXIT_FAILURE;
-	}
-
-	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,
-	                           0,
-	                           &error);
-	if (!ndisc) {
-		g_print ("Failed to create NMNDisc instance: %s\n", error->message);
-		g_error_free (error);
-		return EXIT_FAILURE;
-	}
-
-	iid.id_u8[7] = 1;
-	nm_ndisc_set_iid (ndisc, iid);
-	nm_ndisc_start (ndisc);
-	g_main_loop_run (loop);
-
-	g_clear_object (&ndisc);
-
-	return EXIT_SUCCESS;
+    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");
+
+    if (getuid() != 0) {
+        g_print("Missing permission: must run as root\n");
+        return EXIT_FAILURE;
+    }
+
+    loop = g_main_loop_new(NULL, FALSE);
+
+    nm_linux_platform_setup();
+
+    if (argv[1]) {
+        ifname  = argv[1];
+        ifindex = nm_platform_link_get_ifindex(NM_PLATFORM_GET, ifname);
+    } else {
+        g_print("Missing command line argument \"interface-name\"\n");
+        return EXIT_FAILURE;
+    }
+
+    nm_lndp_ndisc_get_sysctl(NM_PLATFORM_GET,
+                             ifname,
+                             &max_addresses,
+                             &router_solicitations,
+                             &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);
+    if (!ndisc) {
+        g_print("Failed to create NMNDisc instance: %s\n", error->message);
+        g_error_free(error);
+        return EXIT_FAILURE;
+    }
+
+    iid.id_u8[7] = 1;
+    nm_ndisc_set_iid(ndisc, iid);
+    nm_ndisc_start(ndisc);
+    g_main_loop_run(loop);
+
+    g_clear_object(&ndisc);
+
+    return EXIT_SUCCESS;
 }