NMSettingWired: libnm-util Reference Manual

## NMSettingWired NMSettingWired — Describes connection properties for Ethernet-based networks |

## Functions

GQuark | nm_setting_wired_error_quark ()
NMSetting * | nm_setting_wired_new ()
const char * | nm_setting_wired_get_port ()
guint32 | nm_setting_wired_get_speed ()
const char * | nm_setting_wired_get_duplex ()
gboolean | nm_setting_wired_get_auto_negotiate ()
const GByteArray * | nm_setting_wired_get_mac_address ()
const GByteArray * | nm_setting_wired_get_cloned_mac_address ()
const GSList * | nm_setting_wired_get_mac_address_blacklist ()
guint32 | nm_setting_wired_get_num_mac_blacklist_items ()
const char * | nm_setting_wired_get_mac_blacklist_item ()
gboolean | nm_setting_wired_add_mac_blacklist_item ()
void | nm_setting_wired_remove_mac_blacklist_item ()
gboolean | nm_setting_wired_remove_mac_blacklist_item_by_value ()
void | nm_setting_wired_clear_mac_blacklist_items ()
guint32 | nm_setting_wired_get_mtu ()
const GPtrArray * | nm_setting_wired_get_s390_subchannels ()
const char * | nm_setting_wired_get_s390_nettype ()
guint32 | nm_setting_wired_get_num_s390_options ()
gboolean | nm_setting_wired_get_s390_option ()
const char * | nm_setting_wired_get_s390_option_by_key ()
gboolean | nm_setting_wired_add_s390_option ()
gboolean | nm_setting_wired_remove_s390_option ()
const char ** | nm_setting_wired_get_valid_s390_options ()

## Properties

gboolean | auto-negotiate | Read / Write / Construct
GArray_guchar_ * | cloned-mac-address | Read / Write
gchar * | duplex | Read / Write
GArray_guchar_ * | mac-address | Read / Write
GSList_gchararray_ * | mac-address-blacklist | Read / Write
guint | mtu | Read / Write / Construct
gchar * | port | Read / Write
gchar * | s390-nettype | Read / Write
GHashTable_gchararray+gchararray_* | s390-options | Read / Write
GPtrArray_gchararray_ * | s390-subchannels | Read / Write
guint | speed | Read / Write / Construct

## Types and Values

#define | NM_SETTING_WIRED_SETTING_NAME
enum | NMSettingWiredError
#define | NM_SETTING_WIRED_ERROR
#define | NM_SETTING_WIRED_PORT
#define | NM_SETTING_WIRED_SPEED
#define | NM_SETTING_WIRED_DUPLEX
#define | NM_SETTING_WIRED_AUTO_NEGOTIATE
#define | NM_SETTING_WIRED_MAC_ADDRESS
#define | NM_SETTING_WIRED_CLONED_MAC_ADDRESS
#define | NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST
#define | NM_SETTING_WIRED_MTU
#define | NM_SETTING_WIRED_S390_SUBCHANNELS
#define | NM_SETTING_WIRED_S390_NETTYPE
#define | NM_SETTING_WIRED_S390_OPTIONS

## Object Hierarchy

        GEnum
        ╰── NMSettingWiredError
        GObject
        ╰── NMSetting
            ╰── NMSettingWired

## Includes

    #include <nm-setting-wired.h>

## Description

The NMSettingWired object is a NMSetting subclass that describes properties necessary for connection to Ethernet networks.

## Functions

### nm_setting_wired_error_quark ()

    GQuark
    nm_setting_wired_error_quark (void);

Registers an error quark for NMSettingWired if necessary.

#### Returns

the error quark used for NMSettingWired errors.

### nm_setting_wired_new ()

    NMSetting *
    nm_setting_wired_new (void);

Creates a new NMSettingWired object with default values.

#### Returns

the new empty NMSettingWired object.

[transfer full]

### nm_setting_wired_get_port ()

    const char *
    nm_setting_wired_get_port (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “port” property of the setting

### nm_setting_wired_get_speed ()

    guint32
    nm_setting_wired_get_speed (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “speed” property of the setting

### nm_setting_wired_get_duplex ()

    const char *
    nm_setting_wired_get_duplex (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “duplex” property of the setting

### nm_setting_wired_get_auto_negotiate ()

    gboolean
    nm_setting_wired_get_auto_negotiate (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “auto-negotiate” property of the setting

### nm_setting_wired_get_mac_address ()

    const GByteArray *
    nm_setting_wired_get_mac_address (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “mac-address” property of the setting

### nm_setting_wired_get_cloned_mac_address ()

    const GByteArray *
    nm_setting_wired_get_cloned_mac_address
                                   (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “cloned-mac-address” property of the setting

### nm_setting_wired_get_mac_address_blacklist ()

    const GSList *
    nm_setting_wired_get_mac_address_blacklist
                                   (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “mac-address-blacklist” property of the setting.

[element-type GLib.ByteArray]

### nm_setting_wired_get_num_mac_blacklist_items ()

    guint32
    nm_setting_wired_get_num_mac_blacklist_items
                                   (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the number of blacklisted MAC addresses

Since: 0.9.10

### nm_setting_wired_get_mac_blacklist_item ()

    const char *
    nm_setting_wired_get_mac_blacklist_item
                                   (NMSettingWired *setting,
                                    guint32 idx);

#### Parameters

setting | the NMSettingWired |
idx | the zero-based index of the MAC address entry |

#### Returns

the blacklisted MAC address string (hex-digits-and-colons notation) at index `idx`

Since: 0.9.10

### nm_setting_wired_add_mac_blacklist_item ()

    gboolean
    nm_setting_wired_add_mac_blacklist_item
                                   (NMSettingWired *setting,
                                    const char *mac);

Adds a new MAC address to the “mac-address-blacklist” property.

#### Parameters

setting | the NMSettingWired |
mac | the MAC address string (hex-digits-and-colons notation) to blacklist |

#### Returns

`TRUE` if the MAC address was added; `FALSE` if the MAC address is invalid or was already present

Since: 0.9.10

### nm_setting_wired_remove_mac_blacklist_item ()

    void
    nm_setting_wired_remove_mac_blacklist_item
                                   (NMSettingWired *setting,
                                    guint32 idx);

Removes the MAC address at index `idx` from the blacklist.

#### Parameters

setting | the NMSettingWired |
idx | index number of the MAC address |

Since: 0.9.10

### nm_setting_wired_remove_mac_blacklist_item_by_value ()

    gboolean
    nm_setting_wired_remove_mac_blacklist_item_by_value
                                   (NMSettingWired *setting,
                                    const char *mac);

Removes the MAC address `mac` from the blacklist.

#### Parameters

setting | the NMSettingWired |
mac | the MAC address string (hex-digits-and-colons notation) to remove from the blacklist |

#### Returns

`TRUE` if the MAC address was found and removed; `FALSE` if it was not.

Since: 0.9.10

### nm_setting_wired_clear_mac_blacklist_items ()

    void
    nm_setting_wired_clear_mac_blacklist_items
                                   (NMSettingWired *setting);

Removes all blacklisted MAC addresses.

#### Parameters

setting | the NMSettingWired |

Since: 0.9.10

### nm_setting_wired_get_mtu ()

    guint32
    nm_setting_wired_get_mtu (NMSettingWired *setting);

#### Parameters

setting | the NMSettingWired |

#### Returns

the “mtu” property of the setting

### nm_setting_wired_get_s390_subchannels ()

    const GPtrArray *
    nm_setting_wired_get_s390_subchannels (NMSettingWired *setting);

Return the list of s390 subchannels that identify the device that this connection is applicable to. The connection should only be used in conjunction with that device.

#### Parameters

setting | the NMSettingWired |

#### Returns

GPtrArray of strings, each specifying one subchannel the s390 device uses to communicate to the host.

[element-type utf8]

### nm_setting_wired_get_s390_nettype ()

    const char *
    nm_setting_wired_get_s390_nettype (NMSettingWired *setting);

Returns the s390 device type this connection should apply to. Will be one of 'qeth', 'lcs', or 'ctc'.

#### Parameters

setting | the NMSettingWired |

#### Returns

the s390 device type

### nm_setting_wired_get_num_s390_options ()

    guint32
    nm_setting_wired_get_num_s390_options (NMSettingWired *setting);

Returns the number of s390-specific options that should be set for this device when it is activated. This can be used to retrieve each s390 option individually using `nm_setting_wired_get_s390_option()`.

#### Parameters

setting | the NMSettingWired |

#### Returns

the number of s390-specific device options

### nm_setting_wired_get_s390_option ()

    gboolean
    nm_setting_wired_get_s390_option (NMSettingWired *setting,
                                      guint32 idx,
                                      const char **out_key,
                                      const char **out_value);

Given an index, return the value of the s390 option at that index. indexes are *not* guaranteed to be static across modifications to options done by `nm_setting_wired_add_s390_option()` and `nm_setting_wired_remove_s390_option()`, and should not be used to refer to options except for short periods of time such as during option iteration.

#### Parameters

setting | the NMSettingWired |
idx | index of the desired option, from 0 to `nm_setting_wired_get_num_s390_options()` - 1 |
out_key | on return, the key name of the s390 specific option; this value is owned by the setting and should not be modified. | [out]
out_value | on return, the value of the key of the s390 specific option; this value is owned by the setting and should not be modified. | [out]

#### Returns

`TRUE` on success if the index was valid and an option was found, `FALSE` if the index was invalid (ie, greater than the number of options currently held by the setting)

### nm_setting_wired_get_s390_option_by_key ()

    const char *
    nm_setting_wired_get_s390_option_by_key
                                   (NMSettingWired *setting,
                                    const char *key);

Returns the value associated with the s390-specific option specified by `key` , if it exists.

#### Parameters

setting | the NMSettingWired |
key | the key for which to retrieve the value |

#### Returns

the value, or `NULL` if the key/value pair was never added to the setting; the value is owned by the setting and must not be modified

### nm_setting_wired_add_s390_option ()

    gboolean
    nm_setting_wired_add_s390_option (NMSettingWired *setting,
                                      const char *key,
                                      const char *value);

Add an option to the table. The option is compared to an internal list of allowed options. Key names may contain only alphanumeric characters (ie [a-zA-Z0-9]). Adding a new key replaces any existing key/value pair that may already exist.

#### Parameters

setting | the NMSettingWired |
key | key name for the option |
value | value for the option |

#### Returns

`TRUE` if the option was valid and was added to the internal option list, `FALSE` if it was not.

### nm_setting_wired_remove_s390_option ()

    gboolean
    nm_setting_wired_remove_s390_option (NMSettingWired *setting,
                                         const char *key);

Remove the s390-specific option referenced by `key` from the internal option list.

#### Parameters

setting | the NMSettingWired |
key | key name for the option to remove |

#### Returns

`TRUE` if the option was found and removed from the internal option list, `FALSE` if it was not.

### nm_setting_wired_get_valid_s390_options ()

    const char **
    nm_setting_wired_get_valid_s390_options
                                   (NMSettingWired *setting);

Returns a list of valid s390 options.

#### Parameters

setting | the NMSettingWired |

#### Returns

a `NULL`-terminated array of strings of valid s390 options.

[transfer none]

Since: 0.9.10

## Types and Values

### NM_SETTING_WIRED_SETTING_NAME

    #define NM_SETTING_WIRED_SETTING_NAME "802-3-ethernet"

### enum NMSettingWiredError

#### Members

NM_SETTING_WIRED_ERROR_UNKNOWN | unknown or unclassified error |
NM_SETTING_WIRED_ERROR_INVALID_PROPERTY | the property was invalid |
NM_SETTING_WIRED_ERROR_MISSING_PROPERTY | the property was missing and is required |

### NM_SETTING_WIRED_ERROR

    #define NM_SETTING_WIRED_ERROR nm_setting_wired_error_quark ()

### NM_SETTING_WIRED_PORT

    #define NM_SETTING_WIRED_PORT "port"

### NM_SETTING_WIRED_SPEED

    #define NM_SETTING_WIRED_SPEED "speed"

### NM_SETTING_WIRED_DUPLEX

    #define NM_SETTING_WIRED_DUPLEX "duplex"

### NM_SETTING_WIRED_AUTO_NEGOTIATE

    #define NM_SETTING_WIRED_AUTO_NEGOTIATE "auto-negotiate"

### NM_SETTING_WIRED_MAC_ADDRESS

    #define NM_SETTING_WIRED_MAC_ADDRESS "mac-address"

### NM_SETTING_WIRED_CLONED_MAC_ADDRESS

    #define NM_SETTING_WIRED_CLONED_MAC_ADDRESS "cloned-mac-address"

### NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST

    #define NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST "mac-address-blacklist"

### NM_SETTING_WIRED_MTU

    #define NM_SETTING_WIRED_MTU "mtu"

### NM_SETTING_WIRED_S390_SUBCHANNELS

    #define NM_SETTING_WIRED_S390_SUBCHANNELS "s390-subchannels"

### NM_SETTING_WIRED_S390_NETTYPE

    #define NM_SETTING_WIRED_S390_NETTYPE "s390-nettype"

### NM_SETTING_WIRED_S390_OPTIONS

    #define NM_SETTING_WIRED_S390_OPTIONS "s390-options"

## Property Details

### The `“auto-negotiate”` property

      “auto-negotiate”           gboolean

If `TRUE`, allow auto-negotiation of port speed and duplex mode. If `FALSE`, do not allow auto-negotiation, in which case the "speed" and "duplex" properties should be set.

Flags: Read / Write / Construct

Default value: TRUE

### The `“cloned-mac-address”` property

      “cloned-mac-address”       GArray_guchar_ *

If specified, request that the device use this MAC address instead of its permanent MAC address. This is known as MAC cloning or spoofing.

Flags: Read / Write

### The `“duplex”` property

      “duplex”                   gchar *

If specified, request that the device only use the specified duplex mode. Either "half" or "full".

Flags: Read / Write

Default value: NULL

### The `“mac-address”` property

      “mac-address”              GArray_guchar_ *

If specified, this connection will only apply to the Ethernet device whose permanent MAC address matches. This property does not change the MAC address of the device (i.e. MAC spoofing).

Flags: Read / Write

### The `“mac-address-blacklist”` property

      “mac-address-blacklist”    GSList_gchararray_ *

If specified, this connection will never apply to the Ethernet device whose permanent MAC address matches an address in the list. Each MAC address is in the standard hex-digits-and-colons notation (00:11:22:33:44:55).

Flags: Read / Write

### The `“mtu”` property

      “mtu”                      guint

If non-zero, only transmit packets of the specified size or smaller, breaking larger packets up into multiple Ethernet frames.

Flags: Read / Write / Construct

Default value: 0

### The `“port”` property

      “port”                     gchar *

Specific port type to use if multiple the device supports multiple attachment methods. One of "tp" (Twisted Pair), "aui" (Attachment Unit Interface), "bnc" (Thin Ethernet) or "mii" (Media Independent Interface. If the device supports only one port type, this setting is ignored.

Flags: Read / Write

Default value: NULL

### The `“s390-nettype”` property

      “s390-nettype”             gchar *

s390 network device type; one of "qeth", "lcs", or "ctc", representing the different types of virtual network devices available on s390 systems.

Flags: Read / Write

Default value: NULL

### The `“s390-options”` property

      “s390-options”             GHashTable_gchararray+gchararray_*

Dictionary of key/value pairs of s390-specific device options. Both keys and values must be strings. Allowed keys include "portno", "layer2", "portname", "protocol", among others. Key names must contain only alphanumeric characters (ie, [a-zA-Z0-9]).

Flags: Read / Write

### The `“s390-subchannels”` property

      “s390-subchannels”         GPtrArray_gchararray_ *

Identifies specific subchannels that this network device uses for communication with z/VM or s390 host. Like the “mac-address” property for non-z/VM devices, this property can be used to ensure this connection only applies to the network device that uses these subchannels. The list should contain exactly 3 strings, and each string may only be composed of hexadecimal characters and the period (.) character.

Flags: Read / Write

### The `“speed”` property

      “speed”                    guint

If non-zero, request that the device use only the specified speed. In Mbit/s, ie 100 == 100Mbit/s.

Flags: Read / Write / Construct

Default value: 0