diff options
author | Thomas Haller <thaller@redhat.com> | 2021-09-21 09:11:54 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2021-09-21 09:11:54 +0200 |
commit | 79d4b67681c7a72c37686115121d5a254fb25c15 (patch) | |
tree | e638183b638800afc740034545b2385d58b989a1 | |
parent | b1ad3f1ba5f15a3a4a753bbc19bb6d08f313bc69 (diff) | |
download | NetworkManager-79d4b67681c7a72c37686115121d5a254fb25c15.tar.gz |
l3cfg: add nm_l3_config_data_lookup_address_4() helper
-rw-r--r-- | src/core/nm-l3-config-data.c | 20 | ||||
-rw-r--r-- | src/core/nm-l3-config-data.h | 5 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/core/nm-l3-config-data.c b/src/core/nm-l3-config-data.c index 70fca5afb4..5307002b41 100644 --- a/src/core/nm-l3-config-data.c +++ b/src/core/nm-l3-config-data.c @@ -873,6 +873,26 @@ nm_l3_config_data_lookup_obj(const NML3ConfigData *self, const NMPObject *obj) return nm_dedup_multi_index_lookup_obj(self->multi_idx, idx, obj); } +const NMPlatformIP4Address * +nm_l3_config_data_lookup_address_4(const NML3ConfigData *self, + in_addr_t addr, + guint8 plen, + in_addr_t peer_addr) +{ + const NMDedupMultiEntry *head; + NMPObject obj_stack; + + nm_assert(_NM_IS_L3_CONFIG_DATA(self, TRUE)); + + nmp_object_stackinit_id_ip4_address(&obj_stack, self->ifindex, addr, plen, peer_addr); + + head = nm_l3_config_data_lookup_obj(self, &obj_stack); + if (!head) + return NULL; + + return NMP_OBJECT_CAST_IP4_ADDRESS(head->obj); +} + const NMPlatformIP6Address * nm_l3_config_data_lookup_address_6(const NML3ConfigData *self, const struct in6_addr *addr) { diff --git a/src/core/nm-l3-config-data.h b/src/core/nm-l3-config-data.h index 2e82203466..35b316d162 100644 --- a/src/core/nm-l3-config-data.h +++ b/src/core/nm-l3-config-data.h @@ -222,6 +222,11 @@ const NMDedupMultiIdxType *nm_l3_config_data_lookup_index(const NML3ConfigData * const NMDedupMultiEntry *nm_l3_config_data_lookup_obj(const NML3ConfigData *self, const NMPObject * obj); +const NMPlatformIP4Address *nm_l3_config_data_lookup_address_4(const NML3ConfigData *self, + in_addr_t addr, + guint8 plen, + in_addr_t peer_addr); + const NMPlatformIP6Address *nm_l3_config_data_lookup_address_6(const NML3ConfigData * self, const struct in6_addr *addr); |