mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-02-25 01:20:36 +01:00
platform: expand nmp object type flags to guint64
To allow for more than 32 NMP_OBJECT_* types.
This commit is contained in:
parent
f70b37357a
commit
e6e654bada
7 changed files with 18 additions and 18 deletions
|
|
@ -56,7 +56,7 @@ G_DEFINE_ABSTRACT_TYPE(NMIPConfig, nm_ip_config, NM_TYPE_DBUS_OBJECT)
|
|||
|
||||
/*****************************************************************************/
|
||||
|
||||
static void _handle_platform_change(NMIPConfig *self, guint32 obj_type_flags, gboolean is_init);
|
||||
static void _handle_platform_change(NMIPConfig *self, guint64 obj_type_flags, gboolean is_init);
|
||||
static void _handle_l3cd_changed(NMIPConfig *self, const NML3ConfigData *l3cd);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
@ -77,7 +77,7 @@ static void
|
|||
_notify_platform_handle(NMIPConfig *self, gint64 now_msec)
|
||||
{
|
||||
NMIPConfigPrivate *priv = NM_IP_CONFIG_GET_PRIVATE(self);
|
||||
guint32 obj_type_flags;
|
||||
guint64 obj_type_flags;
|
||||
|
||||
nm_clear_g_source_inst(&priv->notify_platform_timeout_source);
|
||||
|
||||
|
|
@ -98,7 +98,7 @@ _notify_platform_cb(gpointer user_data)
|
|||
}
|
||||
|
||||
static void
|
||||
_notify_platform(NMIPConfig *self, guint32 obj_type_flags)
|
||||
_notify_platform(NMIPConfig *self, guint64 obj_type_flags)
|
||||
{
|
||||
const int addr_family = nm_ip_config_get_addr_family(self);
|
||||
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
||||
|
|
@ -953,7 +953,7 @@ _handle_l3cd_changed(NMIPConfig *self, const NML3ConfigData *l3cd)
|
|||
}
|
||||
|
||||
static void
|
||||
_handle_platform_change(NMIPConfig *self, guint32 obj_type_flags, gboolean is_init)
|
||||
_handle_platform_change(NMIPConfig *self, guint64 obj_type_flags, gboolean is_init)
|
||||
{
|
||||
const int addr_family = nm_ip_config_get_addr_family(self);
|
||||
const int IS_IPv4 = NM_IS_IPv4(addr_family);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ struct _NMIPConfigPrivate {
|
|||
GSource *notify_platform_timeout_source;
|
||||
gint64 notify_platform_rlimited_until_msec;
|
||||
gulong l3cfg_notify_id;
|
||||
guint32 notify_platform_obj_type_flags;
|
||||
guint64 notify_platform_obj_type_flags;
|
||||
};
|
||||
|
||||
struct _NMIPConfig {
|
||||
|
|
|
|||
|
|
@ -657,7 +657,7 @@ _l3_config_notify_data_to_string(const NML3ConfigNotifyData *notify_data,
|
|||
case NM_L3_CONFIG_NOTIFY_TYPE_PLATFORM_CHANGE_ON_IDLE:
|
||||
nm_strbuf_append(&s,
|
||||
&l,
|
||||
", obj-type-flags=0x%x",
|
||||
", obj-type-flags=0x%" G_GINT64_MODIFIER "x",
|
||||
notify_data->platform_change_on_idle.obj_type_flags);
|
||||
break;
|
||||
case NM_L3_CONFIG_NOTIFY_TYPE_IPV4LL_EVENT:
|
||||
|
|
@ -1604,7 +1604,7 @@ _load_link(NML3Cfg *self, gboolean initial)
|
|||
/*****************************************************************************/
|
||||
|
||||
void
|
||||
_nm_l3cfg_notify_platform_change_on_idle(NML3Cfg *self, guint32 obj_type_flags)
|
||||
_nm_l3cfg_notify_platform_change_on_idle(NML3Cfg *self, guint64 obj_type_flags)
|
||||
{
|
||||
NML3ConfigNotifyData notify_data;
|
||||
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ typedef struct {
|
|||
} platform_change;
|
||||
|
||||
struct {
|
||||
guint32 obj_type_flags;
|
||||
guint64 obj_type_flags;
|
||||
} platform_change_on_idle;
|
||||
|
||||
struct {
|
||||
|
|
@ -207,7 +207,7 @@ struct _NML3Cfg {
|
|||
* NML3Cfg instance. We track some per-l3cfg-data that is only
|
||||
* relevant to NMNetns here. */
|
||||
struct {
|
||||
guint32 signal_pending_obj_type_flags;
|
||||
guint64 signal_pending_obj_type_flags;
|
||||
CList signal_pending_lst;
|
||||
CList ecmp_track_ifindex_lst_head;
|
||||
} internal_netns;
|
||||
|
|
@ -223,7 +223,7 @@ NML3Cfg *nm_l3cfg_new(NMNetns *netns, int ifindex);
|
|||
|
||||
gboolean nm_l3cfg_is_ready(NML3Cfg *self);
|
||||
|
||||
void _nm_l3cfg_notify_platform_change_on_idle(NML3Cfg *self, guint32 obj_type_flags);
|
||||
void _nm_l3cfg_notify_platform_change_on_idle(NML3Cfg *self, guint64 obj_type_flags);
|
||||
|
||||
void _nm_l3cfg_notify_platform_change(NML3Cfg *self,
|
||||
NMPlatformSignalChangeType change_type,
|
||||
|
|
|
|||
|
|
@ -1230,7 +1230,7 @@ out:
|
|||
}
|
||||
|
||||
gboolean
|
||||
nmtstp_check_platform_full(NMPlatform *platform, guint32 obj_type_flags, gboolean do_assert)
|
||||
nmtstp_check_platform_full(NMPlatform *platform, guint64 obj_type_flags, gboolean do_assert)
|
||||
{
|
||||
static const NMPObjectType obj_types[] = {
|
||||
NMP_OBJECT_TYPE_IP4_ADDRESS,
|
||||
|
|
@ -1265,7 +1265,7 @@ nmtstp_check_platform_full(NMPlatform *platform, guint32 obj_type_flags, gboolea
|
|||
|
||||
for (i_obj_types = 0; i_obj_types < (int) G_N_ELEMENTS(obj_types); i_obj_types++) {
|
||||
const NMPObjectType obj_type = obj_types[i_obj_types];
|
||||
const guint32 i_obj_type_flags = nmp_object_type_to_flags(obj_type);
|
||||
const guint64 i_obj_type_flags = nmp_object_type_to_flags(obj_type);
|
||||
gs_unref_ptrarray GPtrArray *arr1 = NULL;
|
||||
gs_unref_ptrarray GPtrArray *arr2 = NULL;
|
||||
NMPLookup lookup;
|
||||
|
|
@ -1408,7 +1408,7 @@ nmtstp_check_platform_full(NMPlatform *platform, guint32 obj_type_flags, gboolea
|
|||
}
|
||||
|
||||
void
|
||||
nmtstp_check_platform(NMPlatform *platform, guint32 obj_type_flags)
|
||||
nmtstp_check_platform(NMPlatform *platform, guint64 obj_type_flags)
|
||||
{
|
||||
if (!nmtstp_check_platform_full(platform, obj_type_flags, FALSE)) {
|
||||
/* It's unclear why this failure sometimes happens. It happens
|
||||
|
|
|
|||
|
|
@ -140,9 +140,9 @@ int nmtstp_run_command(const char *format, ...) _nm_printf(1, 2);
|
|||
/*****************************************************************************/
|
||||
|
||||
gboolean
|
||||
nmtstp_check_platform_full(NMPlatform *platform, guint32 obj_type_flags, gboolean do_assert);
|
||||
nmtstp_check_platform_full(NMPlatform *platform, guint64 obj_type_flags, gboolean do_assert);
|
||||
|
||||
void nmtstp_check_platform(NMPlatform *platform, guint32 obj_type_flags);
|
||||
void nmtstp_check_platform(NMPlatform *platform, guint64 obj_type_flags);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
|
|
|||
|
|
@ -194,15 +194,15 @@ typedef enum _nm_packed {
|
|||
NMP_OBJECT_TYPE_MAX = __NMP_OBJECT_TYPE_LAST - 1,
|
||||
} NMPObjectType;
|
||||
|
||||
static inline guint32
|
||||
static inline guint64
|
||||
nmp_object_type_to_flags(NMPObjectType obj_type)
|
||||
{
|
||||
G_STATIC_ASSERT_EXPR(NMP_OBJECT_TYPE_MAX < 32);
|
||||
G_STATIC_ASSERT_EXPR(NMP_OBJECT_TYPE_MAX < 64);
|
||||
|
||||
nm_assert(_NM_INT_NOT_NEGATIVE(obj_type));
|
||||
nm_assert(obj_type < NMP_OBJECT_TYPE_MAX);
|
||||
|
||||
return ((guint32) 1u) << obj_type;
|
||||
return ((guint64) 1u) << obj_type;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue