summary refs log tree commit diff
path: root/src/libnm-core-aux-intern/nm-libnm-core-utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-core-aux-intern/nm-libnm-core-utils.c')
-rw-r--r--src/libnm-core-aux-intern/nm-libnm-core-utils.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/libnm-core-aux-intern/nm-libnm-core-utils.c b/src/libnm-core-aux-intern/nm-libnm-core-utils.c
index 3e317e5b..b38accb2 100644
--- a/src/libnm-core-aux-intern/nm-libnm-core-utils.c
+++ b/src/libnm-core-aux-intern/nm-libnm-core-utils.c
@@ -462,6 +462,23 @@ nm_utils_validate_dhcp4_vendor_class_id(const char *vci, GError **error)
 }
 
 gboolean
+nm_utils_validate_dhcp_dscp(const char *dscp, GError **error)
+{
+    g_return_val_if_fail(!error || !(*error), FALSE);
+    g_return_val_if_fail(dscp, FALSE);
+
+    if (!NM_IN_STRSET(dscp, "CS0", "CS4", "CS6")) {
+        g_set_error_literal(error,
+                            NM_CONNECTION_ERROR,
+                            NM_CONNECTION_ERROR_INVALID_PROPERTY,
+                            _("invalid DSCP value; allowed values are: 'CS0', 'CS4', 'CS6'"));
+        return FALSE;
+    }
+
+    return TRUE;
+}
+
+gboolean
 nm_settings_connection_validate_permission_user(const char *item, gssize len)
 {
     gsize l;