NMSettingDcb

NMSettingDcb — Connection properties for Data Center Bridging

Properties

guint app-fcoe-flags Read / Write
gchar * app-fcoe-mode Read / Write / Construct
gint app-fcoe-priority Read / Write / Construct
guint app-fip-flags Read / Write
gint app-fip-priority Read / Write / Construct
guint app-iscsi-flags Read / Write
gint app-iscsi-priority Read / Write / Construct
GArray_guint_ * priority-bandwidth Read / Write
GArray_guint_ * priority-flow-control Read / Write
guint priority-flow-control-flags Read / Write
GArray_guint_ * priority-group-bandwidth Read / Write
guint priority-group-flags Read / Write
GArray_guint_ * priority-group-id Read / Write
GArray_guint_ * priority-strict-bandwidth Read / Write
GArray_guint_ * priority-traffic-class Read / Write

Object Hierarchy

    GEnum
    ├── NMSettingDcbError
    ╰── NMSettingDcbFlags
    GObject
    ╰── NMSetting
        ╰── NMSettingDcb

Includes

#include <nm-setting-dcb.h>

Description

The NMSettingDcb object is a NMSetting subclass that describes properties for enabling and using Data Center Bridging (DCB) on Ethernet networks. DCB is a set of protocols (including 802.1Qbb, 802.1Qaz, 802.1Qau, and 802.1AB) to eliminate packet loss in Ethernet networks and support the use of storage technologies like Fibre Channel over Ethernet (FCoE) and iSCSI.

Functions

nm_setting_dcb_error_quark ()

GQuark
nm_setting_dcb_error_quark (void);

Registers an error quark for NMSettingDcb if necessary.

Returns

the error quark used for NMSettingDcb errors.

Since: 0.9.10


nm_setting_dcb_new ()

NMSetting *
nm_setting_dcb_new (void);

Creates a new NMSettingDcb object with default values.

Returns

the new empty NMSettingDcb object.

[transfer full]

Since: 0.9.10


nm_setting_dcb_get_app_fcoe_flags ()

NMSettingDcbFlags
nm_setting_dcb_get_app_fcoe_flags (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-fcoe-flags” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_fcoe_priority ()

int
nm_setting_dcb_get_app_fcoe_priority (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-fcoe-priority” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_fcoe_mode ()

const char *
nm_setting_dcb_get_app_fcoe_mode (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-fcoe-mode” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_iscsi_flags ()

NMSettingDcbFlags
nm_setting_dcb_get_app_iscsi_flags (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-iscsi-flags” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_iscsi_priority ()

int
nm_setting_dcb_get_app_iscsi_priority (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-iscsi-priority” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_fip_flags ()

NMSettingDcbFlags
nm_setting_dcb_get_app_fip_flags (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-fip-flags” property of the setting

Since: 0.9.10


nm_setting_dcb_get_app_fip_priority ()

int
nm_setting_dcb_get_app_fip_priority (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “app-fip-priority” property of the setting

Since: 0.9.10


nm_setting_dcb_get_priority_flow_control_flags ()

NMSettingDcbFlags
nm_setting_dcb_get_priority_flow_control_flags
                               (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “priority-flow-control-flags” property of the setting

Since: 0.9.10


nm_setting_dcb_get_priority_flow_control ()

gboolean
nm_setting_dcb_get_priority_flow_control
                               (NMSettingDcb *setting,
                                guint user_priority);

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to retrieve flow control for

 

Returns

TRUE if flow control is enabled for the given user_priority , FALSE if not enabled

Since: 0.9.10


nm_setting_dcb_set_priority_flow_control ()

void
nm_setting_dcb_set_priority_flow_control
                               (NMSettingDcb *setting,
                                guint user_priority,
                                gboolean enabled);

These values are only valid when “priority-flow-control” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to set flow control for

 

enabled

TRUE to enable flow control for this priority, FALSE to disable it

 

Since: 0.9.10


nm_setting_dcb_get_priority_group_flags ()

NMSettingDcbFlags
nm_setting_dcb_get_priority_group_flags
                               (NMSettingDcb *setting);

Parameters

setting

the NMSettingDcb

 

Returns

the “priority-group-flags” property of the setting

Since: 0.9.10


nm_setting_dcb_get_priority_group_id ()

guint
nm_setting_dcb_get_priority_group_id (NMSettingDcb *setting,
                                      guint user_priority);

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to retrieve the group ID for

 

Returns

the group number user_priority is assigned to. These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Since: 0.9.10


nm_setting_dcb_set_priority_group_id ()

void
nm_setting_dcb_set_priority_group_id (NMSettingDcb *setting,
                                      guint user_priority,
                                      guint group_id);

These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to set flow control for

 

group_id

the group (0 - 7) to assign user_priority to, or 15 for the unrestricted group.

 

Since: 0.9.10


nm_setting_dcb_get_priority_group_bandwidth ()

guint
nm_setting_dcb_get_priority_group_bandwidth
                               (NMSettingDcb *setting,
                                guint group_id);

Parameters

setting

the NMSettingDcb

 

group_id

the priority group (0 - 7) to retrieve the bandwidth percentage for

 

Returns

the bandwidth percentage assigned to group_id . These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Since: 0.9.10


nm_setting_dcb_set_priority_group_bandwidth ()

void
nm_setting_dcb_set_priority_group_bandwidth
                               (NMSettingDcb *setting,
                                guint group_id,
                                guint bandwidth_percent);

These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Parameters

setting

the NMSettingDcb

 

group_id

the priority group (0 - 7) to set the bandwidth percentage for

 

bandwidth_percent

the bandwidth percentage (0 - 100) to assign to group_id to

 

Since: 0.9.10


nm_setting_dcb_get_priority_bandwidth ()

guint
nm_setting_dcb_get_priority_bandwidth (NMSettingDcb *setting,
                                       guint user_priority);

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to retrieve the group bandwidth percentage for

 

Returns

the allowed bandwidth percentage of user_priority in its priority group. These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Since: 0.9.10


nm_setting_dcb_set_priority_bandwidth ()

void
nm_setting_dcb_set_priority_bandwidth (NMSettingDcb *setting,
                                       guint user_priority,
                                       guint bandwidth_percent);

These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to set the bandwidth percentage for

 

bandwidth_percent

the bandwidth percentage (0 - 100) that user_priority is allowed to use within its priority group

 

Since: 0.9.10


nm_setting_dcb_get_priority_strict_bandwidth ()

gboolean
nm_setting_dcb_get_priority_strict_bandwidth
                               (NMSettingDcb *setting,
                                guint user_priority);

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to retrieve strict bandwidth for

 

Returns

TRUE if user_priority may use all of the bandwidth allocated to its assigned group, or FALSE if not. These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Since: 0.9.10


nm_setting_dcb_set_priority_strict_bandwidth ()

void
nm_setting_dcb_set_priority_strict_bandwidth
                               (NMSettingDcb *setting,
                                guint user_priority,
                                gboolean strict);

These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to set strict bandwidth for

 

strict

TRUE to allow user_priority to use all the bandwidth allocated to its priority group, or FALSE if not

 

Since: 0.9.10


nm_setting_dcb_get_priority_traffic_class ()

guint
nm_setting_dcb_get_priority_traffic_class
                               (NMSettingDcb *setting,
                                guint user_priority);

Parameters

setting

the NMSettingDcb

 

user_priority

the User Priority (0 - 7) to retrieve the traffic class for

 

Returns

the traffic class assigned to user_priority . These values are only valid when “priority-group-flags” includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Since: 0.9.10


nm_setting_dcb_set_priority_traffic_class ()

void
nm_setting_dcb_set_priority_traffic_class
                               (NMSettingDcb *setting,
                                guint user_priority,
                                guint traffic_class);

Types and Values

NM_SETTING_DCB_SETTING_NAME

#define NM_SETTING_DCB_SETTING_NAME "dcb"

enum NMSettingDcbError

Members

NM_SETTING_DCB_ERROR_UNKNOWN

unknown or unclassified error

 

NM_SETTING_DCB_ERROR_INVALID_PROPERTY

the property was invalid

 

NM_SETTING_DCB_ERROR_MISSING_PROPERTY

the property was missing and is required

 

NM_SETTING_DCB_ERROR

#define NM_SETTING_DCB_ERROR nm_setting_dcb_error_quark ()

enum NMSettingDcbFlags

DCB feature flags.

Members

NM_SETTING_DCB_FLAG_NONE

no flag

 

NM_SETTING_DCB_FLAG_ENABLE

the feature is enabled

 

NM_SETTING_DCB_FLAG_ADVERTISE

the feature is advertised

 

NM_SETTING_DCB_FLAG_WILLING

the feature is willing to change based on peer configuration advertisements

 

Since: 0.9.10


NM_SETTING_DCB_FCOE_MODE_FABRIC

#define NM_SETTING_DCB_FCOE_MODE_FABRIC  "fabric"

Indicates that the FCoE controller should use "fabric" mode (default)

Since: 0.9.10


NM_SETTING_DCB_FCOE_MODE_VN2VN

#define NM_SETTING_DCB_FCOE_MODE_VN2VN   "vn2vn"

Indicates that the FCoE controller should use "VN2VN" mode.

Since: 0.9.10


NM_SETTING_DCB_APP_FCOE_FLAGS

#define NM_SETTING_DCB_APP_FCOE_FLAGS         "app-fcoe-flags"

NM_SETTING_DCB_APP_FCOE_PRIORITY

#define NM_SETTING_DCB_APP_FCOE_PRIORITY      "app-fcoe-priority"

NM_SETTING_DCB_APP_FCOE_MODE

#define NM_SETTING_DCB_APP_FCOE_MODE          "app-fcoe-mode"

NM_SETTING_DCB_APP_ISCSI_FLAGS

#define NM_SETTING_DCB_APP_ISCSI_FLAGS        "app-iscsi-flags"

NM_SETTING_DCB_APP_ISCSI_PRIORITY

#define NM_SETTING_DCB_APP_ISCSI_PRIORITY     "app-iscsi-priority"

NM_SETTING_DCB_APP_FIP_FLAGS

#define NM_SETTING_DCB_APP_FIP_FLAGS          "app-fip-flags"

NM_SETTING_DCB_APP_FIP_PRIORITY

#define NM_SETTING_DCB_APP_FIP_PRIORITY       "app-fip-priority"

NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS

#define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS  "priority-flow-control-flags"

NM_SETTING_DCB_PRIORITY_FLOW_CONTROL

#define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL        "priority-flow-control"

NM_SETTING_DCB_PRIORITY_GROUP_FLAGS

#define NM_SETTING_DCB_PRIORITY_GROUP_FLAGS      "priority-group-flags"

NM_SETTING_DCB_PRIORITY_GROUP_ID

#define NM_SETTING_DCB_PRIORITY_GROUP_ID         "priority-group-id"

NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH

#define NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH  "priority-group-bandwidth"

NM_SETTING_DCB_PRIORITY_BANDWIDTH

#define NM_SETTING_DCB_PRIORITY_BANDWIDTH        "priority-bandwidth"

NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH

#define NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH "priority-strict-bandwidth"

NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS

#define NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS    "priority-traffic-class"

Property Details

The “app-fcoe-flags” property

  “app-fcoe-flags”           guint

Specifies the NMSettingDcbFlags for the DCB FCoE application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE, NM_SETTING_DCB_FLAG_ADVERTISE, and NM_SETTING_DCB_FLAG_WILLING.

Owner: NMSettingDcb

Flags: Read / Write

Allowed values: <= 7

Default value: 0

Since: 0.9.10


The “app-fcoe-mode” property

  “app-fcoe-mode”            gchar *

The FCoE controller mode; either NM_SETTING_DCB_FCOE_MODE_FABRIC (default) or NM_SETTING_DCB_FCOE_MODE_VN2VN.

Owner: NMSettingDcb

Flags: Read / Write / Construct

Default value: "fabric"

Since: 0.9.10


The “app-fcoe-priority” property

  “app-fcoe-priority”        gint

The highest User Priority (0 - 7) which FCoE frames should use, or -1 for default priority. Only used when the “app-fcoe-flags” property includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Owner: NMSettingDcb

Flags: Read / Write / Construct

Allowed values: [-1,7]

Default value: -1

Since: 0.9.10


The “app-fip-flags” property

  “app-fip-flags”            guint

Specifies the NMSettingDcbFlags for the DCB FIP application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE, NM_SETTING_DCB_FLAG_ADVERTISE, and NM_SETTING_DCB_FLAG_WILLING.

Owner: NMSettingDcb

Flags: Read / Write

Allowed values: <= 7

Default value: 0

Since: 0.9.10


The “app-fip-priority” property

  “app-fip-priority”         gint

The highest User Priority (0 - 7) which FIP frames should use, or -1 for default priority. Only used when the “app-fip-flags” property includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Owner: NMSettingDcb

Flags: Read / Write / Construct

Allowed values: [-1,7]

Default value: -1

Since: 0.9.10


The “app-iscsi-flags” property

  “app-iscsi-flags”          guint

Specifies the NMSettingDcbFlags for the DCB iSCSI application. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE, NM_SETTING_DCB_FLAG_ADVERTISE, and NM_SETTING_DCB_FLAG_WILLING.

Owner: NMSettingDcb

Flags: Read / Write

Allowed values: <= 7

Default value: 0

Since: 0.9.10


The “app-iscsi-priority” property

  “app-iscsi-priority”       gint

The highest User Priority (0 - 7) which iSCSI frames should use, or -1 for default priority. Only used when the “app-iscsi-flags” property includes the NM_SETTING_DCB_FLAG_ENABLE flag.

Owner: NMSettingDcb

Flags: Read / Write / Construct

Allowed values: [-1,7]

Default value: -1

Since: 0.9.10


The “priority-bandwidth” property

  “priority-bandwidth”       GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the percentage of bandwidth of the priority's assigned group that the priority may use. The sum of all percentages for priorities which belong to the same group must total 100 percents.

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10


The “priority-flow-control” property

  “priority-flow-control”    GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the corresponding priority should transmit priority pause. Allowed values are 0 (do not transmit pause) and 1 (transmit pause).

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10


The “priority-flow-control-flags” property

  “priority-flow-control-flags” guint

Specifies the NMSettingDcbFlags for DCB Priority Flow Control (PFC). Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE, NM_SETTING_DCB_FLAG_ADVERTISE, and NM_SETTING_DCB_FLAG_WILLING.

Owner: NMSettingDcb

Flags: Read / Write

Allowed values: <= 7

Default value: 0

Since: 0.9.10


The “priority-group-bandwidth” property

  “priority-group-bandwidth” GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the Priority Group ID (0 - 7) and the value indicates the percentage of link bandwidth allocated to that group. Allowed values are 0 - 100, and the sum of all values must total 100 percents.

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10


The “priority-group-flags” property

  “priority-group-flags”     guint

Specifies the NMSettingDcbFlags for DCB Priority Groups. Flags may be any combination of NM_SETTING_DCB_FLAG_ENABLE, NM_SETTING_DCB_FLAG_ADVERTISE, and NM_SETTING_DCB_FLAG_WILLING.

Owner: NMSettingDcb

Flags: Read / Write

Allowed values: <= 7

Default value: 0

Since: 0.9.10


The “priority-group-id” property

  “priority-group-id”        GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the Priority Group ID. Allowed Priority Group ID values are 0 - 7 or 15 for the unrestricted group.

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10


The “priority-strict-bandwidth” property

  “priority-strict-bandwidth” GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates whether or not the priority may use all of the bandwidth allocated to its assigned group. Allowed values are 0 (the priority may not utilize all bandwidth) or 1 (the priority may utilize all bandwidth).

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10


The “priority-traffic-class” property

  “priority-traffic-class”   GArray_guint_ *

An array of 8 uint values, where the array index corresponds to the User Priority (0 - 7) and the value indicates the traffic class (0 - 7) to which the priority is mapped.

Owner: NMSettingDcb

Flags: Read / Write

Since: 0.9.10