tui: add only some options to new bond connections

Instead of adding every known option to new bond connections, only add
the ones supported by UI.

https://bugzilla.redhat.com/show_bug.cgi?id=1715720
(cherry picked from commit b247950c6f)
This commit is contained in:
Beniamino Galvani 2019-06-10 15:30:53 +02:00
parent e94127432c
commit 5221af1123
2 changed files with 17 additions and 5 deletions

View file

@ -69,14 +69,23 @@ bond_connection_setup_func (NMConnection *connection,
NMSetting *s_hw)
{
NMSettingBond *s_bond = NM_SETTING_BOND (s_hw);
const char **options, *def, *cur;
int i;
const char *def, *cur;
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_UPDELAY,
};
guint i;
options = nm_setting_bond_get_valid_options (s_bond);
for (i = 0; options[i]; 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 (g_strcmp0 (def, cur) != 0)
if (!nm_streq0 (def, cur))
nm_setting_bond_add_option (s_bond, options[i], def);
}
}

View file

@ -46,6 +46,9 @@ typedef enum {
typedef struct {
NmtSlaveList *slaves;
/* Note: when adding new options to the UI also ensure they are
* initialized in bond_connection_setup_func()
*/
NmtNewtPopup *mode;
NmtNewtEntry *primary;
NmtNewtPopup *monitoring;