diff options
| author | Michael Biebl <biebl@debian.org> | 2024-01-25 09:46:18 +0100 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2024-01-25 09:46:18 +0100 |
| commit | 70e18d99b8e3e77bb37e218d7ac582130156f8ef (patch) | |
| tree | d40c587e6d3f0e094ff558e415f1bb9803643214 /src/libnm-base/nm-ethtool-base.c | |
| parent | d4d8b2b91f7ba000d97a8b2aab48c85000c11314 (diff) | |
New upstream version 1.45.90 upstream/1.45.90
Diffstat (limited to 'src/libnm-base/nm-ethtool-base.c')
| -rw-r--r-- | src/libnm-base/nm-ethtool-base.c | 31 |
1 files changed, 26 insertions, 5 deletions
diff --git a/src/libnm-base/nm-ethtool-base.c b/src/libnm-base/nm-ethtool-base.c index c31cff6f..a02b9018 100644 --- a/src/libnm-base/nm-ethtool-base.c +++ b/src/libnm-base/nm-ethtool-base.c @@ -41,6 +41,7 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = { ETHT_DATA(COALESCE_TX_USECS_HIGH), ETHT_DATA(COALESCE_TX_USECS_IRQ), ETHT_DATA(COALESCE_TX_USECS_LOW), + ETHT_DATA(EEE_ENABLED), ETHT_DATA(FEATURE_ESP_HW_OFFLOAD), ETHT_DATA(FEATURE_ESP_TX_CSUM_HW_OFFLOAD), ETHT_DATA(FEATURE_FCOE_MTU), @@ -106,11 +107,19 @@ const NMEthtoolData *const nm_ethtool_data[_NM_ETHTOOL_ID_NUM + 1] = { ETHT_DATA(RING_RX_JUMBO), ETHT_DATA(RING_RX_MINI), ETHT_DATA(RING_TX), + ETHT_DATA(CHANNELS_RX), + ETHT_DATA(CHANNELS_TX), + ETHT_DATA(CHANNELS_OTHER), + ETHT_DATA(CHANNELS_COMBINED), [_NM_ETHTOOL_ID_NUM] = NULL, }; static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = { /* sorted by optname. */ + NM_ETHTOOL_ID_CHANNELS_COMBINED, + NM_ETHTOOL_ID_CHANNELS_OTHER, + NM_ETHTOOL_ID_CHANNELS_RX, + NM_ETHTOOL_ID_CHANNELS_TX, NM_ETHTOOL_ID_COALESCE_ADAPTIVE_RX, NM_ETHTOOL_ID_COALESCE_ADAPTIVE_TX, NM_ETHTOOL_ID_COALESCE_PKT_RATE_HIGH, @@ -133,6 +142,7 @@ static const guint8 _by_name[_NM_ETHTOOL_ID_NUM] = { NM_ETHTOOL_ID_COALESCE_TX_USECS_HIGH, NM_ETHTOOL_ID_COALESCE_TX_USECS_IRQ, NM_ETHTOOL_ID_COALESCE_TX_USECS_LOW, + NM_ETHTOOL_ID_EEE_ENABLED, NM_ETHTOOL_ID_FEATURE_ESP_HW_OFFLOAD, NM_ETHTOOL_ID_FEATURE_ESP_TX_CSUM_HW_OFFLOAD, NM_ETHTOOL_ID_FEATURE_FCOE_MTU, @@ -291,6 +301,10 @@ nm_ethtool_id_to_type(NMEthtoolID id) return NM_ETHTOOL_TYPE_RING; if (nm_ethtool_id_is_pause(id)) return NM_ETHTOOL_TYPE_PAUSE; + if (nm_ethtool_id_is_channels(id)) + return NM_ETHTOOL_TYPE_CHANNELS; + if (nm_ethtool_id_is_eee(id)) + return NM_ETHTOOL_TYPE_EEE; return NM_ETHTOOL_TYPE_UNKNOWN; } @@ -298,11 +312,18 @@ nm_ethtool_id_to_type(NMEthtoolID id) const GVariantType * nm_ethtool_id_get_variant_type(NMEthtoolID ethtool_id) { - if (nm_ethtool_id_is_feature(ethtool_id) || nm_ethtool_id_is_pause(ethtool_id)) + switch (nm_ethtool_id_to_type(ethtool_id)) { + case NM_ETHTOOL_TYPE_FEATURE: + case NM_ETHTOOL_TYPE_PAUSE: + case NM_ETHTOOL_TYPE_EEE: return G_VARIANT_TYPE_BOOLEAN; - - if (nm_ethtool_id_is_coalesce(ethtool_id) || nm_ethtool_id_is_ring(ethtool_id)) + case NM_ETHTOOL_TYPE_CHANNELS: + case NM_ETHTOOL_TYPE_COALESCE: + case NM_ETHTOOL_TYPE_RING: return G_VARIANT_TYPE_UINT32; - - return NULL; + case NM_ETHTOOL_TYPE_UNKNOWN: + nm_assert(ethtool_id == NM_ETHTOOL_ID_UNKNOWN); + return NULL; + } + return nm_assert_unreachable_val(NULL); } |