mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-01-11 02:50:18 +01:00
platform: add hash functions for NMPlatformMptcpAddr instances
We already have two hash functions for MPTCP addresses: nmp_object_id_hash*() which compares the identity of objects and nm_platform_mptcp_addr_hash*(), which compares all fields. There is also a need to hash only the address. Add it. Will be used next.
This commit is contained in:
parent
3a8864a585
commit
ec64559caa
2 changed files with 25 additions and 0 deletions
|
|
@ -7806,6 +7806,28 @@ nm_platform_mptcp_addr_cmp(const NMPlatformMptcpAddr *a, const NMPlatformMptcpAd
|
|||
return 0;
|
||||
}
|
||||
|
||||
guint
|
||||
nm_platform_mptcp_addr_index_addr_cmp(gconstpointer data)
|
||||
{
|
||||
const NMPlatformMptcpAddr *mptcp_addr = data;
|
||||
NMHashState h;
|
||||
|
||||
nm_hash_init(&h, 1408914077u);
|
||||
nm_hash_update_val(&h, mptcp_addr->addr_family);
|
||||
nm_hash_update(&h, &mptcp_addr->addr, nm_utils_addr_family_to_size(mptcp_addr->addr_family));
|
||||
return nm_hash_complete(&h);
|
||||
}
|
||||
|
||||
gboolean
|
||||
nm_platform_mptcp_addr_index_addr_equal(gconstpointer data_a, gconstpointer data_b)
|
||||
{
|
||||
const NMPlatformMptcpAddr *mptcp_addr_a = data_a;
|
||||
const NMPlatformMptcpAddr *mptcp_addr_b = data_b;
|
||||
|
||||
return mptcp_addr_a->addr_family == mptcp_addr_b->addr_family
|
||||
&& nm_ip_addr_equal(mptcp_addr_a->addr_family, &mptcp_addr_a->addr, &mptcp_addr_b->addr);
|
||||
}
|
||||
|
||||
const char *
|
||||
nm_platform_vf_to_string(const NMPlatformVF *vf, char *buf, gsize len)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2589,6 +2589,9 @@ void nm_platform_tfilter_hash_update(const NMPlatformTfilter *obj, NMHashState *
|
|||
|
||||
void nm_platform_mptcp_addr_hash_update(const NMPlatformMptcpAddr *obj, NMHashState *h);
|
||||
|
||||
guint nm_platform_mptcp_addr_index_addr_cmp(gconstpointer data);
|
||||
gboolean nm_platform_mptcp_addr_index_addr_equal(gconstpointer data_a, gconstpointer data_b);
|
||||
|
||||
#define NM_PLATFORM_LINK_FLAGS2STR_MAX_LEN ((gsize) 162)
|
||||
|
||||
const char *nm_platform_link_flags2str(unsigned flags, char *buf, gsize len);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue