![]() |
![]() |
![]() |
libnm Reference Manual | ![]() |
---|---|---|---|---|
Top | Description | Object Hierarchy | Properties |
#define NM_SETTING_VLAN_SETTING_NAME #define NM_SETTING_VLAN_PARENT #define NM_SETTING_VLAN_ID #define NM_SETTING_VLAN_FLAGS #define NM_SETTING_VLAN_INGRESS_PRIORITY_MAP #define NM_SETTING_VLAN_EGRESS_PRIORITY_MAP NMSettingVlan; NMSettingVlanClass; enum NMVlanPriorityMap; enum NMVlanFlags; #define NM_VLAN_FLAGS_ALL NMSetting * nm_setting_vlan_new (void
); const char * nm_setting_vlan_get_parent (NMSettingVlan *setting
); guint32 nm_setting_vlan_get_id (NMSettingVlan *setting
); guint32 nm_setting_vlan_get_flags (NMSettingVlan *setting
); gint32 nm_setting_vlan_get_num_priorities (NMSettingVlan *setting
,NMVlanPriorityMap map
); gboolean nm_setting_vlan_get_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 idx
,guint32 *out_from
,guint32 *out_to
); gboolean nm_setting_vlan_add_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 from
,guint32 to
); void nm_setting_vlan_remove_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 idx
); gboolean nm_setting_vlan_remove_priority_by_value (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 from
,guint32 to
); gboolean nm_setting_vlan_remove_priority_str_by_value (NMSettingVlan *setting
,NMVlanPriorityMap map
,const char *str
); void nm_setting_vlan_clear_priorities (NMSettingVlan *setting
,NMVlanPriorityMap map
); gboolean nm_setting_vlan_add_priority_str (NMSettingVlan *setting
,NMVlanPriorityMap map
,const char *str
);
GObject +----NMSetting +----NMSettingVlan
GEnum +----NMVlanPriorityMap
GFlags +----NMVlanFlags
"egress-priority-map" GStrv : Read / Write "flags" NMVlanFlags : Read / Write / Construct "id" guint : Read / Write / Construct "ingress-priority-map" GStrv : Read / Write "parent" gchar* : Read / Write / Construct
The NMSettingVlan object is a NMSetting subclass that describes properties necessary for connection to VLAN interfaces.
#define NM_SETTING_VLAN_INGRESS_PRIORITY_MAP "ingress-priority-map"
#define NM_SETTING_VLAN_EGRESS_PRIORITY_MAP "egress-priority-map"
typedef enum { NM_VLAN_INGRESS_MAP, NM_VLAN_EGRESS_MAP } NMVlanPriorityMap;
A selector for traffic priority maps; these map Linux SKB priorities to 802.1p priorities used in VLANs.
typedef enum { /*< flags >*/ NM_VLAN_FLAG_REORDER_HEADERS = 0x1, NM_VLAN_FLAG_GVRP = 0x2, NM_VLAN_FLAG_LOOSE_BINDING = 0x4, NM_VLAN_FLAG_MVRP = 0x8, /* NOTE: if adding flags update nm-setting-vlan.c::verify() */ /* NOTE: these flags must correspond to the value from the kernel * header files. */ } NMVlanFlags;
NMVlanFlags values control the behavior of the VLAN interface.
indicates that this interface should reorder outgoing packet headers to look more like a non-VLAN Ethernet interface | |
indicates that this interface should use GVRP to register itself with it's switch | |
indicates that this interface's operating state is tied to the underlying network interface but other details (like routing) are not. | |
indicates that this interface should use MVRP to register itself with it's switch |
NMSetting * nm_setting_vlan_new (void
);
Creates a new NMSettingVlan object with default values.
Returns : |
the new empty NMSettingVlan object. [transfer full] |
const char * nm_setting_vlan_get_parent (NMSettingVlan *setting
);
|
the NMSettingVlan |
Returns : |
the "parent" property of the setting |
guint32 nm_setting_vlan_get_id (NMSettingVlan *setting
);
|
the NMSettingVlan |
Returns : |
the "id" property of the setting |
guint32 nm_setting_vlan_get_flags (NMSettingVlan *setting
);
|
the NMSettingVlan |
Returns : |
the "flags" property of the setting |
gint32 nm_setting_vlan_get_num_priorities (NMSettingVlan *setting
,NMVlanPriorityMap map
);
Returns the number of entires in the "ingress_priority_map" or "egress_priority_map" properties of this setting.
|
the NMSettingVlan |
|
the type of priority map |
Returns : |
return the number of ingress/egress priority entries, -1 if error |
gboolean nm_setting_vlan_get_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 idx
,guint32 *out_from
,guint32 *out_to
);
Retrieve one of the entries of the "ingress_priority_map" or "egress_priority_map" properties of this setting.
|
the NMSettingVlan |
|
the type of priority map |
|
the zero-based index of the ingress/egress priority map entry |
|
on return the value of the priority map's 'from' item. [out] |
|
on return the value of priority map's 'to' item. [out] |
Returns : |
TRUE if a priority map was returned, FALSE if error |
gboolean nm_setting_vlan_add_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 from
,guint32 to
);
Adds a priority mapping to the "ingress_priority_map" or
"egress_priority_map" properties of the setting. If from
is
already in the given priority map, this function will overwrite the
existing entry with the new to
.
If map
is NM_VLAN_INGRESS_MAP then from
is the incoming 802.1q VLAN
Priority Code Point (PCP) value, and to
is the Linux SKB priority value.
If map
is NM_VLAN_EGRESS_MAP then from
is the Linux SKB priority value and
to
is the outgoing 802.1q VLAN Priority Code Point (PCP) value.
|
the NMSettingVlan |
|
the type of priority map |
|
the priority to map to to
|
|
the priority to map from to |
Returns : |
TRUE if the new priority mapping was successfully added to the
list, FALSE if error |
void nm_setting_vlan_remove_priority (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 idx
);
Removes the priority map at index idx
from the
"ingress_priority_map" or "egress_priority_map"
properties.
|
the NMSettingVlan |
|
the type of priority map |
|
the zero-based index of the priority map to remove |
gboolean nm_setting_vlan_remove_priority_by_value (NMSettingVlan *setting
,NMVlanPriorityMap map
,guint32 from
,guint32 to
);
Removes the priority map form
:to
from the "ingress_priority_map"
or "egress_priority_map" (according to map
argument)
properties.
|
the NMSettingVlan |
|
the type of priority map |
|
the priority to map to to
|
|
the priority to map from to |
Returns : |
TRUE if the priority mapping was found and removed; FALSE if it was not. |
gboolean nm_setting_vlan_remove_priority_str_by_value (NMSettingVlan *setting
,NMVlanPriorityMap map
,const char *str
);
Removes the priority map str
from the "ingress_priority_map"
or "egress_priority_map" (according to map
argument)
properties.
|
the NMSettingVlan |
|
the type of priority map |
|
the string which contains a priority map, like "3:7" |
Returns : |
TRUE if the priority mapping was found and removed; FALSE if it was not. |
void nm_setting_vlan_clear_priorities (NMSettingVlan *setting
,NMVlanPriorityMap map
);
Clear all the entires from "ingress_priority_map" or "egress_priority_map" properties.
|
the NMSettingVlan |
|
the type of priority map |
gboolean nm_setting_vlan_add_priority_str (NMSettingVlan *setting
,NMVlanPriorityMap map
,const char *str
);
Adds a priority map entry into either the "ingress_priority_map" or the "egress_priority_map" properties. The priority map maps the Linux SKB priorities to 802.1p priorities.
|
the NMSettingVlan |
|
the type of priority map |
|
the string which contains a priority map, like "3:7" |
Returns : |
TRUE if the entry was successfully added to the list, or it
overwrote the old value, FALSE if error |
"egress-priority-map"
property "egress-priority-map" GStrv : Read / Write
For outgoing packets, a list of mappings from Linux SKB priorities to 802.1p priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".
"flags"
property"flags" NMVlanFlags : Read / Write / Construct
One or more flags which control the behavior and features of the VLAN
interface. Flags include NM_VLAN_FLAG_REORDER_HEADERS
(reordering of
output packet headers), NM_VLAN_FLAG_GVRP
(use of the GVRP protocol),
and NM_VLAN_FLAG_LOOSE_BINDING
(loose binding of the interface to its
master device's operating state). NM_VLAN_FLAG_MVRP
(use of the MVRP
protocol).
The default value of this property is NM_VLAN_FLAG_REORDER_HEADERS, but it used to be 0. To preserve backward compatibility, the default-value in the D-Bus API continues to be 0 and a missing property on D-Bus is still considered as 0.
Default value: NM_VLAN_FLAG_REORDER_HEADERS
"id"
property "id" guint : Read / Write / Construct
The VLAN identifier that the interface created by this connection should be assigned. The valid range is from 0 to 4094, without the reserved id 4095.
Allowed values: <= 4095
Default value: 0
"ingress-priority-map"
property "ingress-priority-map" GStrv : Read / Write
For incoming packets, a list of mappings from 802.1p priorities to Linux SKB priorities. The mapping is given in the format "from:to" where both "from" and "to" are unsigned integers, ie "7:3".
"parent"
property "parent" gchar* : Read / Write / Construct
If given, specifies the parent interface name or parent connection UUID from which this VLAN interface should be created. If this property is not specified, the connection must contain an NMSettingWired setting with a "mac-address" property.
Default value: NULL