about summary refs log tree commit diff
path: root/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c')
-rw-r--r--src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
index 21908090..dc60fdf1 100644
--- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
@@ -849,7 +849,7 @@ write_wireless_setting(NMConnection *connection,
     GBytes            *ssid;
     const guint8      *ssid_data;
     gsize              ssid_len;
-    const char        *mode, *bssid;
+    const char        *mode, *bssid, *band;
     const char        *device_mac, *cloned_mac;
     guint32            mtu, chan, i;
     gboolean           adhoc = FALSE, hex_ssid = FALSE;
@@ -968,9 +968,11 @@ write_wireless_setting(NMConnection *connection,
     chan = nm_setting_wireless_get_channel(s_wireless);
     if (chan) {
         svSetValueInt64(ifcfg, "CHANNEL", chan);
-    } else {
-        /* Band only set if channel is not, since channel implies band */
-        svSetValueStr(ifcfg, "BAND", nm_setting_wireless_get_band(s_wireless));
+    }
+
+    band = nm_setting_wireless_get_band(s_wireless);
+    if (band) {
+        svSetValueStr(ifcfg, "BAND", band);
     }
 
     bssid = nm_setting_wireless_get_bssid(s_wireless);
@@ -3598,6 +3600,7 @@ do_write_construct(NMConnection                   *connection,
     } else
         route_ignore = FALSE;
 
+    /* Unsupported properties */
     if ((s_ip4 = nm_connection_get_setting_ip4_config(connection))) {
         if (nm_setting_ip_config_get_dhcp_dscp(s_ip4)) {
             set_error_unsupported(error,
@@ -3616,6 +3619,14 @@ do_write_construct(NMConnection                   *connection,
                                   FALSE);
             return FALSE;
         }
+        if (nm_setting_ip4_config_get_clat(NM_SETTING_IP4_CONFIG(s_ip4))
+            != NM_SETTING_IP4_CONFIG_CLAT_DEFAULT) {
+            set_error_unsupported(error,
+                                  connection,
+                                  NM_SETTING_IP4_CONFIG_SETTING_NAME "." NM_SETTING_IP4_CONFIG_CLAT,
+                                  FALSE);
+            return FALSE;
+        }
     }
 
     write_ip4_setting(connection,