summaryrefslogtreecommitdiff
path: root/src/nm-types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/nm-types.h')
-rw-r--r--src/nm-types.h22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/nm-types.h b/src/nm-types.h
index db0b944e06..fa70372c43 100644
--- a/src/nm-types.h
+++ b/src/nm-types.h
@@ -54,10 +54,20 @@ typedef struct _NMLldpListener NMLldpListener;
typedef enum {
/* In priority order; higher number == higher priority */
- NM_IP_CONFIG_SOURCE_UNKNOWN,
- /* routes from platform with protocol RTPROT_KERNEL. */
- NM_IP_CONFIG_SOURCE_RTPROT_KERNEL,
+ NM_IP_CONFIG_SOURCE_UNKNOWN = 0,
+
+ /* for routes, the source is mapped to the uint8 field rtm_protocol.
+ * Reserve the range [1,0x100] for native RTPROT values. */
+
+ NM_IP_CONFIG_SOURCE_RTPROT_UNSPEC = 1 + 0,
+ NM_IP_CONFIG_SOURCE_RTPROT_REDIRECT = 1 + 1,
+ NM_IP_CONFIG_SOURCE_RTPROT_KERNEL = 1 + 2,
+ NM_IP_CONFIG_SOURCE_RTPROT_BOOT = 1 + 3,
+ NM_IP_CONFIG_SOURCE_RTPROT_STATIC = 1 + 4,
+ NM_IP_CONFIG_SOURCE_RTPROT_RA = 1 + 9,
+ NM_IP_CONFIG_SOURCE_RTPROT_DHCP = 1 + 16,
+ _NM_IP_CONFIG_SOURCE_RTPROT_LAST = 1 + 0xFF,
NM_IP_CONFIG_SOURCE_KERNEL,
NM_IP_CONFIG_SOURCE_SHARED,
@@ -70,6 +80,12 @@ typedef enum {
NM_IP_CONFIG_SOURCE_USER,
} NMIPConfigSource;
+inline static gboolean
+NM_IS_IP_CONFIG_SOURCE_RTPROT (NMIPConfigSource source)
+{
+ return source > NM_IP_CONFIG_SOURCE_UNKNOWN && source <= _NM_IP_CONFIG_SOURCE_RTPROT_LAST;
+}
+
/* platform */
typedef struct _NMPlatform NMPlatform;
typedef struct _NMPlatformIP4Address NMPlatformIP4Address;