From 31dca65e04321c120c4166bf5036bb08aa809028 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Fri, 25 Dec 2020 17:54:46 +0100 Subject: [PATCH] shared,platform: move "nmp-netns.[hc]" to shared/nm-platform --- Makefile.am | 5 ++-- shared/meson.build | 1 + shared/nm-platform/nmp-base.h | 8 +++++++ .../nm-platform}/nmp-netns.c | 2 ++ .../nm-platform}/nmp-netns.h | 3 +++ shared/nm-platform/tests/meson.build | 1 - shared/nm-platform/tests/test-nm-platform.c | 23 +++++++++++++++++++ src/meson.build | 1 - src/ndisc/nm-lndp-ndisc.c | 2 +- src/ndisc/nm-ndisc.c | 2 +- src/nm-netns.c | 2 +- src/nm-netns.h | 2 ++ src/nm-types.h | 1 - src/platform/nm-linux-platform.c | 2 +- src/platform/nm-platform.c | 2 +- src/platform/nm-platform.h | 2 ++ src/platform/tests/test-link.c | 2 +- src/platform/tests/test-tc.c | 2 +- 18 files changed, 51 insertions(+), 12 deletions(-) create mode 100644 shared/nm-platform/nmp-base.h rename {src/platform => shared/nm-platform}/nmp-netns.c (99%) rename {src/platform => shared/nm-platform}/nmp-netns.h (96%) diff --git a/Makefile.am b/Makefile.am index 6a53f3be6a..5b8f8bab39 100644 --- a/Makefile.am +++ b/Makefile.am @@ -503,6 +503,9 @@ shared_nm_platform_libnm_platform_la_CPPFLAGS = \ shared_nm_platform_libnm_platform_la_SOURCES = \ shared/nm-platform/nm-netlink.c \ shared/nm-platform/nm-netlink.h \ + shared/nm-platform/nmp-base.h \ + shared/nm-platform/nmp-netns.c \ + shared/nm-platform/nmp-netns.h \ $(NULL) shared_nm_platform_libnm_platform_la_LDFLAGS = \ @@ -2205,8 +2208,6 @@ src_libNetworkManagerBase_la_SOURCES = \ src/NetworkManagerUtils.c \ src/NetworkManagerUtils.h \ \ - src/platform/nmp-netns.c \ - src/platform/nmp-netns.h \ src/platform/nmp-object.c \ src/platform/nmp-object.h \ src/platform/nm-platform-utils.c \ diff --git a/shared/meson.build b/shared/meson.build index fda44444e7..b19535f078 100644 --- a/shared/meson.build +++ b/shared/meson.build @@ -207,6 +207,7 @@ libnm_platform = static_library( 'nm-platform', sources: [ 'nm-platform/nm-netlink.c', + 'nm-platform/nmp-netns.c', ], dependencies: [ glib_nm_default_dep, diff --git a/shared/nm-platform/nmp-base.h b/shared/nm-platform/nmp-base.h new file mode 100644 index 0000000000..f4e50dd0b5 --- /dev/null +++ b/shared/nm-platform/nmp-base.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#ifndef __NMP_FWD_H__ +#define __NMP_FWD_H__ + +typedef struct _NMPNetns NMPNetns; + +#endif /* __NMP_FWD_H__ */ diff --git a/src/platform/nmp-netns.c b/shared/nm-platform/nmp-netns.c similarity index 99% rename from src/platform/nmp-netns.c rename to shared/nm-platform/nmp-netns.c index 69bb39cd82..01aefde66a 100644 --- a/src/platform/nmp-netns.c +++ b/shared/nm-platform/nmp-netns.c @@ -13,6 +13,8 @@ #include #include +#include "nm-log-core/nm-logging.h" + /*****************************************************************************/ /* NOTE: NMPNetns and all code used here must be thread-safe! */ diff --git a/src/platform/nmp-netns.h b/shared/nm-platform/nmp-netns.h similarity index 96% rename from src/platform/nmp-netns.h rename to shared/nm-platform/nmp-netns.h index 2ba29e169e..b18bd03e76 100644 --- a/src/platform/nmp-netns.h +++ b/shared/nm-platform/nmp-netns.h @@ -6,6 +6,8 @@ #ifndef __NMP_NETNS_UTILS_H__ #define __NMP_NETNS_UTILS_H__ +#include "nmp-base.h" + /*****************************************************************************/ #define NMP_TYPE_NETNS (nmp_netns_get_type()) @@ -18,6 +20,7 @@ #define NMP_NETNS_FD_NET "fd-net" #define NMP_NETNS_FD_MNT "fd-mnt" +typedef struct _NMPNetns NMPNetns; typedef struct _NMPNetnsClass NMPNetnsClass; GType nmp_netns_get_type(void); diff --git a/shared/nm-platform/tests/meson.build b/shared/nm-platform/tests/meson.build index 47175331fe..8d2b9c0f6e 100644 --- a/shared/nm-platform/tests/meson.build +++ b/shared/nm-platform/tests/meson.build @@ -11,7 +11,6 @@ exe = executable( libnm_log_core_dep, libnm_platform_dep, ], - link_with: libnm_systemd_logging_stub, ) test( diff --git a/shared/nm-platform/tests/test-nm-platform.c b/shared/nm-platform/tests/test-nm-platform.c index 179a3b6bb9..0386a3a546 100644 --- a/shared/nm-platform/tests/test-nm-platform.c +++ b/shared/nm-platform/tests/test-nm-platform.c @@ -4,12 +4,22 @@ #include "nm-default.h" +#include "nm-log-core/nm-logging.h" #include "nm-platform/nm-netlink.h" +#include "nm-platform/nmp-netns.h" #include "nm-utils/nm-test-utils.h" /*****************************************************************************/ +void +_nm_logging_clear_platform_logging_cache(void) +{ + /* this symbols is required by nm-log-core library. */ +} + +/*****************************************************************************/ + static void test_use_symbols(void) { @@ -72,6 +82,19 @@ test_use_symbols(void) (void (*)(void)) nl_send, (void (*)(void)) nl_send_auto, (void (*)(void)) nl_recv, + + (void (*)(void)) nmp_netns_bind_to_path, + (void (*)(void)) nmp_netns_bind_to_path_destroy, + (void (*)(void)) nmp_netns_get_current, + (void (*)(void)) nmp_netns_get_fd_mnt, + (void (*)(void)) nmp_netns_get_fd_net, + (void (*)(void)) nmp_netns_get_initial, + (void (*)(void)) nmp_netns_is_initial, + (void (*)(void)) nmp_netns_new, + (void (*)(void)) nmp_netns_pop, + (void (*)(void)) nmp_netns_push, + (void (*)(void)) nmp_netns_push_type, + NULL, }; diff --git a/src/meson.build b/src/meson.build index 07014bbb71..8cb5089cad 100644 --- a/src/meson.build +++ b/src/meson.build @@ -38,7 +38,6 @@ sources = files( 'platform/nm-linux-platform.c', 'platform/nm-platform.c', 'platform/nm-platform-utils.c', - 'platform/nmp-netns.c', 'platform/nmp-object.c', 'platform/nmp-rules-manager.c', 'main-utils.c', diff --git a/src/ndisc/nm-lndp-ndisc.c b/src/ndisc/nm-lndp-ndisc.c index 2117190584..1d8becbfec 100644 --- a/src/ndisc/nm-lndp-ndisc.c +++ b/src/ndisc/nm-lndp-ndisc.c @@ -18,7 +18,7 @@ #include "nm-ndisc-private.h" #include "NetworkManagerUtils.h" #include "platform/nm-platform.h" -#include "platform/nmp-netns.h" +#include "nm-platform/nmp-netns.h" #define _NMLOG_PREFIX_NAME "ndisc-lndp" diff --git a/src/ndisc/nm-ndisc.c b/src/ndisc/nm-ndisc.c index c9e221136f..44035ff909 100644 --- a/src/ndisc/nm-ndisc.c +++ b/src/ndisc/nm-ndisc.c @@ -15,7 +15,7 @@ #include "nm-ndisc-private.h" #include "nm-utils.h" #include "platform/nm-platform.h" -#include "platform/nmp-netns.h" +#include "nm-platform/nmp-netns.h" #include "nm-l3-config-data.h" #define _NMLOG_PREFIX_NAME "ndisc" diff --git a/src/nm-netns.c b/src/nm-netns.c index bc4e9f619d..9f62643686 100644 --- a/src/nm-netns.c +++ b/src/nm-netns.c @@ -14,7 +14,7 @@ #include "nm-core-internal.h" #include "nm-l3cfg.h" #include "platform/nm-platform.h" -#include "platform/nmp-netns.h" +#include "nm-platform/nmp-netns.h" #include "platform/nmp-rules-manager.h" /*****************************************************************************/ diff --git a/src/nm-netns.h b/src/nm-netns.h index 36a34e29d4..aab3b52019 100644 --- a/src/nm-netns.h +++ b/src/nm-netns.h @@ -6,6 +6,8 @@ #ifndef __NM_NETNS_H__ #define __NM_NETNS_H__ +#include "nm-platform/nmp-base.h" + #define NM_TYPE_NETNS (nm_netns_get_type()) #define NM_NETNS(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), NM_TYPE_NETNS, NMNetns)) #define NM_NETNS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), NM_TYPE_NETNS, NMNetnsClass)) diff --git a/src/nm-types.h b/src/nm-types.h index 533099b577..b10559543a 100644 --- a/src/nm-types.h +++ b/src/nm-types.h @@ -121,7 +121,6 @@ typedef struct _NMPlatformIP4Route NMPlatformIP4Route; typedef struct _NMPlatformIP6Address NMPlatformIP6Address; typedef struct _NMPlatformIP6Route NMPlatformIP6Route; typedef struct _NMPlatformLink NMPlatformLink; -typedef struct _NMPNetns NMPNetns; typedef struct _NMPObject NMPObject; typedef enum { diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c index a04b0ccf37..6c04f6c121 100644 --- a/src/platform/nm-linux-platform.c +++ b/src/platform/nm-linux-platform.c @@ -43,7 +43,7 @@ #include "nm-platform/nm-netlink.h" #include "nm-core-utils.h" #include "nmp-object.h" -#include "nmp-netns.h" +#include "nm-platform/nmp-netns.h" #include "nm-platform-utils.h" #include "nm-platform-private.h" #include "wifi/nm-wifi-utils.h" diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index 1feb1cd42d..eb2930b315 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -32,7 +32,7 @@ #include "nm-platform-utils.h" #include "nm-platform-private.h" #include "nmp-object.h" -#include "nmp-netns.h" +#include "nm-platform/nmp-netns.h" /*****************************************************************************/ diff --git a/src/platform/nm-platform.h b/src/platform/nm-platform.h index c61ee16401..1a1a71213e 100644 --- a/src/platform/nm-platform.h +++ b/src/platform/nm-platform.h @@ -9,6 +9,8 @@ #include "nm-dbus-interface.h" #include "nm-core-types-internal.h" +#include "nm-platform/nmp-base.h" + #include "nm-core-utils.h" #include "nm-setting-vlan.h" #include "nm-setting-wired.h" diff --git a/src/platform/tests/test-link.c b/src/platform/tests/test-link.c index 66cb20ea64..7deca0e074 100644 --- a/src/platform/tests/test-link.c +++ b/src/platform/tests/test-link.c @@ -13,7 +13,7 @@ #include "nm-glib-aux/nm-io-utils.h" #include "platform/nmp-object.h" -#include "platform/nmp-netns.h" +#include "nm-platform/nmp-netns.h" #include "platform/nm-platform-utils.h" #include "test-common.h" diff --git a/src/platform/tests/test-tc.c b/src/platform/tests/test-tc.c index 1920dfa4af..d178398eb8 100644 --- a/src/platform/tests/test-tc.c +++ b/src/platform/tests/test-tc.c @@ -6,7 +6,7 @@ #include "nm-test-utils-core.h" #include "platform/nmp-object.h" -#include "platform/nmp-netns.h" +#include "nm-platform/nmp-netns.h" #include "platform/nm-platform-utils.h" #include "test-common.h"