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.

image007.png

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

Speed

EngineeringUnits

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.

image008.png

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 

 

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.

image009.png

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

<LldpRemoteSystem >

LldpRemoteSystemType

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.