summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2020-07-21 17:35:45 +0200
committerThomas Haller <thaller@redhat.com>2020-07-21 18:14:55 +0200
commitdee8f56392d9941780c6e336484cbcae2b263a04 (patch)
treef28f15f405581906aea25285dc7829962b27fcac
parent406e9dd5cf09437b846e679b364811c7a7fb9297 (diff)
downloadNetworkManager-dee8f56392d9941780c6e336484cbcae2b263a04.tar.gz
platform: add NMP_OBJECT_GET_ADDR_FAMILY() helper
-rw-r--r--src/platform/nmp-object.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/platform/nmp-object.h b/src/platform/nmp-object.h
index 14287d1d2f..f83f27d7f8 100644
--- a/src/platform/nmp-object.h
+++ b/src/platform/nmp-object.h
@@ -556,6 +556,21 @@ _NMP_OBJECT_TYPE_IS_OBJ_WITH_IFINDEX (NMPObjectType obj_type)
#define NMP_OBJECT_CAST_TFILTER(obj) _NMP_OBJECT_CAST (obj, tfilter, NMP_OBJECT_TYPE_TFILTER)
#define NMP_OBJECT_CAST_LNK_WIREGUARD(obj) _NMP_OBJECT_CAST (obj, lnk_wireguard, NMP_OBJECT_TYPE_LNK_WIREGUARD)
+static inline int
+NMP_OBJECT_GET_ADDR_FAMILY (const NMPObject *obj)
+{
+ switch (NMP_OBJECT_GET_TYPE (obj)) {
+ case NMP_OBJECT_TYPE_IP4_ADDRESS:
+ case NMP_OBJECT_TYPE_IP4_ROUTE:
+ return AF_INET;
+ case NMP_OBJECT_TYPE_IP6_ADDRESS:
+ case NMP_OBJECT_TYPE_IP6_ROUTE:
+ return AF_INET6;
+ default:
+ return AF_UNSPEC;
+ }
+}
+
static inline const NMPObject *
nmp_object_ref (const NMPObject *obj)
{