NMSettingDcb: libnm Reference Manual

## NMSettingDcb NMSettingDcb — Connection properties for Data Center Bridging |

## Functions

NMSetting * | nm_setting_dcb_new ()
NMSettingDcbFlags | nm_setting_dcb_get_app_fcoe_flags ()
int | nm_setting_dcb_get_app_fcoe_priority ()
const char * | nm_setting_dcb_get_app_fcoe_mode ()
NMSettingDcbFlags | nm_setting_dcb_get_app_iscsi_flags ()
int | nm_setting_dcb_get_app_iscsi_priority ()
NMSettingDcbFlags | nm_setting_dcb_get_app_fip_flags ()
int | nm_setting_dcb_get_app_fip_priority ()
NMSettingDcbFlags | nm_setting_dcb_get_priority_flow_control_flags ()
gboolean | nm_setting_dcb_get_priority_flow_control ()
void | nm_setting_dcb_set_priority_flow_control ()
NMSettingDcbFlags | nm_setting_dcb_get_priority_group_flags ()
guint | nm_setting_dcb_get_priority_group_id ()
void | nm_setting_dcb_set_priority_group_id ()
guint | nm_setting_dcb_get_priority_group_bandwidth ()
void | nm_setting_dcb_set_priority_group_bandwidth ()
guint | nm_setting_dcb_get_priority_bandwidth ()
void | nm_setting_dcb_set_priority_bandwidth ()
gboolean | nm_setting_dcb_get_priority_strict_bandwidth ()
void | nm_setting_dcb_set_priority_strict_bandwidth ()
guint | nm_setting_dcb_get_priority_traffic_class ()
void | nm_setting_dcb_set_priority_traffic_class ()

## Types and Values

#define | NM_SETTING_DCB_SETTING_NAME
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

## Object Hierarchy

        GFlags
        ╰── NMSettingDcbFlags

## 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_new ()

    NMSetting *
    nm_setting_dcb_new (void);

Creates a new NMSettingDcb object with default values.

#### Returns

the new empty NMSettingDcb object.

[transfer full]

### 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

### 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

### 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

### 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

### 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

### 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

### 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

### 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

### 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

### 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 |

### 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

### 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.

### 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. |

### 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.

### 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 |

### 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.

### 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 |

### 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.

### 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 |

### 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.

### 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 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 |

### NM_SETTING_DCB_FCOE_MODE_FABRIC

    #define NM_SETTING_DCB_FCOE_MODE_FABRIC "fabric"

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

### NM_SETTING_DCB_FCOE_MODE_VN2VN

    #define NM_SETTING_DCB_FCOE_MODE_VN2VN "vn2vn"

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

### 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"