summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2021-01-27 13:50:48 +0100
committerThomas Haller <thaller@redhat.com>2021-02-01 13:25:06 +0100
commit086c563ad095b23b895ec7ccdbc1ba0cf4fe387d (patch)
tree2609489d8b1cb89e8a6cdb1dd722eeb4ea012516
parent087a3b4955cffd38a40e43d441ab1a9887e8bda9 (diff)
downloadNetworkManager-th/ethtool-new-offload-features.tar.gz
ethtool: add more offload features that kernel supportsth/ethtool-new-offload-features
New features: - ethtool.feature-macsec-hw-offload - ethtool.feature-netns-local - ethtool.feature-rx-gro-list - ethtool.feature-rx-udp-gro-forwarding - ethtool.feature-tls-hw-rx-offload - ethtool.feature-tx-gso-list - ethtool.feature-tx-lockless - ethtool.feature-tx-tunnel-remcsum-segmentation - ethtool.feature-vlan-challenged
-rw-r--r--clients/cli/generate-docs-nm-settings-nmcli.xml.in9
-rw-r--r--clients/common/nm-meta-setting-desc.c9
-rw-r--r--libnm/nm-ethtool-utils.h10
-rw-r--r--shared/nm-base/nm-base.h11
-rw-r--r--shared/nm-base/nm-ethtool-base.c18
-rw-r--r--shared/nm-platform/nm-platform-utils.c10
-rw-r--r--src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c21
7 files changed, 86 insertions, 2 deletions
diff --git a/clients/cli/generate-docs-nm-settings-nmcli.xml.in b/clients/cli/generate-docs-nm-settings-nmcli.xml.in
index aad43c8ed5..aedced14b8 100644
--- a/clients/cli/generate-docs-nm-settings-nmcli.xml.in
+++ b/clients/cli/generate-docs-nm-settings-nmcli.xml.in
@@ -460,6 +460,8 @@
<property name="feature-l2-fwd-offload" />
<property name="feature-loopback" />
<property name="feature-lro" />
+ <property name="feature-macsec-hw-offload" />
+ <property name="feature-netns-local" />
<property name="feature-ntuple" />
<property name="feature-rx" />
<property name="feature-rxhash" />
@@ -467,12 +469,15 @@
<property name="feature-rx-all" />
<property name="feature-rx-fcs" />
<property name="feature-rx-gro-hw" />
+ <property name="feature-rx-gro-list" />
+ <property name="feature-rx-udp-gro-forwarding" />
<property name="feature-rx-udp_tunnel-port-offload" />
<property name="feature-rx-vlan-filter" />
<property name="feature-rx-vlan-stag-filter" />
<property name="feature-rx-vlan-stag-hw-parse" />
<property name="feature-sg" />
<property name="feature-tls-hw-record" />
+ <property name="feature-tls-hw-rx-offload" />
<property name="feature-tls-hw-tx-offload" />
<property name="feature-tso" />
<property name="feature-tx" />
@@ -486,10 +491,12 @@
<property name="feature-tx-fcoe-segmentation" />
<property name="feature-tx-gre-csum-segmentation" />
<property name="feature-tx-gre-segmentation" />
+ <property name="feature-tx-gso-list" />
<property name="feature-tx-gso-partial" />
<property name="feature-tx-gso-robust" />
<property name="feature-tx-ipxip4-segmentation" />
<property name="feature-tx-ipxip6-segmentation" />
+ <property name="feature-tx-lockless" />
<property name="feature-tx-nocache-copy" />
<property name="feature-tx-scatter-gather" />
<property name="feature-tx-scatter-gather-fraglist" />
@@ -498,10 +505,12 @@
<property name="feature-tx-tcp-ecn-segmentation" />
<property name="feature-tx-tcp-mangleid-segmentation" />
<property name="feature-tx-tcp-segmentation" />
+ <property name="feature-tx-tunnel-remcsum-segmentation" />
<property name="feature-tx-udp-segmentation" />
<property name="feature-tx-udp_tnl-csum-segmentation" />
<property name="feature-tx-udp_tnl-segmentation" />
<property name="feature-tx-vlan-stag-hw-insert" />
+ <property name="feature-vlan-challenged" />
<property name="coalesce-adaptive-rx" />
<property name="coalesce-adaptive-tx" />
<property name="coalesce-pkt-rate-high" />
diff --git a/clients/common/nm-meta-setting-desc.c b/clients/common/nm-meta-setting-desc.c
index d30d6cd48f..850b124145 100644
--- a/clients/common/nm-meta-setting-desc.c
+++ b/clients/common/nm-meta-setting-desc.c
@@ -5504,6 +5504,8 @@ static const NMMetaPropertyInfo *const property_infos_ETHTOOL[] = {
PROPERTY_INFO_ETHTOOL (FEATURE_L2_FWD_OFFLOAD),
PROPERTY_INFO_ETHTOOL (FEATURE_LOOPBACK),
PROPERTY_INFO_ETHTOOL (FEATURE_LRO),
+ PROPERTY_INFO_ETHTOOL (FEATURE_MACSEC_HW_OFFLOAD),
+ PROPERTY_INFO_ETHTOOL (FEATURE_NETNS_LOCAL),
PROPERTY_INFO_ETHTOOL (FEATURE_NTUPLE),
PROPERTY_INFO_ETHTOOL (FEATURE_RX),
PROPERTY_INFO_ETHTOOL (FEATURE_RXHASH),
@@ -5511,12 +5513,15 @@ static const NMMetaPropertyInfo *const property_infos_ETHTOOL[] = {
PROPERTY_INFO_ETHTOOL (FEATURE_RX_ALL),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_FCS),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_GRO_HW),
+ PROPERTY_INFO_ETHTOOL (FEATURE_RX_GRO_LIST),
+ PROPERTY_INFO_ETHTOOL (FEATURE_RX_UDP_GRO_FORWARDING),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_VLAN_FILTER),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_VLAN_STAG_FILTER),
PROPERTY_INFO_ETHTOOL (FEATURE_RX_VLAN_STAG_HW_PARSE),
PROPERTY_INFO_ETHTOOL (FEATURE_SG),
PROPERTY_INFO_ETHTOOL (FEATURE_TLS_HW_RECORD),
+ PROPERTY_INFO_ETHTOOL (FEATURE_TLS_HW_RX_OFFLOAD),
PROPERTY_INFO_ETHTOOL (FEATURE_TLS_HW_TX_OFFLOAD),
PROPERTY_INFO_ETHTOOL (FEATURE_TSO),
PROPERTY_INFO_ETHTOOL (FEATURE_TX),
@@ -5530,10 +5535,12 @@ static const NMMetaPropertyInfo *const property_infos_ETHTOOL[] = {
PROPERTY_INFO_ETHTOOL (FEATURE_TX_FCOE_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_GRE_CSUM_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_GRE_SEGMENTATION),
+ PROPERTY_INFO_ETHTOOL (FEATURE_TX_GSO_LIST),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_GSO_PARTIAL),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_GSO_ROBUST),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_IPXIP4_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_IPXIP6_SEGMENTATION),
+ PROPERTY_INFO_ETHTOOL (FEATURE_TX_LOCKLESS),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_NOCACHE_COPY),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_SCATTER_GATHER),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_SCATTER_GATHER_FRAGLIST),
@@ -5542,10 +5549,12 @@ static const NMMetaPropertyInfo *const property_infos_ETHTOOL[] = {
PROPERTY_INFO_ETHTOOL (FEATURE_TX_TCP_ECN_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_TCP_MANGLEID_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_TCP_SEGMENTATION),
+ PROPERTY_INFO_ETHTOOL (FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_UDP_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_UDP_TNL_SEGMENTATION),
PROPERTY_INFO_ETHTOOL (FEATURE_TX_VLAN_STAG_HW_INSERT),
+ PROPERTY_INFO_ETHTOOL (FEATURE_VLAN_CHALLENGED),
PROPERTY_INFO_ETHTOOL (COALESCE_ADAPTIVE_RX),
PROPERTY_INFO_ETHTOOL (COALESCE_ADAPTIVE_TX),
PROPERTY_INFO_ETHTOOL (COALESCE_PKT_RATE_HIGH),
diff --git a/libnm/nm-ethtool-utils.h b/libnm/nm-ethtool-utils.h
index e8df3da242..3cb5972552 100644
--- a/libnm/nm-ethtool-utils.h
+++ b/libnm/nm-ethtool-utils.h
@@ -20,6 +20,8 @@ G_BEGIN_DECLS
#define NM_ETHTOOL_OPTNAME_FEATURE_L2_FWD_OFFLOAD "feature-l2-fwd-offload"
#define NM_ETHTOOL_OPTNAME_FEATURE_LOOPBACK "feature-loopback"
#define NM_ETHTOOL_OPTNAME_FEATURE_LRO "feature-lro"
+#define NM_ETHTOOL_OPTNAME_FEATURE_MACSEC_HW_OFFLOAD "feature-macsec-hw-offload"
+#define NM_ETHTOOL_OPTNAME_FEATURE_NETNS_LOCAL "feature-netns-local"
#define NM_ETHTOOL_OPTNAME_FEATURE_NTUPLE "feature-ntuple"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX "feature-rx"
#define NM_ETHTOOL_OPTNAME_FEATURE_RXHASH "feature-rxhash"
@@ -27,12 +29,15 @@ G_BEGIN_DECLS
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_ALL "feature-rx-all"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_FCS "feature-rx-fcs"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_HW "feature-rx-gro-hw"
+#define NM_ETHTOOL_OPTNAME_FEATURE_RX_GRO_LIST "feature-rx-gro-list"
+#define NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_GRO_FORWARDING "feature-rx-udp-gro-forwarding"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD "feature-rx-udp_tunnel-port-offload"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_FILTER "feature-rx-vlan-filter"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_FILTER "feature-rx-vlan-stag-filter"
#define NM_ETHTOOL_OPTNAME_FEATURE_RX_VLAN_STAG_HW_PARSE "feature-rx-vlan-stag-hw-parse"
#define NM_ETHTOOL_OPTNAME_FEATURE_SG "feature-sg"
#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RECORD "feature-tls-hw-record"
+#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_RX_OFFLOAD "feature-tls-hw-rx-offload"
#define NM_ETHTOOL_OPTNAME_FEATURE_TLS_HW_TX_OFFLOAD "feature-tls-hw-tx-offload"
#define NM_ETHTOOL_OPTNAME_FEATURE_TSO "feature-tso"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX "feature-tx"
@@ -46,10 +51,12 @@ G_BEGIN_DECLS
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_FCOE_SEGMENTATION "feature-tx-fcoe-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_CSUM_SEGMENTATION "feature-tx-gre-csum-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GRE_SEGMENTATION "feature-tx-gre-segmentation"
+#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_LIST "feature-tx-gso-list"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_PARTIAL "feature-tx-gso-partial"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_GSO_ROBUST "feature-tx-gso-robust"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP4_SEGMENTATION "feature-tx-ipxip4-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_IPXIP6_SEGMENTATION "feature-tx-ipxip6-segmentation"
+#define NM_ETHTOOL_OPTNAME_FEATURE_TX_LOCKLESS "feature-tx-lockless"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_NOCACHE_COPY "feature-tx-nocache-copy"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER "feature-tx-scatter-gather"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_SCATTER_GATHER_FRAGLIST "feature-tx-scatter-gather-fraglist"
@@ -59,11 +66,14 @@ G_BEGIN_DECLS
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_MANGLEID_SEGMENTATION \
"feature-tx-tcp-mangleid-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TCP_SEGMENTATION "feature-tx-tcp-segmentation"
+#define NM_ETHTOOL_OPTNAME_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION \
+ "feature-tx-tunnel-remcsum-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_SEGMENTATION "feature-tx-udp-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION \
"feature-tx-udp_tnl-csum-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_UDP_TNL_SEGMENTATION "feature-tx-udp_tnl-segmentation"
#define NM_ETHTOOL_OPTNAME_FEATURE_TX_VLAN_STAG_HW_INSERT "feature-tx-vlan-stag-hw-insert"
+#define NM_ETHTOOL_OPTNAME_FEATURE_VLAN_CHALLENGED "feature-vlan-challenged"
#define NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_RX "coalesce-adaptive-rx"
#define NM_ETHTOOL_OPTNAME_COALESCE_ADAPTIVE_TX "coalesce-adaptive-tx"
diff --git a/shared/nm-base/nm-base.h b/shared/nm-base/nm-base.h
index 1db21aebc1..fecdec6c34 100644
--- a/shared/nm-base/nm-base.h
+++ b/shared/nm-base/nm-base.h
@@ -54,6 +54,8 @@ typedef enum {
NM_ETHTOOL_ID_FEATURE_L2_FWD_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_LOOPBACK,
NM_ETHTOOL_ID_FEATURE_LRO,
+ NM_ETHTOOL_ID_FEATURE_MACSEC_HW_OFFLOAD,
+ NM_ETHTOOL_ID_FEATURE_NETNS_LOCAL,
NM_ETHTOOL_ID_FEATURE_NTUPLE,
NM_ETHTOOL_ID_FEATURE_RX,
NM_ETHTOOL_ID_FEATURE_RXHASH,
@@ -61,12 +63,15 @@ typedef enum {
NM_ETHTOOL_ID_FEATURE_RX_ALL,
NM_ETHTOOL_ID_FEATURE_RX_FCS,
NM_ETHTOOL_ID_FEATURE_RX_GRO_HW,
+ NM_ETHTOOL_ID_FEATURE_RX_GRO_LIST,
+ NM_ETHTOOL_ID_FEATURE_RX_UDP_GRO_FORWARDING,
NM_ETHTOOL_ID_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_RX_VLAN_FILTER,
NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_FILTER,
NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_HW_PARSE,
NM_ETHTOOL_ID_FEATURE_SG,
NM_ETHTOOL_ID_FEATURE_TLS_HW_RECORD,
+ NM_ETHTOOL_ID_FEATURE_TLS_HW_RX_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_TLS_HW_TX_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_TSO,
NM_ETHTOOL_ID_FEATURE_TX,
@@ -80,10 +85,12 @@ typedef enum {
NM_ETHTOOL_ID_FEATURE_TX_FCOE_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_GRE_CSUM_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_GRE_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_GSO_LIST,
NM_ETHTOOL_ID_FEATURE_TX_GSO_PARTIAL,
NM_ETHTOOL_ID_FEATURE_TX_GSO_ROBUST,
NM_ETHTOOL_ID_FEATURE_TX_IPXIP4_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_IPXIP6_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_LOCKLESS,
NM_ETHTOOL_ID_FEATURE_TX_NOCACHE_COPY,
NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER,
NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER_FRAGLIST,
@@ -92,11 +99,13 @@ typedef enum {
NM_ETHTOOL_ID_FEATURE_TX_TCP_ECN_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_TCP_MANGLEID_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_TCP_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_UDP_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT,
- _NM_ETHTOOL_ID_FEATURE_LAST = NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT,
+ NM_ETHTOOL_ID_FEATURE_VLAN_CHALLENGED,
+ _NM_ETHTOOL_ID_FEATURE_LAST = NM_ETHTOOL_ID_FEATURE_VLAN_CHALLENGED,
_NM_ETHTOOL_ID_RING_FIRST = _NM_ETHTOOL_ID_FEATURE_LAST + 1,
NM_ETHTOOL_ID_RING_RX = _NM_ETHTOOL_ID_RING_FIRST,
diff --git a/shared/nm-base/nm-ethtool-base.c b/shared/nm-base/nm-ethtool-base.c
index 9934aa06c1..1e482e55b6 100644
--- a/shared/nm-base/nm-ethtool-base.c
+++ b/shared/nm-base/nm-ethtool-base.c
@@ -51,6 +51,8 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
ETHT_DATA(FEATURE_L2_FWD_OFFLOAD),
ETHT_DATA(FEATURE_LOOPBACK),
ETHT_DATA(FEATURE_LRO),
+ ETHT_DATA(FEATURE_MACSEC_HW_OFFLOAD),
+ ETHT_DATA(FEATURE_NETNS_LOCAL),
ETHT_DATA(FEATURE_NTUPLE),
ETHT_DATA(FEATURE_RX),
ETHT_DATA(FEATURE_RXHASH),
@@ -58,12 +60,15 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
ETHT_DATA(FEATURE_RX_ALL),
ETHT_DATA(FEATURE_RX_FCS),
ETHT_DATA(FEATURE_RX_GRO_HW),
+ ETHT_DATA(FEATURE_RX_GRO_LIST),
+ ETHT_DATA(FEATURE_RX_UDP_GRO_FORWARDING),
ETHT_DATA(FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD),
ETHT_DATA(FEATURE_RX_VLAN_FILTER),
ETHT_DATA(FEATURE_RX_VLAN_STAG_FILTER),
ETHT_DATA(FEATURE_RX_VLAN_STAG_HW_PARSE),
ETHT_DATA(FEATURE_SG),
ETHT_DATA(FEATURE_TLS_HW_RECORD),
+ ETHT_DATA(FEATURE_TLS_HW_RX_OFFLOAD),
ETHT_DATA(FEATURE_TLS_HW_TX_OFFLOAD),
ETHT_DATA(FEATURE_TSO),
ETHT_DATA(FEATURE_TX),
@@ -77,10 +82,12 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
ETHT_DATA(FEATURE_TX_FCOE_SEGMENTATION),
ETHT_DATA(FEATURE_TX_GRE_CSUM_SEGMENTATION),
ETHT_DATA(FEATURE_TX_GRE_SEGMENTATION),
+ ETHT_DATA(FEATURE_TX_GSO_LIST),
ETHT_DATA(FEATURE_TX_GSO_PARTIAL),
ETHT_DATA(FEATURE_TX_GSO_ROBUST),
ETHT_DATA(FEATURE_TX_IPXIP4_SEGMENTATION),
ETHT_DATA(FEATURE_TX_IPXIP6_SEGMENTATION),
+ ETHT_DATA(FEATURE_TX_LOCKLESS),
ETHT_DATA(FEATURE_TX_NOCACHE_COPY),
ETHT_DATA(FEATURE_TX_SCATTER_GATHER),
ETHT_DATA(FEATURE_TX_SCATTER_GATHER_FRAGLIST),
@@ -89,10 +96,12 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = {
ETHT_DATA(FEATURE_TX_TCP_ECN_SEGMENTATION),
ETHT_DATA(FEATURE_TX_TCP_MANGLEID_SEGMENTATION),
ETHT_DATA(FEATURE_TX_TCP_SEGMENTATION),
+ ETHT_DATA(FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION),
ETHT_DATA(FEATURE_TX_UDP_SEGMENTATION),
ETHT_DATA(FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION),
ETHT_DATA(FEATURE_TX_UDP_TNL_SEGMENTATION),
ETHT_DATA(FEATURE_TX_VLAN_STAG_HW_INSERT),
+ ETHT_DATA(FEATURE_VLAN_CHALLENGED),
ETHT_DATA(RING_RX),
ETHT_DATA(RING_RX_JUMBO),
ETHT_DATA(RING_RX_MINI),
@@ -134,11 +143,15 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = {
NM_ETHTOOL_ID_FEATURE_L2_FWD_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_LOOPBACK,
NM_ETHTOOL_ID_FEATURE_LRO,
+ NM_ETHTOOL_ID_FEATURE_MACSEC_HW_OFFLOAD,
+ NM_ETHTOOL_ID_FEATURE_NETNS_LOCAL,
NM_ETHTOOL_ID_FEATURE_NTUPLE,
NM_ETHTOOL_ID_FEATURE_RX,
NM_ETHTOOL_ID_FEATURE_RX_ALL,
NM_ETHTOOL_ID_FEATURE_RX_FCS,
NM_ETHTOOL_ID_FEATURE_RX_GRO_HW,
+ NM_ETHTOOL_ID_FEATURE_RX_GRO_LIST,
+ NM_ETHTOOL_ID_FEATURE_RX_UDP_GRO_FORWARDING,
NM_ETHTOOL_ID_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_RX_VLAN_FILTER,
NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_FILTER,
@@ -147,6 +160,7 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = {
NM_ETHTOOL_ID_FEATURE_RXVLAN,
NM_ETHTOOL_ID_FEATURE_SG,
NM_ETHTOOL_ID_FEATURE_TLS_HW_RECORD,
+ NM_ETHTOOL_ID_FEATURE_TLS_HW_RX_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_TLS_HW_TX_OFFLOAD,
NM_ETHTOOL_ID_FEATURE_TSO,
NM_ETHTOOL_ID_FEATURE_TX,
@@ -159,10 +173,12 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = {
NM_ETHTOOL_ID_FEATURE_TX_FCOE_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_GRE_CSUM_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_GRE_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_GSO_LIST,
NM_ETHTOOL_ID_FEATURE_TX_GSO_PARTIAL,
NM_ETHTOOL_ID_FEATURE_TX_GSO_ROBUST,
NM_ETHTOOL_ID_FEATURE_TX_IPXIP4_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_IPXIP6_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_LOCKLESS,
NM_ETHTOOL_ID_FEATURE_TX_NOCACHE_COPY,
NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER,
NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER_FRAGLIST,
@@ -171,11 +187,13 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = {
NM_ETHTOOL_ID_FEATURE_TX_TCP_MANGLEID_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_TCP_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_TCP6_SEGMENTATION,
+ NM_ETHTOOL_ID_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_UDP_SEGMENTATION,
NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION,
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_FEATURE_VLAN_CHALLENGED,
NM_ETHTOOL_ID_RING_RX,
NM_ETHTOOL_ID_RING_RX_JUMBO,
NM_ETHTOOL_ID_RING_RX_MINI,
diff --git a/shared/nm-platform/nm-platform-utils.c b/shared/nm-platform/nm-platform-utils.c
index 59e4a24491..beadb483ba 100644
--- a/shared/nm-platform/nm-platform-utils.c
+++ b/shared/nm-platform/nm-platform-utils.c
@@ -468,14 +468,19 @@ static const NMEthtoolFeatureInfo _ethtool_feature_infos[_NM_ETHTOOL_ID_FEATURE_
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_HW_TC_OFFLOAD, "hw-tc-offload"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_L2_FWD_OFFLOAD, "l2-fwd-offload"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_LOOPBACK, "loopback"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_MACSEC_HW_OFFLOAD, "macsec-hw-offload"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_NETNS_LOCAL, "netns-local"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_ALL, "rx-all"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_FCS, "rx-fcs"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_GRO_HW, "rx-gro-hw"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_GRO_LIST, "rx-gro-list"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_UDP_GRO_FORWARDING, "rx-udp-gro-forwarding"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD, "rx-udp_tunnel-port-offload"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_VLAN_FILTER, "rx-vlan-filter"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_FILTER, "rx-vlan-stag-filter"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_HW_PARSE, "rx-vlan-stag-hw-parse"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TLS_HW_RECORD, "tls-hw-record"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TLS_HW_RX_OFFLOAD, "tls-hw-rx-offload"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TLS_HW_TX_OFFLOAD, "tls-hw-tx-offload"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_CHECKSUM_FCOE_CRC, "tx-checksum-fcoe-crc"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_CHECKSUM_IPV4, "tx-checksum-ipv4"),
@@ -486,10 +491,12 @@ static const NMEthtoolFeatureInfo _ethtool_feature_infos[_NM_ETHTOOL_ID_FEATURE_
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_FCOE_SEGMENTATION, "tx-fcoe-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_GRE_CSUM_SEGMENTATION, "tx-gre-csum-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_GRE_SEGMENTATION, "tx-gre-segmentation"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_GSO_LIST, "tx-gso-list"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_GSO_PARTIAL, "tx-gso-partial"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_GSO_ROBUST, "tx-gso-robust"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_IPXIP4_SEGMENTATION, "tx-ipxip4-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_IPXIP6_SEGMENTATION, "tx-ipxip6-segmentation"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_LOCKLESS, "tx-lockless"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_NOCACHE_COPY, "tx-nocache-copy"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER, "tx-scatter-gather"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER_FRAGLIST, "tx-scatter-gather-fraglist"),
@@ -498,10 +505,13 @@ static const NMEthtoolFeatureInfo _ethtool_feature_infos[_NM_ETHTOOL_ID_FEATURE_
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_TCP_ECN_SEGMENTATION, "tx-tcp-ecn-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_TCP_MANGLEID_SEGMENTATION, "tx-tcp-mangleid-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_TCP_SEGMENTATION, "tx-tcp-segmentation"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION,
+ "tx-tunnel-remcsum-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_UDP_SEGMENTATION, "tx-udp-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION, "tx-udp_tnl-csum-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_SEGMENTATION, "tx-udp_tnl-segmentation"),
ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT, "tx-vlan-stag-hw-insert"),
+ ETHT_FEAT(NM_ETHTOOL_ID_FEATURE_VLAN_CHALLENGED, "vlan-challenged"),
};
/* the number of kernel features that we handle. It essentially is the sum of all
diff --git a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
index 58d3e698ae..bb0a93d1ba 100644
--- a/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
+++ b/src/settings/plugins/ifcfg-rh/nms-ifcfg-rh-utils.c
@@ -544,6 +544,8 @@ const char *const _nm_ethtool_ifcfg_names[] = {
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_L2_FWD_OFFLOAD, "l2-fwd-offload"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_LOOPBACK, "loopback"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_LRO, "lro"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_MACSEC_HW_OFFLOAD, "macsec-hw-offload"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_NETNS_LOCAL, "netns-local"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_NTUPLE, "ntuple"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX, "rx"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RXHASH, "rxhash"),
@@ -551,12 +553,15 @@ const char *const _nm_ethtool_ifcfg_names[] = {
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_ALL, "rx-all"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_FCS, "rx-fcs"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_GRO_HW, "rx-gro-hw"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_GRO_LIST, "rx-gro-list"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_UDP_GRO_FORWARDING, "rx-udp-gro-forwarding"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD, "rx-udp_tunnel-port-offload"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_VLAN_FILTER, "rx-vlan-filter"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_FILTER, "rx-vlan-stag-filter"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_RX_VLAN_STAG_HW_PARSE, "rx-vlan-stag-hw-parse"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_SG, "sg"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TLS_HW_RECORD, "tls-hw-record"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TLS_HW_RX_OFFLOAD, "tls-hw-rx-offload"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TLS_HW_TX_OFFLOAD, "tls-hw-tx-offload"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TSO, "tso"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX, "tx"),
@@ -570,10 +575,12 @@ const char *const _nm_ethtool_ifcfg_names[] = {
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_FCOE_SEGMENTATION, "tx-fcoe-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_GRE_CSUM_SEGMENTATION, "tx-gre-csum-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_GRE_SEGMENTATION, "tx-gre-segmentation"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_GSO_LIST, "tx-gso-list"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_GSO_PARTIAL, "tx-gso-partial"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_GSO_ROBUST, "tx-gso-robust"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_IPXIP4_SEGMENTATION, "tx-ipxip4-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_IPXIP6_SEGMENTATION, "tx-ipxip6-segmentation"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_LOCKLESS, "tx-lockless"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_NOCACHE_COPY, "tx-nocache-copy"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER, "tx-scatter-gather"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER_FRAGLIST, "tx-scatter-gather-fraglist"),
@@ -582,10 +589,13 @@ const char *const _nm_ethtool_ifcfg_names[] = {
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_TCP_ECN_SEGMENTATION, "tx-tcp-ecn-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_TCP_MANGLEID_SEGMENTATION, "tx-tcp-mangleid-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_TCP_SEGMENTATION, "tx-tcp-segmentation"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION,
+ "tx-tunnel-remcsum-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_UDP_SEGMENTATION, "tx-udp-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION, "tx-udp_tnl-csum-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_SEGMENTATION, "tx-udp_tnl-segmentation"),
ETHT_NAME(NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT, "tx-vlan-stag-hw-insert"),
+ ETHT_NAME(NM_ETHTOOL_ID_FEATURE_VLAN_CHALLENGED, "vlan-challenged"),
ETHT_NAME(NM_ETHTOOL_ID_RING_RX, "rx"),
ETHT_NAME(NM_ETHTOOL_ID_RING_RX_JUMBO, "rx-jumbo"),
ETHT_NAME(NM_ETHTOOL_ID_RING_RX_MINI, "rx-mini"),
@@ -648,6 +658,8 @@ static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
{"l2-fwd-offload", NM_ETHTOOL_ID_FEATURE_L2_FWD_OFFLOAD},
{"loopback", NM_ETHTOOL_ID_FEATURE_LOOPBACK},
{"lro", NM_ETHTOOL_ID_FEATURE_LRO},
+ {"macsec-hw-offload", NM_ETHTOOL_ID_FEATURE_MACSEC_HW_OFFLOAD},
+ {"netns-local", NM_ETHTOOL_ID_FEATURE_NETNS_LOCAL},
{"ntuple", NM_ETHTOOL_ID_FEATURE_NTUPLE},
{"rx", NM_ETHTOOL_ID_FEATURE_RX},
{"rx-all", NM_ETHTOOL_ID_FEATURE_RX_ALL},
@@ -655,9 +667,11 @@ static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
{"rx-fcs", NM_ETHTOOL_ID_FEATURE_RX_FCS},
{"rx-gro", NM_ETHTOOL_ID_FEATURE_GRO}, // kernel-only name
{"rx-gro-hw", NM_ETHTOOL_ID_FEATURE_RX_GRO_HW},
+ {"rx-gro-list", NM_ETHTOOL_ID_FEATURE_RX_GRO_LIST},
{"rx-hashing", NM_ETHTOOL_ID_FEATURE_RXHASH}, // kernel-only name
{"rx-lro", NM_ETHTOOL_ID_FEATURE_LRO}, // kernel-only name
{"rx-ntuple-filter", NM_ETHTOOL_ID_FEATURE_NTUPLE}, // kernel-only name
+ {"rx-udp-gro-forwarding", NM_ETHTOOL_ID_FEATURE_RX_UDP_GRO_FORWARDING},
{"rx-udp_tunnel-port-offload", NM_ETHTOOL_ID_FEATURE_RX_UDP_TUNNEL_PORT_OFFLOAD},
{"rx-vlan-filter", NM_ETHTOOL_ID_FEATURE_RX_VLAN_FILTER},
{"rx-vlan-hw-parse", NM_ETHTOOL_ID_FEATURE_RXVLAN}, // kernel-only name
@@ -667,6 +681,7 @@ static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
{"rxvlan", NM_ETHTOOL_ID_FEATURE_RXVLAN},
{"sg", NM_ETHTOOL_ID_FEATURE_SG},
{"tls-hw-record", NM_ETHTOOL_ID_FEATURE_TLS_HW_RECORD},
+ {"tls-hw-rx-offload", NM_ETHTOOL_ID_FEATURE_TLS_HW_RX_OFFLOAD},
{"tls-hw-tx-offload", NM_ETHTOOL_ID_FEATURE_TLS_HW_TX_OFFLOAD},
{"tso", NM_ETHTOOL_ID_FEATURE_TSO},
{"tx", NM_ETHTOOL_ID_FEATURE_TX},
@@ -680,10 +695,12 @@ static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
{"tx-generic-segmentation", NM_ETHTOOL_ID_FEATURE_GSO}, // kernel-only name
{"tx-gre-csum-segmentation", NM_ETHTOOL_ID_FEATURE_TX_GRE_CSUM_SEGMENTATION},
{"tx-gre-segmentation", NM_ETHTOOL_ID_FEATURE_TX_GRE_SEGMENTATION},
+ {"tx-gso-list", NM_ETHTOOL_ID_FEATURE_TX_GSO_LIST},
{"tx-gso-partial", NM_ETHTOOL_ID_FEATURE_TX_GSO_PARTIAL},
{"tx-gso-robust", NM_ETHTOOL_ID_FEATURE_TX_GSO_ROBUST},
{"tx-ipxip4-segmentation", NM_ETHTOOL_ID_FEATURE_TX_IPXIP4_SEGMENTATION},
{"tx-ipxip6-segmentation", NM_ETHTOOL_ID_FEATURE_TX_IPXIP6_SEGMENTATION},
+ {"tx-lockless", NM_ETHTOOL_ID_FEATURE_TX_LOCKLESS},
{"tx-nocache-copy", NM_ETHTOOL_ID_FEATURE_TX_NOCACHE_COPY},
{"tx-scatter-gather", NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER},
{"tx-scatter-gather-fraglist", NM_ETHTOOL_ID_FEATURE_TX_SCATTER_GATHER_FRAGLIST},
@@ -692,12 +709,14 @@ static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
{"tx-tcp-mangleid-segmentation", NM_ETHTOOL_ID_FEATURE_TX_TCP_MANGLEID_SEGMENTATION},
{"tx-tcp-segmentation", NM_ETHTOOL_ID_FEATURE_TX_TCP_SEGMENTATION},
{"tx-tcp6-segmentation", NM_ETHTOOL_ID_FEATURE_TX_TCP6_SEGMENTATION},
+ {"tx-tunnel-remcsum-segmentation", NM_ETHTOOL_ID_FEATURE_TX_TUNNEL_REMCSUM_SEGMENTATION},
{"tx-udp-segmentation", NM_ETHTOOL_ID_FEATURE_TX_UDP_SEGMENTATION},
{"tx-udp_tnl-csum-segmentation", NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_CSUM_SEGMENTATION},
{"tx-udp_tnl-segmentation", NM_ETHTOOL_ID_FEATURE_TX_UDP_TNL_SEGMENTATION},
{"tx-vlan-hw-insert", NM_ETHTOOL_ID_FEATURE_TXVLAN}, // kernel-only name
{"tx-vlan-stag-hw-insert", NM_ETHTOOL_ID_FEATURE_TX_VLAN_STAG_HW_INSERT},
- {"txvlan", NM_ETHTOOL_ID_FEATURE_TXVLAN}, );
+ {"txvlan", NM_ETHTOOL_ID_FEATURE_TXVLAN},
+ {"vlan-challenged", NM_ETHTOOL_ID_FEATURE_VLAN_CHALLENGED}, );
static NM_UTILS_STRING_TABLE_LOOKUP_DEFINE(
_get_ethtoolid_ring_by_name,