summary refs log tree commit diff
path: root/src/libnm-base
diff options
context:
space:
mode:
Diffstat (limited to 'src/libnm-base')
-rw-r--r--src/libnm-base/nm-base.h13
-rw-r--r--src/libnm-base/nm-config-base.h6
-rw-r--r--src/libnm-base/nm-ethtool-base.c13
-rw-r--r--src/libnm-base/nm-ethtool-utils-base.h2
4 files changed, 27 insertions, 7 deletions
diff --git a/src/libnm-base/nm-base.h b/src/libnm-base/nm-base.h
index 4b1bff54..048c0241 100644
--- a/src/libnm-base/nm-base.h
+++ b/src/libnm-base/nm-base.h
@@ -135,7 +135,11 @@ typedef enum {
     NM_ETHTOOL_ID_CHANNELS_COMBINED,
     _NM_ETHTOOL_ID_CHANNELS_LAST = NM_ETHTOOL_ID_CHANNELS_COMBINED,
 
-    _NM_ETHTOOL_ID_LAST = _NM_ETHTOOL_ID_CHANNELS_LAST,
+    _NM_ETHTOOL_ID_FEC_FIRST = _NM_ETHTOOL_ID_CHANNELS_LAST + 1,
+    NM_ETHTOOL_ID_FEC_MODE   = _NM_ETHTOOL_ID_FEC_FIRST,
+    _NM_ETHTOOL_ID_FEC_LAST  = NM_ETHTOOL_ID_FEC_MODE,
+
+    _NM_ETHTOOL_ID_LAST = _NM_ETHTOOL_ID_FEC_LAST,
 
     _NM_ETHTOOL_ID_COALESCE_NUM =
         (_NM_ETHTOOL_ID_COALESCE_LAST - _NM_ETHTOOL_ID_COALESCE_FIRST + 1),
@@ -158,6 +162,7 @@ typedef enum {
     NM_ETHTOOL_TYPE_PAUSE,
     NM_ETHTOOL_TYPE_CHANNELS,
     NM_ETHTOOL_TYPE_EEE,
+    NM_ETHTOOL_TYPE_FEC,
 } NMEthtoolType;
 
 /****************************************************************************/
@@ -198,6 +203,12 @@ nm_ethtool_id_is_eee(NMEthtoolID id)
     return id >= _NM_ETHTOOL_ID_EEE_FIRST && id <= _NM_ETHTOOL_ID_EEE_LAST;
 }
 
+static inline gboolean
+nm_ethtool_id_is_fec(NMEthtoolID id)
+{
+    return id >= _NM_ETHTOOL_ID_FEC_FIRST && id <= _NM_ETHTOOL_ID_FEC_LAST;
+}
+
 /*****************************************************************************/
 
 typedef enum {
diff --git a/src/libnm-base/nm-config-base.h b/src/libnm-base/nm-config-base.h
index 362a183c..d101c95c 100644
--- a/src/libnm-base/nm-config-base.h
+++ b/src/libnm-base/nm-config-base.h
@@ -55,8 +55,10 @@
 
 #define NM_CONFIG_KEYFILE_KEY_IFUPDOWN_MANAGED "managed"
 
-#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_SEARCHES "searches"
-#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_OPTIONS  "options"
+#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_SEARCHES                "searches"
+#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_OPTIONS                 "options"
+#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_CERTIFICATION_AUTHORITY "certification-authority"
+#define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_RESOLVE_MODE            "resolve-mode"
 
 #define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_DOMAIN_SERVERS "servers"
 #define NM_CONFIG_KEYFILE_KEY_GLOBAL_DNS_DOMAIN_OPTIONS "options"
diff --git a/src/libnm-base/nm-ethtool-base.c b/src/libnm-base/nm-ethtool-base.c
index a02b9018..6f2ab211 100644
--- a/src/libnm-base/nm-ethtool-base.c
+++ b/src/libnm-base/nm-ethtool-base.c
@@ -11,10 +11,10 @@
 
 /*****************************************************************************/
 
-#define ETHT_DATA(xname)                                \
-    [NM_ETHTOOL_ID_##xname] = (&((const NMEthtoolData){ \
-        .optname = NM_ETHTOOL_OPTNAME_##xname,          \
-        .id      = NM_ETHTOOL_ID_##xname,               \
+#define ETHT_DATA(xname)                                 \
+    [NM_ETHTOOL_ID_##xname] = (&((const NMEthtoolData) { \
+        .optname = NM_ETHTOOL_OPTNAME_##xname,           \
+        .id      = NM_ETHTOOL_ID_##xname,                \
     }))
 
 const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
@@ -111,6 +111,7 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
     ETHT_DATA(CHANNELS_TX),
     ETHT_DATA(CHANNELS_OTHER),
     ETHT_DATA(CHANNELS_COMBINED),
+    ETHT_DATA(FEC_MODE),
     [_NM_ETHTOOL_ID_NUM] = NULL,
 };
 
@@ -201,6 +202,7 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = {
     NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_SEGMENTATION,
     NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT,
     NM_ETHTOOL_ID_FEATURE_TXVLAN,
+    NM_ETHTOOL_ID_FEC_MODE,
     NM_ETHTOOL_ID_PAUSE_AUTONEG,
     NM_ETHTOOL_ID_PAUSE_RX,
     NM_ETHTOOL_ID_PAUSE_TX,
@@ -305,6 +307,8 @@ nm_ethtool_id_to_type(NMEthtoolID id)
         return NM_ETHTOOL_TYPE_CHANNELS;
     if (nm_ethtool_id_is_eee(id))
         return NM_ETHTOOL_TYPE_EEE;
+    if (nm_ethtool_id_is_fec(id))
+        return NM_ETHTOOL_TYPE_FEC;
 
     return NM_ETHTOOL_TYPE_UNKNOWN;
 }
@@ -319,6 +323,7 @@ nm_ethtool_id_get_variant_type(NMEthtoolID ethtool_id)
         return G_VARIANT_TYPE_BOOLEAN;
     case NM_ETHTOOL_TYPE_CHANNELS:
     case NM_ETHTOOL_TYPE_COALESCE:
+    case NM_ETHTOOL_TYPE_FEC:
     case NM_ETHTOOL_TYPE_RING:
         return G_VARIANT_TYPE_UINT32;
     case NM_ETHTOOL_TYPE_UNKNOWN:
diff --git a/src/libnm-base/nm-ethtool-utils-base.h b/src/libnm-base/nm-ethtool-utils-base.h
index 75fb63c5..435e88d2 100644
--- a/src/libnm-base/nm-ethtool-utils-base.h
+++ b/src/libnm-base/nm-ethtool-utils-base.h
@@ -109,6 +109,8 @@ G_BEGIN_DECLS
 #define NM_ETHTOOL_OPTNAME_CHANNELS_OTHER    "channels-other"
 #define NM_ETHTOOL_OPTNAME_CHANNELS_COMBINED "channels-combined"
 
+#define NM_ETHTOOL_OPTNAME_FEC_MODE "fec-mode"
+
 #define NM_ETHTOOL_OPTNAME_EEE_ENABLED "eee-enabled"
 
 /*****************************************************************************/