diff options
author | Thomas Haller <thaller@redhat.com> | 2022-08-03 18:49:28 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2022-08-09 08:02:36 +0200 |
commit | 8f67a80537565b0d3103f1b1f18142ebcba72787 (patch) | |
tree | 56e3600a846c38f3b97cb69c604cea21de2189ea | |
parent | e0fc8a11d5310303e680f101604291a4139317dd (diff) | |
download | NetworkManager-8f67a80537565b0d3103f1b1f18142ebcba72787.tar.gz |
glib-aux: add nm_utils_ip6_is_ula() helper
-rw-r--r-- | src/libnm-glib-aux/nm-shared-utils.c | 7 | ||||
-rw-r--r-- | src/libnm-glib-aux/nm-shared-utils.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/libnm-glib-aux/nm-shared-utils.c b/src/libnm-glib-aux/nm-shared-utils.c index 85ea3a1116..ddebcfa7a6 100644 --- a/src/libnm-glib-aux/nm-shared-utils.c +++ b/src/libnm-glib-aux/nm-shared-utils.c @@ -1021,6 +1021,13 @@ nm_utils_ip_is_site_local(int addr_family, const void *address) } } +gboolean +nm_utils_ip6_is_ula(const struct in6_addr *address) +{ + /* Unique local IPv6 address (ULA) fc00::/7 */ + return (address->s6_addr32[0] & htonl(0xfe000000u)) == htonl(0xfc000000u); +} + /*****************************************************************************/ static gboolean diff --git a/src/libnm-glib-aux/nm-shared-utils.h b/src/libnm-glib-aux/nm-shared-utils.h index 3decea9b37..3d8eaced07 100644 --- a/src/libnm-glib-aux/nm-shared-utils.h +++ b/src/libnm-glib-aux/nm-shared-utils.h @@ -504,6 +504,7 @@ nm_utils_ip_address_same_prefix(int addr_family, /*****************************************************************************/ gboolean nm_utils_ip_is_site_local(int addr_family, const void *address); +gboolean nm_utils_ip6_is_ula(const struct in6_addr *address); /*****************************************************************************/ |