summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2022-07-22 18:30:44 +0200
committerThomas Haller <thaller@redhat.com>2022-07-26 12:28:03 +0200
commit76d63c66d773afe40640c1199ebdcc7e5a85b15b (patch)
tree0a69e00e60eb8d390b5eb368d8afa225cbfab869
parent51625013d4bc610569422ad22f824a82a92a21e1 (diff)
downloadNetworkManager-76d63c66d773afe40640c1199ebdcc7e5a85b15b.tar.gz
glib-aux: add nm_utils_ip4_address_is_loopback()
-rw-r--r--src/libnm-glib-aux/nm-shared-utils.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h
index 20810e4cd5..81c7260612 100644
--- a/src/libnm-glib-aux/nm-shared-utils.h
+++ b/src/libnm-glib-aux/nm-shared-utils.h
@@ -508,8 +508,16 @@ gboolean nm_utils_ip_is_site_local(int addr_family, const void *address);
/*****************************************************************************/
-#define NM_IPV4LL_NETWORK ((in_addr_t) (htonl(0xA9FE0000lu)))
-#define NM_IPV4LL_NETMASK ((in_addr_t) (htonl(0xFFFF0000lu)))
+#define NM_IPV4LL_NETWORK ((in_addr_t) htonl(0xA9FE0000lu))
+#define NM_IPV4LL_NETMASK ((in_addr_t) htonl(0xFFFF0000lu))
+
+static inline gboolean
+nm_utils_ip4_address_is_loopback(in_addr_t addr)
+{
+ /* There is also IN_LOOPBACK() in <linux/in.h>, but there the
+ * argument is in host order not `in_addr_t`. */
+ return (addr & htonl(0xFF000000u)) == htonl(0x7F000000u);
+}
static inline gboolean
nm_utils_ip4_address_is_link_local(in_addr_t addr)