From: Mobashshera Rasool Date: Thu, 16 Jun 2022 03:08:35 +0000 (-0700) Subject: lib: Add an api is_ipv6_global_unicast X-Git-Tag: base_8.4~329^2~1 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=3a0d338bc9f69daa1bf4f059a12d7dd4e85c89e0;p=matthieu%2Ffrr.git lib: Add an api is_ipv6_global_unicast Add api is_ipv6_global_unicast to identify whether a given ipv6 address is global unicast or not. Signed-off-by: Mobashshera Rasool --- diff --git a/lib/prefix.h b/lib/prefix.h index 42394ec61c..f9eef28a0b 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -594,6 +594,15 @@ static inline int is_default_host_route(const struct prefix *p) return 0; } +static inline bool is_ipv6_global_unicast(const struct in6_addr *p) +{ + if (IN6_IS_ADDR_UNSPECIFIED(p) || IN6_IS_ADDR_LOOPBACK(p) || + IN6_IS_ADDR_LINKLOCAL(p) || IN6_IS_ADDR_MULTICAST(p)) + return false; + + return true; +} + /* IPv6 scope values, usable for IPv4 too (cf. below) */ /* clang-format off */ enum {