## NMSettingEthtool

NMSettingEthtool — Describes connection properties for ethtool related options

## Functions

gboolean | nm_ethtool_optname_is_feature ()
gboolean | nm_ethtool_optname_is_coalesce ()
gboolean | nm_ethtool_optname_is_ring ()
gboolean | nm_ethtool_optname_is_pause ()
gboolean | nm_ethtool_optname_is_channels ()
gboolean | nm_ethtool_optname_is_eee ()
gboolean | nm_ethtool_optname_is_fec ()
NMSetting * | nm_setting_ethtool_new ()
const char ** | nm_setting_ethtool_get_optnames ()
NMTernary | nm_setting_ethtool_get_feature ()
void | nm_setting_ethtool_set_feature ()
void | nm_setting_ethtool_clear_features ()

## Types and Values

#define | NM_SETTING_ETHTOOL_SETTING_NAME
enum | NMSettingEthtoolFecMode

## Object Hierarchy

        GFlags
        ╰── NMSettingEthtoolFecMode

## Description

The NMSettingEthtool object is a NMSetting subclass that describes properties to control network driver and hardware settings.

## Functions

### nm_ethtool_optname_is_feature ()

    gboolean
    nm_ethtool_optname_is_feature (const char *optname);

Checks whether `optname` is a valid option name for an offload feature.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Note that `nm_ethtool_optname_is_feature()` was first added to the libnm header files in 1.14.0 but forgot to actually add to the library. This happened belatedly in 1.20.0 and the stable versions 1.18.2, 1.16.4 and 1.14.8 (with linker version "libnm_1_14_8").

Since: 1.20

### nm_ethtool_optname_is_coalesce ()

    gboolean
    nm_ethtool_optname_is_coalesce (const char *optname);

Checks whether `optname` is a valid option name for a coalesce setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.26

### nm_ethtool_optname_is_ring ()

    gboolean
    nm_ethtool_optname_is_ring (const char *optname);

Checks whether `optname` is a valid option name for a ring setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.26

### nm_ethtool_optname_is_pause ()

    gboolean
    nm_ethtool_optname_is_pause (const char *optname);

Checks whether `optname` is a valid option name for a pause setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.32

### nm_ethtool_optname_is_channels ()

    gboolean
    nm_ethtool_optname_is_channels (const char *optname);

Checks whether `optname` is a valid option name for a channels setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.46

### nm_ethtool_optname_is_eee ()

    gboolean
    nm_ethtool_optname_is_eee (const char *optname);

Checks whether `optname` is a valid option name for an eee setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.46

### nm_ethtool_optname_is_fec ()

    gboolean
    nm_ethtool_optname_is_fec (const char *optname);

Checks whether `optname` is a valid option name for a fec setting.

#### Parameters

optname | the option name to check. | [nullable]

#### Returns

`TRUE`, if `optname` is valid

Since: 1.52

### nm_setting_ethtool_new ()

    NMSetting *
    nm_setting_ethtool_new (void);

Creates a new NMSettingEthtool object with default values.

#### Returns

the new empty NMSettingEthtool object.

[transfer full]

Since: 1.14

### nm_setting_ethtool_get_optnames ()

    const char **
    nm_setting_ethtool_get_optnames (NMSettingEthtool *setting,
                                     guint *out_length);

`nm_setting_ethtool_get_optnames` has been deprecated since version 1.26 and should not be used in newly-written code.

use `nm_setting_option_get_all_names()` instead.

This returns all options names that are set. This includes the feature names like `NM_ETHTOOL_OPTNAME_FEATURE_GRO`. See `nm_ethtool_optname_is_feature()` to check whether the option name is valid for offload features.

#### Parameters

setting | the NMSettingEthtool instance. |
out_length | return location for the number of keys returned, or `NULL`. | [out][optional]

#### Returns

list of set option names or `NULL` if no options are set. The option names are still owned by `setting` and may get invalidated when `setting` gets modified.

[array zero-terminated=1][transfer container]

Since: 1.20

### nm_setting_ethtool_get_feature ()

    NMTernary
    nm_setting_ethtool_get_feature (NMSettingEthtool *setting,
                                    const char *optname);

`nm_setting_ethtool_get_feature` has been deprecated since version 1.26 and should not be used in newly-written code.

use `nm_setting_option_get_boolean()` instead.

Gets and offload feature setting. Returns `NM_TERNARY_DEFAULT` if the feature is not set.

Note that `optname` must be a valid name for a feature, according to `nm_ethtool_optname_is_feature()`.

#### Parameters

setting | the NMSettingEthtool |
optname | option name of the offload feature to get |

#### Returns

a NMTernary value indicating whether the offload feature is enabled, disabled, or left untouched.

Since: 1.14

### nm_setting_ethtool_set_feature ()

    void
    nm_setting_ethtool_set_feature (NMSettingEthtool *setting,
                                    const char *optname,
                                    NMTernary value);

`nm_setting_ethtool_set_feature` has been deprecated since version 1.26 and should not be used in newly-written code.

use `nm_setting_option_set()` or `nm_setting_option_set_boolean()` instead.

Sets and offload feature setting.

Note that `optname` must be a valid name for a feature, according to `nm_ethtool_optname_is_feature()`.

#### Parameters

setting | the NMSettingEthtool |
optname | option name of the offload feature to get |
value | the new value to set. The special value `NM_TERNARY_DEFAULT` means to clear the offload feature setting. |

Since: 1.14

### nm_setting_ethtool_clear_features ()

    void
    nm_setting_ethtool_clear_features (NMSettingEthtool *setting);

`nm_setting_ethtool_clear_features` has been deprecated since version 1.26 and should not be used in newly-written code.

use `nm_setting_option_clear_by_name()` with `nm_ethtool_optname_is_feature()` predicate instead.

Clears all offload features settings

#### Parameters

setting | the NMSettingEthtool |

Since: 1.14

## Types and Values

### NM_SETTING_ETHTOOL_SETTING_NAME

    #define NM_SETTING_ETHTOOL_SETTING_NAME "ethtool"

### enum NMSettingEthtoolFecMode

These flags modify the ethtool FEC(Forward Error Correction) mode.

#### Members

NM_SETTING_ETHTOOL_FEC_MODE_NONE | FEC mode configuration is not supported. |
NM_SETTING_ETHTOOL_FEC_MODE_AUTO | Select default/best FEC mode automatically. |
NM_SETTING_ETHTOOL_FEC_MODE_OFF | No FEC mode. |
NM_SETTING_ETHTOOL_FEC_MODE_RS | Reed-Solomon FEC Mode. |
NM_SETTING_ETHTOOL_FEC_MODE_BASER | Base-R/Reed-Solomon FEC Mode. |
NM_SETTING_ETHTOOL_FEC_MODE_LLRS | Low Latency Reed Solomon FEC Mode. |
_NM_SETTING_ETHTOOL_FEC_MODE_LAST |  |

Since: 1.52