The IetfBaseNetworkInterfaceType defines the core set of properties needed to model a network interface based on the definition provided by IETF. Figure 4 illustrates the structure of the IetfBaseNetworkInterfaceType.
Figure 4 – IetfBaseNetworkInterfaceType
The IetfBaseNetworkInterfaceType is formally defined in Table 58.
Table 58 – IetfBaseNetworkInterfaceType definition
Attribute |
Value |
||||
BrowseName |
IetfBaseNetworkInterfaceType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasInterface |
ObjectType |
IIetfBaseNetworkInterfaceType |
|
|
|
Applied from IIetfBaseNetworkInterfaceType (see 5.2.1) |
|||||
HasComponent |
Variable |
AdminStatus |
InterfaceAdminStatus |
BaseDataVariableType |
M |
HasComponent |
Variable |
OperStatus |
InterfaceOperStatus |
BaseDataVariableType |
M |
HasComponent |
Variable |
PhysAddress |
String |
BaseDataVariableType |
O |
HasComponent |
Variable |
Speed |
UInt64 |
AnalogUnitType |
M |
|
|
|
|
|
|
HasLowerLayerInterface |
Object |
<InterfaceName> |
|
BaseObjectType |
OP |
Conformance Units |
|||||
BNM IETF Interface Base Info |
The BrowseName of this Object shall be the same as the ifName of the corresponding IETF object (ifName is defined in IETF RFC 2863: The Interfaces Group MIB).
For the formal definition of AdminStatus, OperStatus, PhysAddress and Speed please refer to 5.2.1.
The HasLowerLayerInterface Reference points to an Object implementing the IIetfBaseNetworkInterfaceType used to indicate a hierarchical connection of network interfaces. This is used to indicate the relation e.g. between a VLAN interface and the actual physical interface. A VLAN interface shall additionally implement IVlanIdType.
Each instance of the IetfBaseNetworkInterfaceType shall point to zero or one instance of PriorityMappingTableType or a subtype using a UsesProrityMappingTable Reference or a subtype. The referenced PriorityMappingTable is used for the prioritisation of network messages injected to the network using this network interface. If an instance of type IetfBaseNetworkInterfaceType has no reference to a PriorityMappingTable, the PriorityMappingTable of the next lower layer interface of type IetfBaseNetworkInterfaceType shall be used. An example for this is shown in Annex A.2 for “eth0.100”.
It is recommended that within one network domain that all interfaces should have consistent MappingTables assigned. This ensures consistent use of Quality of Service features within the network.
A network interface is linked for transmission or reception via the BrowseName of the object of type IetfBaseNetworkInterfaceType.
Note: An example for a simplified PubSub connection is shown in Annex A.2.
The components of the IetfBaseNetworkInterfaceType have the Attribute values defined in Table 59.
Table 59 – IetfBaseNetworkInterfaceType Attribute values for child Nodes
Source Path |
Value Attribute |
Description Attribute |
||
|
NamespaceUri: http://www.opcfoundation.org/UA/units/un/cefact UnitId: 4337968DisplayName: bit/sDescription: bit per second |
- |
The components of the IetfBaseNetworkInterfaceType have additional References which are defined in Table 60.
Table 60 – IetfBaseNetworkInterfaceType Additional References
SourceBrowsePath |
Reference Type |
Is Forward |
TargetBrowsePath |
<InterfaceName> |
HasInterface |
True |
IIetfBaseNetworkInterfaceType |
Instances of the PriorityMappingTableType contains priority mapping information. Figure 5 illustrates the structure of the PriorityMappingTableType.
Figure 5 – PriorityMappingTableType
The PriorityMappingTableType is formally defined in Table 61.
Table 61 – PriorityMappingTableType definition
Attribute |
Value |
||||
BrowseName |
PriorityMappingTableType |
||||
IsAbstract |
False |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType defined in OPC 10000-5 |
|||||
HasProperty |
Variable |
PriorityMapppingEntries |
PriorityMappingEntryType[] |
PropertyType |
M |
HasComponent |
Method |
AddPriorityMappingEntry |
Defined in 5.5.2.3 |
O |
|
HasComponent |
Method |
DeletePriorityMappingEntry |
Defined in 5.5.2.4 |
O |
|
Conformance Units |
|||||
BNM Priority Mapping 2 |
PriorityMappingEntries represents a list of all instances of PriorityMappingEntryType. For a formal definition see 5.3.2.1. The order of the elements in the array does not have any influence, as elements are indexed via the MappingUri and PriorityLabel.
The combination of QosCategory and PriorityLabel are used as indices into the referenced PriorityMappingTable to look up the priority values. The reference from an IetfBaseNetworkInterface is described in Section 5.5.1. For the sender, the priority values shall be included within the frame, if the according fields are available, i.e., VLAN Tag to use the PCP value and IP header to use the DSCP value. The receiver can use the priority values for internal packet processing.
Note: An example for a simplified PubSub connection is shown in Annex A.2. Within the PubSubConnection, each WriterGroup can contain a QosCategory and DatagramQos structure with a PriorityLabel. For the subscriber side these values are specified on the DataSetReader level.
AddPriorityMappingEntry allows to add an entry to this instance of PriorityMappingTableType.
DeletePriorityMappingEntry allows to delete an entry from this instance of PriorityMappingTableType.
This optional Method allows to add an entry to this instance of PriorityMappingTableType. If the combination of MappingUri and PriorityLabel does not exist yet, the element will be added to the Variable PriorityMappingEntries.
The signature of this Method is specified below. Table 62 and Table 64 specify the Arguments and AddressSpace representation, respectively.
Signature
AddPriorityMappingEntry(
[in] String MappingUri,
[in] String PriorityLabel,
[in] Byte PriorityValue_PCP,
[in] UInt32 PriorityValue_DSCP
);
Table 62 – AddPriorityMappingEntry Method arguments
Argument |
Description |
MappingUri |
Named identifier of a well-known predefined set of priority labels. |
PriorityLabel |
Textual representation of the desired transport priority. |
PriorityValue_PCP |
PriorityValue_PCP shall be a value between 0 and 7.The value 0xFF indicates to omit the PriorityValue_PCP from the entry. |
PriorityValue_DSCP |
PriorityValue_DSCP shall be a value between 0 and 63.The value 0xFFFFFFFF indicates to omit the PriorityValue_PCP from the entry. |
The possible Method result codes are defined in Table 63.
Table 63 – AddPriorityMappingEntry Method result codes
ResultCode |
Description |
Bad_UserAccessDenied |
The caller is not allowed to add a priority mapping rule. |
Bad_InvalidArgument |
One of the arguments is invalid. |
Bad_IndexRangeInvalid |
A mapping table entry with MappingUri and PriorityLabel already exists. |
Table 64 – AddPriorityMappingEntry Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
AddPriorityMappingEntry |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
M |
This optional Method allows to delete an entry from this instance of PriorityMappingTableType.
The signature of this Method is specified below. Table 65 and Table 67 specify the Arguments and AddressSpace representation, respectively.
Signature
DeletePriorityMappingEntry(
[in] String MappingUri,
[in] String PriorityLabel
);
Table 65 – DeletePriorityMappingEntry Method arguments
Argument |
Description |
MappingUri |
Named identifier of a well-known predefined set of priority labels. |
PriorityLabel |
Textual representation of the desired transport priority. |
The possible Method result codes are defined in Table 66.
Table 66 – DeletePriorityMappingEntry Method result codes
ResultCode |
Description |
Bad_UserAccessDenied |
The caller is not allowed to delete the priority mapping rule. |
Bad_InvalidState |
The state of this ConnectionConfigurationSetType instance is “Processing”. |
Bad_BrowseNameInvalid |
The BrowseName for the mapping entry is invalid. |
Table 67 – DeletePriorityMappingEntry Method AddressSpace definition
Attribute |
Value |
||||
BrowseName |
DeletePriorityMappingEntry |
||||
References |
Node Class |
BrowseName |
DataType |
TypeDefinition |
Other |
HasProperty |
Variable |
InputArguments |
Argument[] |
PropertyType |
M |
An instance of the LldpInformationType contains LLDP information collected by an independent LLDP agent. Figure 6 illustrates the structure of the LldpInformationType.
Figure 6 – LldpInformationType
The LldpInformationType is formally defined in Table 68.
Table 68 – LldpInformationType definition
Attribute |
Value |
||||
BrowseName |
LldpInformationType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasComponent |
Object |
RemoteStatistics |
|
LldpRemoteStatisticsType |
O |
HasComponent |
Object |
LocalSystemData |
|
LldpLocalSystemType |
M |
HasComponent |
Object |
Ports |
|
FolderType |
M |
|
|
|
|
|
|
Conformance Units |
|||||
BNM IEEE LLDP Info |
LldpInformationType represents the schema of the YANG container lldp in IEEE 802.1ABcu-2021. It models the two entry points for subsequent structures LocalSystemData for all device-related identification and Ports for the port-specific identification and information on neighbour devices.
RemoteStatistics contains a collection of statistics indicating activity and events occurring on neighbour devices.
LocalSystemData represents all device-related identification properties.
Ports is a folder containing one or more instances of LldpPortInformationType that contains information about neighbouring devices seen through that port. The content of Ports is limited to instances of Type LldpPortInformationType.
The components of the LldpInformationType have additional subcomponents, which are defined in Table 69.
Table 69 - LldpInformationType Addtional Components
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Ports |
Organizes |
Object |
<LldpPortInformation> |
|
LldpPortInformationType |
OP |
The LldpRemoteStatisticsType is formally defined in Table 70.
Table 70 – LldpRemoteStatisticsType definition
Attribute |
Value |
||||
BrowseName |
LldpRemoteStatisticsType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasComponent |
Variable |
LastChangeTime |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
RemoteInserts |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
RemoteDeletes |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
RemoteDrops |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
RemoteAgeouts |
UInt32 |
BaseDataVariableType |
M |
|
|
|
|
|
|
Conformance Units |
|||||
BNM IEEE LLDP Info |
LldpRemoteStatisticsType represents the schema of the YANG container remote-statistics in IEEE 802.1ABcu-2021.
LastChangeTime defines the time any remote info changed in the scale of the uptime of the system, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2StatsRemTablesLastChangeTime. The uptime of the system is specified by IETF RFC 3418 in the unit of hundreths of a second.
RemoteInserts defines the number of times new information was inserted into the LldpRemoteSystemsType array, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2StatsRemTablesInserts. When this counter reaches the end of its range, it rolls over to 0.
RemoteDeletes defines the number of times information was deleted from the LldpRemoteSystemsType array, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2StatsRemTablesDeletes. When this counter reaches the end of its range, it rolls over to 0.
RemoteDrops defines the number of times new information could not be inserted into the LldpRemoteSystemsType array because of insufficient resources, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2StatsRemTablesDrops. When this counter reaches the end of its range, it rolls over to 0.
RemoteAgeouts defines the number of times information aged out from the LldpRemoteSystemsType array because the information timeliness interval has expired, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2StatsRemTablesAgeouts. When this counter reaches the end of its range, it rolls over to 0.
The LldpLocalSystemType is formally defined in Table 71.
Table 71 – LldpLocalSystemType definition
Attribute |
Value |
||||
BrowseName |
LldpLocalSystemType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
ChassisIdSubtype |
ChassisIdSubtype |
PropertyType |
M |
HasProperty |
Variable |
ChassisId |
String |
PropertyType |
M |
HasProperty |
Variable |
SystemName |
String |
PropertyType |
M |
HasProperty |
Variable |
SystemDescription |
String |
PropertyType |
M |
HasProperty |
Variable |
SystemCapabilitiesSupported |
LldpSystemCapabilitiesMap |
PropertyType |
O |
HasProperty |
Variable |
SystemCapabilitiesEnabled |
LldpSystemCapabilitiesMap |
PropertyType |
O |
|
|
|
|
|
|
Conformance Units |
|||||
BNM IEEE LLDP Info |
LldpLocalSystemType represents the schema of the YANG container local-system-data in IEEE 802.1ABcu-2021.
ChassisIdSubtype defines type of encoding used to identify the chassis associated with the local system, as defined in clause 8.5.2.2 of IEEE Std 802.1AB-2016.
ChassisId defines the chassis component associated with the local system, as defined in clause 8.5.2.3 of IEEE Std 802.1AB-2016.
SystemName defines the system name of the local system, as defined in clause 8.5.6.2 of IEEE Std 802.1AB-2016.
SystemDescription defines the system description of the local system, as defined in clause 8.5.7.2 of IEEE Std 802.1AB-2016.
SystemCapabilitiesSupported defines the system capabilities that are supported on the local system, as defined in clause 8.5.8.1 of IEEE Std 802.1AB-2016.
SystemCapabilitiesEnabled defines the system capabilities that are enabled on the local system, as defined in clause 8.5.8.2 of IEEE Std 802.1AB-2016.
The LldpPortInformationType is formally defined in Table 72.
Table 72 – LldpPortInformationType definition
Attribute |
Value |
||||
BrowseName |
LldpPortInformationType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasProperty |
Variable |
IetfBaseNetworkInterfaceName |
String |
PropertyType |
M |
HasProperty |
Variable |
DestMacAddress |
Byte[6] |
PropertyType |
M |
HasProperty |
Variable |
PortIdSubtype |
PortIdSubtype |
PropertyType |
M |
HasProperty |
Variable |
PortId |
String |
PropertyType |
M |
HasProperty |
Variable |
PortDescription |
String |
PropertyType |
O |
HasProperty |
Variable |
ManagementAddressTxPort |
LldpManagementAddressTxPortType[] |
PropertyType |
O |
HasComponent |
Object |
RemoteSystemsData |
|
FolderType |
O |
|
|
|
|
|
|
Conformance Units |
|||||
BNM IEEE LLDP Info |
LldpPortInformationType represents the schema of the YANG list port in IEEE 802.1Abcu-2021.
IetfBaseNetworkInterfaceName points to an object of type IetfBaseNetworkInterfaceType organized in the NetworkInterfaces folder with the value of the String. This link is needed to identify the port component (contained in the local chassis with the LLDP agent) associated with this entry. Annex A.3 visualizes this reference.
DestMacAddress defines the MAC address of this network interface.
PortIdSubtype defines type of encoding used to identify the associated PortId, as defined in clause 8.5.3.2 of IEEE Std 802.1AB-2016.
PortId defines the port component associated with a given port in the local system, as defined in clause 8.5.3.3 of IEEE Std 802.1AB-2016.
PortDescription defines the port description associated with the local system, as defined in clause 8.5.5.2 of IEEE Std 802.1AB-2016.
ManagementAddressTxPort defines the set of ports (represented as a List of Type LldpManagementAddressTxPortType) on which the local system management address instance will be transmitted.
RemoteSystemsData defines the data received on this particular physical network connection. It is a folder containing instances of type LldpRemoteSystemType.
The components of the LldpInformationType have additional subcomponents, which are defined in Table 73.
Table 73 - LldpPortInformationType additional subcomponents
BrowsePath |
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
RemoteSystemsData |
Organizes |
Object |
|
OP |
The LldpRemoteSystemType is formally defined in Table 74.
Table 74 – LldpRemoteSystemType definition
Attribute |
Value |
||||
BrowseName |
LldpRemoteSystemType |
||||
IsAbstract |
False |
||||
References |
NodeClass |
BrowseName |
DataType |
TypeDefinition |
Other |
Subtype of the BaseObjectType |
|||||
|
|
|
|
|
|
HasComponent |
Variable |
TimeMark |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
RemoteIndex |
UInt32 |
BaseDataVariableType |
M |
HasComponent |
Variable |
ChassisIdSubtype |
ChassisIdSubtype |
BaseDataVariableType |
M |
HasComponent |
Variable |
ChassisId |
String |
BaseDataVariableType |
M |
HasComponent |
Variable |
PortIdSubtype |
PortIdSubtype |
BaseDataVariableType |
M |
HasComponent |
Variable |
PortId |
String |
BaseDataVariableType |
M |
HasComponent |
Variable |
PortDescription |
String |
BaseDataVariableType |
O |
HasComponent |
Variable |
SystemName |
String |
BaseDataVariableType |
O |
HasComponent |
Variable |
SystemDescription |
String |
BaseDataVariableType |
O |
HasComponent |
Variable |
SystemCapabilitiesSupported |
LldpSystemCapabilitiesMap |
BaseDataVariableType |
O |
HasComponent |
Variable |
SystemCapabilitiesEnabled |
LldpSystemCapabilitiesMap |
BaseDataVariableType |
O |
HasComponent |
Variable |
RemoteChanges |
Boolean |
BaseDataVariableType |
O |
HasComponent |
Variable |
RemoteTooManyNeighbors |
Boolean |
BaseDataVariableType |
O |
HasComponent |
Variable |
ManagementAddress |
LldpManagementAddressType[] |
BaseDataVariableType |
O |
HasComponent |
Variable |
RemoteUnknownTlv |
LldpTlvType[] |
BaseDataVariableType |
O |
|
|
|
|
|
|
Conformance Units |
|||||
BNM IEEE LLDP Info |
LldpRemoteSystemType represents the schema of the YANG list remote-systems-data in IEEE 802.1ABcu-2021. These instances are populated based on received LLDP TLVs.
TimeMark defines a TimeFilter for this entry, as defined in IETF RFC 2021 section 6. The units for this time are hundredths of seconds.
RemoteIndex defines an arbitrary local integer value used to identify a remote system, as defined in clause 11.5.1 of IEEE Std 802.1AB-2016: lldpV2RemIndex.
ChassisIdSubtype defines type of encoding used to identify the chassis associated with the remote system, as defined in clause 8.5.2.2 of IEEE Std 802.1AB-2016.
ChassisId defines the chassis component associated with the remote system, as defined in clause 8.5.2.3 of IEEE Std 802.1AB-2016.
PortIdSubtype defines type of encoding used to identify the associated PortId, as defined in clause 8.5.3.2 of IEEE Std 802.1AB-2016.
PortId defines the port component associated with a given port in the remote system, as defined in clause 8.5.3.3 of IEEE Std 802.1AB-2016.
PortDescription defines the port description associated with the remote system, as defined in clause 8.5.5.2 of IEEE Std 802.1AB-2016.
SystemName defines the system name of the remote system, as defined in clause 8.5.6.2 of IEEE Std 802.1AB-2016.
SystemDescription defines the system description of the remote system, as defined in clause 8.5.7.2 of IEEE Std 802.1AB-2016.
SystemCapabilitiesSupported defines the system capabilities are supported on the remote system, as defined in clause 8.5.8.1 of IEEE Std 802.1AB-2016.
SystemCapabilitiesEnabled defines the system capabilities are enabled on the remote system, as defined in clause 8.5.8.2 of IEEE Std 802.1AB-2016.
RemoteChanges Indicates that there are changes in the remote system's data, as determined by the variable remoteChanges, as defined in clause 9.2.5.11 of IEEE Std 802.1AB-2016.
RemoteTooManyNeighbors Indicates that there are too many neighbors as determined by the variable tooManyNeighbors, as defined in clause 9.2.5.15 of IEEE Std 802.1AB-2016.
ManagementAddress defines the Management address information about a particular chassis component (represented as a List of Type LldpManagementAddressType).
RemoteUnknownTlv defines Information about an unrecognized TLV received from a physical network connection.
All values get initialized from the LLDP stack based on received TLVs. If mandatory variables are not initialized due to a non-conforming LLDP stack, the return value for Browse action shall be Bad_NoValue, as defined in OPC 10000-4.