diff options
author | Thomas Haller <thaller@redhat.com> | 2020-09-15 18:05:18 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2020-09-15 18:07:24 +0200 |
commit | b850cea87413e0f07fb44ac0e8de9b54bb4c2e10 (patch) | |
tree | 128ea04b43fc6f8b966ebf910178888bac49c37c | |
parent | 9802c89972ec6d72e6718aadbfa84b2e66d7485d (diff) | |
download | NetworkManager-b850cea87413e0f07fb44ac0e8de9b54bb4c2e10.tar.gz |
l3cfg: add nm_l3_config_data_{get,set}_ip6_mtu() API
-rw-r--r-- | src/nm-l3-config-data.c | 26 | ||||
-rw-r--r-- | src/nm-l3-config-data.h | 5 | ||||
-rw-r--r-- | src/nm-l3cfg.c | 2 |
3 files changed, 33 insertions, 0 deletions
diff --git a/src/nm-l3-config-data.c b/src/nm-l3-config-data.c index fa07c743f4..ed6441099f 100644 --- a/src/nm-l3-config-data.c +++ b/src/nm-l3-config-data.c @@ -122,6 +122,7 @@ struct _NML3ConfigData { int ndisc_hop_limit_val; guint32 mtu; + guint32 ip6_mtu; guint32 ndisc_reachable_time_msec_val; guint32 ndisc_retrans_timer_msec_val; @@ -1336,6 +1337,27 @@ nm_l3_config_data_set_mtu (NML3ConfigData *self, return TRUE; } +guint32 +nm_l3_config_data_get_ip6_mtu (const NML3ConfigData *self) +{ + nm_assert (_NM_IS_L3_CONFIG_DATA (self, TRUE)); + + return self->ip6_mtu; +} + +gboolean +nm_l3_config_data_set_ip6_mtu (NML3ConfigData *self, + guint32 ip6_mtu) +{ + nm_assert (_NM_IS_L3_CONFIG_DATA (self, FALSE)); + + if (self->ip6_mtu == ip6_mtu) + return FALSE; + + self->ip6_mtu = ip6_mtu; + return TRUE; +} + gboolean nm_l3_config_data_set_source (NML3ConfigData *self, NMIPConfigSource source) @@ -1596,6 +1618,7 @@ nm_l3_config_data_cmp (const NML3ConfigData *a, const NML3ConfigData *b) NM_CMP_DIRECT (a->mdns, b->mdns); NM_CMP_DIRECT (a->llmnr, b->llmnr); NM_CMP_DIRECT (a->mtu, b->mtu); + NM_CMP_DIRECT (a->ip6_mtu, b->ip6_mtu); NM_CMP_DIRECT_UNSAFE (a->metered, b->metered); NM_CMP_DIRECT_UNSAFE (a->ip6_privacy, b->ip6_privacy); @@ -2401,6 +2424,9 @@ nm_l3_config_data_merge (NML3ConfigData *self, if (self->mtu == 0u) self->mtu = src->mtu; + if (self->ip6_mtu == 0u) + self->ip6_mtu = src->ip6_mtu; + /* self->source does not get merged. */ /* self->dhcp_lease_x does not get merged. */ } diff --git a/src/nm-l3-config-data.h b/src/nm-l3-config-data.h index 09e1e1d6a9..7878381d01 100644 --- a/src/nm-l3-config-data.h +++ b/src/nm-l3-config-data.h @@ -439,6 +439,11 @@ guint32 nm_l3_config_data_get_mtu (const NML3ConfigData *self); gboolean nm_l3_config_data_set_mtu (NML3ConfigData *self, guint32 mtu); +guint32 nm_l3_config_data_get_ip6_mtu (const NML3ConfigData *self); + +gboolean nm_l3_config_data_set_ip6_mtu (NML3ConfigData *self, + guint32 ip6_mtu); + const in_addr_t *nm_l3_config_data_get_wins (const NML3ConfigData *self, guint *out_len); diff --git a/src/nm-l3cfg.c b/src/nm-l3cfg.c index 9b9a3a52d9..7526897464 100644 --- a/src/nm-l3cfg.c +++ b/src/nm-l3cfg.c @@ -2850,6 +2850,8 @@ _platform_commit (NML3Cfg *self, /* FIXME(l3cfg): need to honor and set nm_l3_config_data_get_ip6_privacy(). */ /* FIXME(l3cfg): need to honor and set nm_l3_config_data_get_ndisc_*(). */ + /* FIXME(l3cfg): need to honor and set nm_l3_config_data_get_ip6_mtu(). */ + /* FIXME(l3cfg): need to honor and set nm_l3_config_data_get_mtu(). */ nm_platform_ip_address_sync (self->priv.platform, addr_family, |