diff --git a/src/core/nm-l3-ipv6ll.c b/src/core/nm-l3-ipv6ll.c index e99f6f8902..a02fe7fabb 100644 --- a/src/core/nm-l3-ipv6ll.c +++ b/src/core/nm-l3-ipv6ll.c @@ -19,6 +19,7 @@ NM_UTILS_LOOKUP_STR_DEFINE(nm_l3_ipv6ll_state_to_string, NML3IPv6LLState, NM_UTILS_LOOKUP_DEFAULT_NM_ASSERT("???"), NM_UTILS_LOOKUP_STR_ITEM(NM_L3_IPV6LL_STATE_NONE, "none"), + NM_UTILS_LOOKUP_STR_ITEM(NM_L3_IPV6LL_STATE_DEFUNCT, "defunct"), NM_UTILS_LOOKUP_STR_ITEM(NM_L3_IPV6LL_STATE_STARTING, "starting"), NM_UTILS_LOOKUP_STR_ITEM(NM_L3_IPV6LL_STATE_DAD_IN_PROGRESS, "dad-in-progress"), diff --git a/src/core/nm-l3-ipv6ll.h b/src/core/nm-l3-ipv6ll.h index 8125b5d06a..770a4268a3 100644 --- a/src/core/nm-l3-ipv6ll.h +++ b/src/core/nm-l3-ipv6ll.h @@ -11,15 +11,21 @@ typedef struct _NML3IPv6LL NML3IPv6LL; typedef enum _nm_packed { - - /* NONE is not actually used by NML3IPv6LL. This is a bogus placeholder - * state for external users. */ - NM_L3_IPV6LL_STATE_NONE, - NM_L3_IPV6LL_STATE_STARTING, NM_L3_IPV6LL_STATE_DAD_IN_PROGRESS, NM_L3_IPV6LL_STATE_READY, NM_L3_IPV6LL_STATE_DAD_FAILED, + + /* The following flags are not actually use by NML3IPv6LL. They exist for + * convenience of the users, to encode additional states. */ + + /* IPv6LL is disabled */ + NM_L3_IPV6LL_STATE_NONE, + + /* We want to do IPv6LL, but something is missing so we cannot even create + * a NML3IPv6LL instance. For example, no NML3Cfg instance or no interface name. */ + NM_L3_IPV6LL_STATE_DEFUNCT, + } NML3IPv6LLState; const char *nm_l3_ipv6ll_state_to_string(NML3IPv6LLState state);