NMSettingBridge

NMSettingBridge — Describes connection properties for bridges

Properties

guint ageing-time Read / Write / Construct
guint forward-delay Read / Write / Construct
guint group-forward-mask Read / Write / Construct
guint hello-time Read / Write / Construct
gchar * mac-address Read / Write
guint max-age Read / Write / Construct
gboolean multicast-snooping Read / Write / Construct
guint priority Read / Write / Construct
gboolean stp Read / Write / Construct
guint vlan-default-pvid Read / Write / Construct
gboolean vlan-filtering Read / Write / Construct
GPtrArray * vlans Read / Write

Object Hierarchy

    GBoxed
    ╰── NMBridgeVlan
    GObject
    ╰── NMSetting
        ╰── NMSettingBridge

Description

The NMSettingBridge object is a NMSetting subclass that describes properties necessary for bridging connections.

Functions

nm_setting_bridge_new ()

NMSetting *
nm_setting_bridge_new (void);

Creates a new NMSettingBridge object with default values.

Returns

the new empty NMSettingBridge object.

[transfer full]


nm_setting_bridge_get_mac_address ()

const char *
nm_setting_bridge_get_mac_address (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “mac-address” property of the setting


nm_setting_bridge_get_stp ()

gboolean
nm_setting_bridge_get_stp (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “stp” property of the setting


nm_setting_bridge_get_priority ()

guint16
nm_setting_bridge_get_priority (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “priority” property of the setting


nm_setting_bridge_get_forward_delay ()

guint16
nm_setting_bridge_get_forward_delay (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “forward-delay” property of the setting


nm_setting_bridge_get_hello_time ()

guint16
nm_setting_bridge_get_hello_time (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “hello-time” property of the setting


nm_setting_bridge_get_max_age ()

guint16
nm_setting_bridge_get_max_age (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “max-age” property of the setting


nm_setting_bridge_get_ageing_time ()

guint32
nm_setting_bridge_get_ageing_time (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “ageing-time” property of the setting


nm_setting_bridge_get_group_forward_mask ()

guint16
nm_setting_bridge_get_group_forward_mask
                               (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “group-forward-mask” property of the setting

Since: 1.10


nm_setting_bridge_get_multicast_snooping ()

gboolean
nm_setting_bridge_get_multicast_snooping
                               (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “multicast-snooping” property of the setting

Since: 1.2


nm_setting_bridge_get_vlan_filtering ()

gboolean
nm_setting_bridge_get_vlan_filtering (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “vlan-filtering” property of the setting

Since: 1.18


nm_setting_bridge_get_vlan_default_pvid ()

guint16
nm_setting_bridge_get_vlan_default_pvid
                               (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the “vlan-default-pvid” property of the setting

Since: 1.18


nm_setting_bridge_add_vlan ()

void
nm_setting_bridge_add_vlan (NMSettingBridge *setting,
                            NMBridgeVlan *vlan);

Appends a new vlan and associated information to the setting. The given vlan gets sealed and a reference to it is added.

Parameters

setting

the NMSettingBridge

 

vlan

the vlan to add

 

Since: 1.18


nm_setting_bridge_get_num_vlans ()

guint
nm_setting_bridge_get_num_vlans (NMSettingBridge *setting);

Parameters

setting

the NMSettingBridge

 

Returns

the number of VLANs

Since: 1.18


nm_setting_bridge_get_vlan ()

NMBridgeVlan *
nm_setting_bridge_get_vlan (NMSettingBridge *setting,
                            guint idx);

Parameters

setting

the NMSettingBridge

 

idx

index number of the VLAN to return

 

Returns

the VLAN at index idx .

[transfer none]

Since: 1.18


nm_setting_bridge_remove_vlan ()

void
nm_setting_bridge_remove_vlan (NMSettingBridge *setting,
                               guint idx);

Removes the vlan at index idx .

Parameters

setting

the NMSettingBridge

 

idx

index number of the VLAN.

 

Since: 1.18


nm_setting_bridge_remove_vlan_by_vid ()

gboolean
nm_setting_bridge_remove_vlan_by_vid (NMSettingBridge *setting,
                                      guint16 vid_start,
                                      guint16 vid_end);

Remove the VLAN with range vid_start to vid_end . If vid_end is zero, it is assumed to be equal to vid_start and so the single-id VLAN with id vid_start is removed.

Parameters

setting

the NMSettingBridge

 

vid_start

the vlan start index

 

vid_end

the vlan end index

 

Returns

TRUE if the vlan was found and removed; FALSE otherwise

Since: 1.18


nm_setting_bridge_clear_vlans ()

void
nm_setting_bridge_clear_vlans (NMSettingBridge *setting);

Removes all configured VLANs.

Parameters

setting

the NMSettingBridge

 

Since: 1.18


nm_bridge_vlan_new ()

NMBridgeVlan *
nm_bridge_vlan_new (guint16 vid_start,
                    guint16 vid_end);

Creates a new NMBridgeVlan object for the given VLAN id range. Setting vid_end to 0 is equivalent to setting it to vid_start and creates a single-id VLAN.

Parameters

vid_start

the start VLAN id, must be between 1 and 4094.

 

vid_end

the end VLAN id, must be 0 or between vid_start and 4094.

 

Returns

the new NMBridgeVlan object.

[transfer full]

Since: 1.18


nm_bridge_vlan_ref ()

NMBridgeVlan *
nm_bridge_vlan_ref (NMBridgeVlan *vlan);

Increases the reference count of the object.

Parameters

vlan

the NMBridgeVlan

 

Returns

the input argument vlan object.

Since: 1.18


nm_bridge_vlan_unref ()

void
nm_bridge_vlan_unref (NMBridgeVlan *vlan);

Decreases the reference count of the object. If the reference count reaches zero the object will be destroyed.

Parameters

vlan

the NMBridgeVlan

 

Since: 1.18


nm_bridge_vlan_new_clone ()

NMBridgeVlan *
nm_bridge_vlan_new_clone (const NMBridgeVlan *vlan);

Parameters

vlan

the NMBridgeVlan instance to copy

 

Returns

a clone of vlan . This instance is always unsealed.

[transfer full]

Since: 1.18


nm_bridge_vlan_cmp ()

int
nm_bridge_vlan_cmp (const NMBridgeVlan *a,
                    const NMBridgeVlan *b);

Compare two bridge VLAN objects.

Parameters

a

a NMBridgeVlan

 

b

another NMBridgeVlan

 

Returns

zero of the two instances are equivalent or a non-zero integer otherwise. This defines a total ordering over the VLANs. Whether a VLAN is sealed or not does not affect the comparison.

Since: 1.18


nm_bridge_vlan_seal ()

void
nm_bridge_vlan_seal (NMBridgeVlan *vlan);

Seal the NMBridgeVlan instance. Afterwards, it is a bug to call all functions that modify the instance (except ref/unref). A sealed instance cannot be unsealed again, but you can create an unsealed copy with nm_bridge_vlan_new_clone().

Parameters

vlan

the NMBridgeVlan instance

 

Since: 1.18


nm_bridge_vlan_is_sealed ()

gboolean
nm_bridge_vlan_is_sealed (const NMBridgeVlan *vlan);

Parameters

vlan

the NMBridgeVlan instance

 

Returns

whether self is sealed or not.

Since: 1.18


nm_bridge_vlan_set_untagged ()

void
nm_bridge_vlan_set_untagged (NMBridgeVlan *vlan,
                             gboolean value);

Change the value of the untagged property of the VLAN.

Parameters

vlan

the NMBridgeVlan

 

value

the new value

 

Since: 1.18


nm_bridge_vlan_set_pvid ()

void
nm_bridge_vlan_set_pvid (NMBridgeVlan *vlan,
                         gboolean value);

Change the value of the PVID property of the VLAN. It is invalid to set the value to TRUE for non-single-id VLANs.

Parameters

vlan

the NMBridgeVlan

 

value

the new value

 

Since: 1.18


nm_bridge_vlan_get_vid_range ()

gboolean
nm_bridge_vlan_get_vid_range (const NMBridgeVlan *vlan,
                              guint16 *vid_start,
                              guint16 *vid_end);

Gets the VLAN id range.

Parameters

vlan

the NMBridgeVlan

 

vid_start

location to store the VLAN id range start.

 

vid_end

location to store the VLAN id range end

 

Returns

TRUE is the VLAN specifies a range, FALSE if it is a single-id VLAN.

Since: 1.18


nm_bridge_vlan_is_untagged ()

gboolean
nm_bridge_vlan_is_untagged (const NMBridgeVlan *vlan);

Returns whether the VLAN is untagged.

Parameters

vlan

the NMBridgeVlan

 

Returns

TRUE if the VLAN is untagged, FALSE otherwise

Since: 1.18


nm_bridge_vlan_is_pvid ()

gboolean
nm_bridge_vlan_is_pvid (const NMBridgeVlan *vlan);

Returns whether the VLAN is the PVID for the port.

Parameters

vlan

the NMBridgeVlan

 

Returns

TRUE if the VLAN is the PVID

Since: 1.18


nm_bridge_vlan_to_str ()

char *
nm_bridge_vlan_to_str (const NMBridgeVlan *vlan,
                       GError **error);

Convert a NMBridgeVlan to a string.

Parameters

vlan

the NMBridgeVlan

 

error

location of the error

 

Returns

formatted string or NULL

Since: 1.18


nm_bridge_vlan_from_str ()

NMBridgeVlan *
nm_bridge_vlan_from_str (const char *str,
                         GError **error);

Parses the string representation of the queueing discipline to a NMBridgeVlan instance.

Parameters

str

the string representation of a bridge VLAN

 

error

location of the error

 

Returns

the NMBridgeVlan or NULL

Since: 1.18

Types and Values

NM_SETTING_BRIDGE_SETTING_NAME

#define NM_SETTING_BRIDGE_SETTING_NAME "bridge"

NM_SETTING_BRIDGE_MAC_ADDRESS

#define NM_SETTING_BRIDGE_MAC_ADDRESS    "mac-address"

NM_SETTING_BRIDGE_STP

#define NM_SETTING_BRIDGE_STP            "stp"

NM_SETTING_BRIDGE_PRIORITY

#define NM_SETTING_BRIDGE_PRIORITY       "priority"

NM_SETTING_BRIDGE_FORWARD_DELAY

#define NM_SETTING_BRIDGE_FORWARD_DELAY  "forward-delay"

NM_SETTING_BRIDGE_HELLO_TIME

#define NM_SETTING_BRIDGE_HELLO_TIME     "hello-time"

NM_SETTING_BRIDGE_MAX_AGE

#define NM_SETTING_BRIDGE_MAX_AGE        "max-age"

NM_SETTING_BRIDGE_AGEING_TIME

#define NM_SETTING_BRIDGE_AGEING_TIME    "ageing-time"

NM_SETTING_BRIDGE_GROUP_FORWARD_MASK

#define NM_SETTING_BRIDGE_GROUP_FORWARD_MASK "group-forward-mask"

NM_SETTING_BRIDGE_MULTICAST_SNOOPING

#define NM_SETTING_BRIDGE_MULTICAST_SNOOPING "multicast-snooping"

NM_SETTING_BRIDGE_VLAN_FILTERING

#define NM_SETTING_BRIDGE_VLAN_FILTERING     "vlan-filtering"

NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID

#define NM_SETTING_BRIDGE_VLAN_DEFAULT_PVID  "vlan-default-pvid"

NM_SETTING_BRIDGE_VLANS

#define NM_SETTING_BRIDGE_VLANS              "vlans"

NM_BRIDGE_VLAN_VID_MIN

#define NM_BRIDGE_VLAN_VID_MIN            1

NM_BRIDGE_VLAN_VID_MAX

#define NM_BRIDGE_VLAN_VID_MAX            4094

NMSettingBridge

typedef struct _NMSettingBridge NMSettingBridge;

Bridging Settings

Property Details

The “ageing-time” property

  “ageing-time”              guint

The Ethernet MAC address aging time, in seconds.

Flags: Read / Write / Construct

Allowed values: <= 1000000

Default value: 300


The “forward-delay” property

  “forward-delay”            guint

The Spanning Tree Protocol (STP) forwarding delay, in seconds.

Flags: Read / Write / Construct

Allowed values: <= 30

Default value: 15


The “group-forward-mask” property

  “group-forward-mask”       guint

A mask of group addresses to forward. Usually, group addresses in the range from 01:80:C2:00:00:00 to 01:80:C2:00:00:0F are not forwarded according to standards. This property is a mask of 16 bits, each corresponding to a group address in that range that must be forwarded. The mask can't have bits 0, 1 or 2 set because they are used for STP, MAC pause frames and LACP.

Flags: Read / Write / Construct

Allowed values: <= 65535

Default value: 0

Since: 1.10


The “hello-time” property

  “hello-time”               guint

The Spanning Tree Protocol (STP) hello time, in seconds.

Flags: Read / Write / Construct

Allowed values: <= 10

Default value: 2


The “mac-address” property

  “mac-address”              gchar *

If specified, the MAC address of bridge. When creating a new bridge, this MAC address will be set.

If this field is left unspecified, the "ethernet.cloned-mac-address" is referred instead to generate the initial MAC address. Note that setting "ethernet.cloned-mac-address" anyway overwrites the MAC address of the bridge later while activating the bridge. Hence, this property is deprecated.

NMSettingBridge:mac-address has been deprecated since version 1.12 and should not be used in newly-written code.

Use the ethernet.cloned-mac-address property instead.

Flags: Read / Write

Default value: NULL


The “max-age” property

  “max-age”                  guint

The Spanning Tree Protocol (STP) maximum message age, in seconds.

Flags: Read / Write / Construct

Allowed values: <= 40

Default value: 20


The “multicast-snooping” property

  “multicast-snooping”       gboolean

Controls whether IGMP snooping is enabled for this bridge. Note that if snooping was automatically disabled due to hash collisions, the system may refuse to enable the feature until the collisions are resolved.

Flags: Read / Write / Construct

Default value: TRUE

Since: 1.2


The “priority” property

  “priority”                 guint

Sets the Spanning Tree Protocol (STP) priority for this bridge. Lower values are "better"; the lowest priority bridge will be elected the root bridge.

Flags: Read / Write / Construct

Allowed values: <= 65535

Default value: 32768


The “stp” property

  “stp”                      gboolean

Controls whether Spanning Tree Protocol (STP) is enabled for this bridge.

Flags: Read / Write / Construct

Default value: TRUE


The “vlan-default-pvid” property

  “vlan-default-pvid”        guint

The default PVID for the ports of the bridge, that is the VLAN id assigned to incoming untagged frames.

Flags: Read / Write / Construct

Allowed values: <= 4094

Default value: 1

Since: 1.18


The “vlan-filtering” property

  “vlan-filtering”           gboolean

Control whether VLAN filtering is enabled on the bridge.

Flags: Read / Write / Construct

Default value: FALSE

Since: 1.18


The “vlans” property

  “vlans”                    GPtrArray *

Array of bridge VLAN objects. In addition to the VLANs specified here, the bridge will also have the default-pvid VLAN configured by the bridge.vlan-default-pvid property.

In nmcli the VLAN list can be specified with the following syntax:

$vid pvid [, $vid pvid]...

where $vid is either a single id between 1 and 4094 or a range, represented as a couple of ids separated by a dash.

[type GPtrArray(NMBridgeVlan)]

Flags: Read / Write

Since: 1.18