nmtui: only set 'mode' and enable 'miimon' when setting up a new connection

When creating a new connection before the user gets the chance to modify
the bond options let's just initialize 'mode' and 'miimon' (with related
'updelay' and 'downdelay').

Initializing also 'arp_interval', 'arp_ip_target' and 'primary' doesn't
make much sense as by default they're disabled or contain empty values.
This commit is contained in:
Antonio Cardace 2020-03-04 16:22:37 +01:00
parent b868fee9cb
commit 40ea0335d0

View file

@ -56,24 +56,19 @@ bond_connection_setup_func (NMConnection *connection,
NMSetting *s_hw)
{
NMSettingBond *s_bond = NM_SETTING_BOND (s_hw);
const char *def, *cur;
guint i;
const char *value;
static const char *const options[] = {
NM_SETTING_BOND_OPTION_ARP_INTERVAL,
NM_SETTING_BOND_OPTION_ARP_IP_TARGET,
NM_SETTING_BOND_OPTION_DOWNDELAY,
NM_SETTING_BOND_OPTION_MIIMON,
NM_SETTING_BOND_OPTION_MODE,
NM_SETTING_BOND_OPTION_PRIMARY,
NM_SETTING_BOND_OPTION_MIIMON,
NM_SETTING_BOND_OPTION_DOWNDELAY,
NM_SETTING_BOND_OPTION_UPDELAY,
};
guint i;
/* Only add options supported by the UI */
for (i = 0; i < G_N_ELEMENTS (options); i++) {
def = nm_setting_bond_get_option_default (s_bond, options[i]);
cur = nm_setting_bond_get_option_by_name (s_bond, options[i]);
if (!nm_streq0 (def, cur))
nm_setting_bond_add_option (s_bond, options[i], def);
value = nm_setting_bond_get_option_default (s_bond, options[i]);
if (value)
nm_setting_bond_add_option (s_bond, options[i], value);
}
}