diff options
| author | Michael Biebl <biebl@debian.org> | 2020-10-05 22:27:18 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-10-05 22:27:18 +0200 |
| commit | aafc1dbe4712c86189bbc1d4d54ad8cb4c69be7e (patch) | |
| tree | a2a9bb4d007339a0b1304540388230ccedac32bd /src/ndisc/tests/test-ndisc-linux.c | |
| parent | e7b44ef4c80907346ec7492a09c45277459924fc (diff) | |
New upstream version 1.27.90 upstream/1.27.90
Diffstat (limited to 'src/ndisc/tests/test-ndisc-linux.c')
| -rw-r--r-- | src/ndisc/tests/test-ndisc-linux.c | 118 |
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; } |