![]() |
![]() |
![]() |
libnm-util Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
#include <nm-setting-dcb.h> #define NM_SETTING_DCB_SETTING_NAME enum NMSettingDcbError; #define NM_SETTING_DCB_ERROR GQuark nm_setting_dcb_error_quark (void
); enum NMSettingDcbFlags; #define NM_SETTING_DCB_FCOE_MODE_FABRIC #define NM_SETTING_DCB_FCOE_MODE_VN2VN #define NM_SETTING_DCB_APP_FCOE_FLAGS #define NM_SETTING_DCB_APP_FCOE_PRIORITY #define NM_SETTING_DCB_APP_FCOE_MODE #define NM_SETTING_DCB_APP_ISCSI_FLAGS #define NM_SETTING_DCB_APP_ISCSI_PRIORITY #define NM_SETTING_DCB_APP_FIP_FLAGS #define NM_SETTING_DCB_APP_FIP_PRIORITY #define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS #define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL #define NM_SETTING_DCB_PRIORITY_GROUP_FLAGS #define NM_SETTING_DCB_PRIORITY_GROUP_ID #define NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH #define NM_SETTING_DCB_PRIORITY_BANDWIDTH #define NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH #define NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS NMSettingDcb; NMSettingDcbClass; NMSetting * nm_setting_dcb_new (void
); NMSettingDcbFlags nm_setting_dcb_get_app_fcoe_flags (NMSettingDcb *setting
); gint nm_setting_dcb_get_app_fcoe_priority (NMSettingDcb *setting
); const char * nm_setting_dcb_get_app_fcoe_mode (NMSettingDcb *setting
); NMSettingDcbFlags nm_setting_dcb_get_app_iscsi_flags (NMSettingDcb *setting
); gint nm_setting_dcb_get_app_iscsi_priority (NMSettingDcb *setting
); NMSettingDcbFlags nm_setting_dcb_get_app_fip_flags (NMSettingDcb *setting
); gint nm_setting_dcb_get_app_fip_priority (NMSettingDcb *setting
); NMSettingDcbFlags nm_setting_dcb_get_priority_flow_control_flags (NMSettingDcb *setting
); gboolean nm_setting_dcb_get_priority_flow_control (NMSettingDcb *setting
,guint user_priority
); void nm_setting_dcb_set_priority_flow_control (NMSettingDcb *setting
,guint user_priority
,gboolean enabled
); NMSettingDcbFlags nm_setting_dcb_get_priority_group_flags (NMSettingDcb *setting
); guint nm_setting_dcb_get_priority_group_id (NMSettingDcb *setting
,guint user_priority
); void nm_setting_dcb_set_priority_group_id (NMSettingDcb *setting
,guint user_priority
,guint group_id
); guint nm_setting_dcb_get_priority_group_bandwidth (NMSettingDcb *setting
,guint group_id
); void nm_setting_dcb_set_priority_group_bandwidth (NMSettingDcb *setting
,guint group_id
,guint bandwidth_percent
); guint nm_setting_dcb_get_priority_bandwidth (NMSettingDcb *setting
,guint user_priority
); void nm_setting_dcb_set_priority_bandwidth (NMSettingDcb *setting
,guint user_priority
,guint bandwidth_percent
); gboolean nm_setting_dcb_get_priority_strict_bandwidth (NMSettingDcb *setting
,guint user_priority
); void nm_setting_dcb_set_priority_strict_bandwidth (NMSettingDcb *setting
,guint user_priority
,gboolean strict
); guint nm_setting_dcb_get_priority_traffic_class (NMSettingDcb *setting
,guint user_priority
); void nm_setting_dcb_set_priority_traffic_class (NMSettingDcb *setting
,guint user_priority
,guint traffic_class
);
GEnum +----NMSettingDcbError
GEnum +----NMSettingDcbFlags
GObject +----NMSetting +----NMSettingDcb
"app-fcoe-flags" guint : Read / Write "app-fcoe-mode" gchar* : Read / Write / Construct "app-fcoe-priority" gint : Read / Write / Construct "app-fip-flags" guint : Read / Write "app-fip-priority" gint : Read / Write / Construct "app-iscsi-flags" guint : Read / Write "app-iscsi-priority" gint : Read / Write / Construct "priority-bandwidth" GArray_guint_* : Read / Write "priority-flow-control" GArray_guint_* : Read / Write "priority-flow-control-flags" guint : Read / Write "priority-group-bandwidth" GArray_guint_* : Read / Write "priority-group-flags" guint : Read / Write "priority-group-id" GArray_guint_* : Read / Write "priority-strict-bandwidth" GArray_guint_* : Read / Write "priority-traffic-class" GArray_guint_* : Read / Write
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.
typedef enum { NM_SETTING_DCB_ERROR_UNKNOWN = 0, /*< nick=UnknownError >*/ NM_SETTING_DCB_ERROR_INVALID_PROPERTY, /*< nick=InvalidProperty >*/ NM_SETTING_DCB_ERROR_MISSING_PROPERTY /*< nick=MissingProperty >*/ } NMSettingDcbError;
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
typedef enum { NM_SETTING_DCB_FLAG_NONE = 0x00000000, NM_SETTING_DCB_FLAG_ENABLE = 0x00000001, NM_SETTING_DCB_FLAG_ADVERTISE = 0x00000002, NM_SETTING_DCB_FLAG_WILLING = 0x00000004 } NMSettingDcbFlags;
DCB feature flags.
no flag | |
the feature is enabled | |
the feature is advertised | |
the feature is willing to change based on peer configuration advertisements |
Since 0.9.10
#define NM_SETTING_DCB_FCOE_MODE_FABRIC "fabric"
Indicates that the FCoE controller should use "fabric" mode (default)
Since 0.9.10
#define NM_SETTING_DCB_FCOE_MODE_VN2VN "vn2vn"
Indicates that the FCoE controller should use "VN2VN" mode.
Since 0.9.10
#define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL_FLAGS "priority-flow-control-flags"
#define NM_SETTING_DCB_PRIORITY_FLOW_CONTROL "priority-flow-control"
#define NM_SETTING_DCB_PRIORITY_GROUP_FLAGS "priority-group-flags"
#define NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH "priority-group-bandwidth"
#define NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH "priority-strict-bandwidth"
#define NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS "priority-traffic-class"
typedef struct { NMSettingClass parent; /* Padding for future expansion */ void (*_reserved1) (void); void (*_reserved2) (void); void (*_reserved3) (void); void (*_reserved4) (void); } NMSettingDcbClass;
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
NMSettingDcbFlags nm_setting_dcb_get_app_fcoe_flags (NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-fcoe-flags" property of the setting |
Since 0.9.10
gint nm_setting_dcb_get_app_fcoe_priority
(NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-fcoe-priority" property of the setting |
Since 0.9.10
const char * nm_setting_dcb_get_app_fcoe_mode (NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-fcoe-mode" property of the setting |
Since 0.9.10
NMSettingDcbFlags nm_setting_dcb_get_app_iscsi_flags (NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-iscsi-flags" property of the setting |
Since 0.9.10
gint nm_setting_dcb_get_app_iscsi_priority
(NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-iscsi-priority" property of the setting |
Since 0.9.10
NMSettingDcbFlags nm_setting_dcb_get_app_fip_flags (NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-fip-flags" property of the setting |
Since 0.9.10
gint nm_setting_dcb_get_app_fip_priority (NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "app-fip-priority" property of the setting |
Since 0.9.10
NMSettingDcbFlags nm_setting_dcb_get_priority_flow_control_flags
(NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "priority-flow-control-flags" property of the setting |
Since 0.9.10
gboolean nm_setting_dcb_get_priority_flow_control (NMSettingDcb *setting
,guint user_priority
);
|
the NMSettingDcb |
|
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
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.
|
the NMSettingDcb |
|
the User Priority (0 - 7) to set flow control for |
|
TRUE to enable flow control for this priority, FALSE to disable it |
Since 0.9.10
NMSettingDcbFlags nm_setting_dcb_get_priority_group_flags
(NMSettingDcb *setting
);
|
the NMSettingDcb |
Returns : |
the "priority-group-flags" property of the setting |
Since 0.9.10
guint nm_setting_dcb_get_priority_group_id (NMSettingDcb *setting
,guint user_priority
);
|
the NMSettingDcb |
|
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
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.
|
the NMSettingDcb |
|
the User Priority (0 - 7) to set flow control for |
|
the group (0 - 7) to assign user_priority to, or 15 for the
unrestricted group. |
Since 0.9.10
guint nm_setting_dcb_get_priority_group_bandwidth (NMSettingDcb *setting
,guint group_id
);
|
the NMSettingDcb |
|
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
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.
|
the NMSettingDcb |
|
the priority group (0 - 7) to set the bandwidth percentage for |
|
the bandwidth percentage (0 - 100) to assign to group_id to |
Since 0.9.10
guint nm_setting_dcb_get_priority_bandwidth (NMSettingDcb *setting
,guint user_priority
);
|
the NMSettingDcb |
|
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
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.
|
the NMSettingDcb |
|
the User Priority (0 - 7) to set the bandwidth percentage for |
|
the bandwidth percentage (0 - 100) that user_priority is
allowed to use within its priority group |
Since 0.9.10
gboolean nm_setting_dcb_get_priority_strict_bandwidth (NMSettingDcb *setting
,guint user_priority
);
|
the NMSettingDcb |
|
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
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.
|
the NMSettingDcb |
|
the User Priority (0 - 7) to set strict bandwidth for |
|
TRUE to allow user_priority to use all the bandwidth allocated to
its priority group, or FALSE if not |
Since 0.9.10
guint nm_setting_dcb_get_priority_traffic_class (NMSettingDcb *setting
,guint user_priority
);
|
the NMSettingDcb |
|
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
void nm_setting_dcb_set_priority_traffic_class (NMSettingDcb *setting
,guint user_priority
,guint traffic_class
);
"app-fcoe-flags"
property"app-fcoe-flags" guint : Read / Write
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
.
Allowed values: <= 7
Default value: 0
Since 0.9.10
"app-fcoe-mode"
property"app-fcoe-mode" gchar* : Read / Write / Construct
The FCoE controller mode; either NM_SETTING_DCB_FCOE_MODE_FABRIC
(default) or NM_SETTING_DCB_FCOE_MODE_VN2VN
.
Default value: "fabric"
Since 0.9.10
"app-fcoe-priority"
property"app-fcoe-priority" gint : Read / Write / Construct
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.
Allowed values: [-1,7]
Default value: -1
Since 0.9.10
"app-fip-flags"
property"app-fip-flags" guint : Read / Write
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
.
Allowed values: <= 7
Default value: 0
Since 0.9.10
"app-fip-priority"
property"app-fip-priority" gint : Read / Write / Construct
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.
Allowed values: [-1,7]
Default value: -1
Since 0.9.10
"app-iscsi-flags"
property"app-iscsi-flags" guint : Read / Write
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
.
Allowed values: <= 7
Default value: 0
Since 0.9.10
"app-iscsi-priority"
property"app-iscsi-priority" gint : Read / Write / Construct
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.
Allowed values: [-1,7]
Default value: -1
Since 0.9.10
"priority-bandwidth"
property "priority-bandwidth" GArray_guint_* : Read / Write
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 percent.
Since 0.9.10
"priority-flow-control"
property "priority-flow-control" GArray_guint_* : Read / Write
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).
Since 0.9.10
"priority-flow-control-flags"
property"priority-flow-control-flags" guint : Read / Write
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
.
Allowed values: <= 7
Default value: 0
Since 0.9.10
"priority-group-bandwidth"
property "priority-group-bandwidth" GArray_guint_* : Read / Write
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 percent.
Since 0.9.10
"priority-group-flags"
property"priority-group-flags" guint : Read / Write
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
.
Allowed values: <= 7
Default value: 0
Since 0.9.10
"priority-group-id"
property "priority-group-id" GArray_guint_* : Read / Write
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.
Since 0.9.10
"priority-strict-bandwidth"
property "priority-strict-bandwidth" GArray_guint_* : Read / Write
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).
Since 0.9.10