The Base Network Model defined in this document is shown in Figure 2.

image005.png

Figure 2 – Overview of Base Network Model

This OPC UA Interface defines the basis of an IETF network interface. The IIetfBaseNetworkInterfaceType is formally defined in Table 1.

Table 1 – IIetfBaseNetworkInterfaceType definition

Attribute

Value

BrowseName

IIetfBaseNetworkInterfaceType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

AdminStatus

InterfaceAdminStatus

BaseDataVariableType

Mandatory

HasComponent

Variable

OperStatus

InterfaceOperStatus

BaseDataVariableType

Mandatory

HasComponent

Variable

PhysAddress

String

BaseDataVariableType

Optional

HasComponent

Variable

Speed

UInt64

AnalogUnitType

Mandatory

Conformance Units

BNM Ethernet Base Info

AdminStatus of DataType InterfaceAdminStatus specifies the desired state of the network interface. This Variable has the same read semantics as ifAdminStatus (see IETF RFC 2863: The Interfaces Group MIB - ifAdminStatus). The InterfaceAdminStatus Enumeration is defined in 5.3.1.2.

OperStatus of DataType InterfaceOperStatus specifies the current operational state of the network interface. This Variable has the same semantics as ifOperStatus (see IETF RFC 2863: The Interfaces Group MIB - ifOperStatus). The InterfaceOperStatus Enumeration is defined in 5.3.1.3.

PhysAddress of DataType String specifies the network interface's address at its protocol sub-layer. For example, for an 802.x network interface, this parameter normally contains a Media Access Control (MAC) address. The network interface's media-specific modules must define the bit and byte ordering and the format of the value of this object. For network interfaces that do not have such an address (e.g., a serial line), this node is not present (see IETF RFC 2863: The Interfaces Group MIB - ifPhysAddress).

Speed of DataType UInt64 specifies an estimate of the network interface's current bandwidth in bits per second. For network interfaces that do not vary in bandwidth or for those where no accurate estimation can be made, this value should contain the nominal bandwidth (see IETF RFC 2863: ifSpeed, ifHighSpeed).

The component Variables of the IIetfBaseNetworkInterfaceType have the Attribute values defined in Table 2.

Table 2 – IIetfBaseNetworkInterfaceType 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

-

This OPC UA Interface defines capabilities of an Ethernet-based port. The IIeeeBaseEthernetPortType is formally defined in Table 3.

Table 3 – IIeeeBaseEthernetPortType definition

Attribute

Value

BrowseName

IIeeeBaseEthernetPortType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

Speed

UInt64

AnalogUnitType

Mandatory

HasComponent

Variable

Duplex

Duplex

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxFrameLength

UInt16

BaseDataVariableType

Mandatory

Conformance Units

BNM Ethernet Base Info

Speed of DataType UInt64 specifies the configured, negotiated, or actual speed of an Ethernet port in entities of 1 Mb/s (data rate). The default value is implementation-dependent (see IEEE Std 802.3).

Duplex of DataType Duplex represents the configured, negotiated, or actual duplex mode of an Ethernet port (see IEEE Std 802.3, clause 30.3.1.1.32, “aDuplexStatus”). The Duplex DataType is defined in 5.3.1.1.

MaxFrameLength of DataType UInt16 indicates the MAC frame length (including FCS bytes) at which frames are dropped for being too long (see IEEE Std 802.3, clause 30.3.1.1.37, “aMaxFrameLength”).

The component Variables of the IIeeeBaseEthernetPortType have the Attribute values defined in Table 4.

Table 4 – IIeeeBaseEthernetPortType Attribute values for child Nodes

Source Path

Value Attribute

Description Attribute

Speed

EngineeringUnits

NamespaceUri: http://www.opcfoundation.org/UA/units/un/cefact

UnitId: 4534832DisplayName: Mbit/sDescription: megabit per second

-

This OPC UA Interface defines the auto negotiation status of an Ethernet-based port. The IIeeeAutoNegotiationStatusType is formally defined in Table 5.

Table 5 – IIeeeAutoNegotiationStatusType definition

Attribute

Value

BrowseName

IIeeeAutoNegotiationStatusType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

NegotiationStatus

NegotiationStatus

BaseDataVariableType

Mandatory

Conformance Units

BNM AutoNeg

NegotiationStatus of DataType NegotiationStatus specifies the status of the auto-negotiation protocol (see IEEE Std 802.3, clause 30.6.1.1.4, “aAutoNegAutoConfig”). The NegotiationStatus DataType is defined in 5.3.1.4.

This OPC UA Interface defines if an Ethernet-based port is VLAN Tag capable. The IBaseEthernetCapabilitiesType is formally defined in Table 6.

Table 6 – IBaseEthernetCapabilitiesType definition

Attribute

Value

BrowseName

IBaseEthernetCapabilitiesType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

VlanTagCapable

Boolean

BaseDataVariableType

Mandatory

Conformance Units

BNM VLAN Capabilities

When VlanTagCapable is true, the network interface supports the ability to tag/untag frames using a Customer VLAN Tag (C-TAG of clause 9) provided by the network (see IEEE 802.1Qcc-2018 clause 46.2.3.7.1.).

This OPC UA Interface specifies a VLAN Id to be associated with a network interface. The IVlanIdType is formally defined in Table 7.

Table 7 – IVlanIdType definition

Attribute

Value

BrowseName

IVlanIdType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

VlanId

UInt16

BaseDataVariableType

Mandatory

Conformance Units

BNM IETF Interface Vlan Info

VlanId is an UInt16 and contains the Customer VLAN Tag (IEEE 802.1Q-2018 C-TAG of clause 9) that frames injected at this network interface will be tagged with (see IEEE 802.1Qcc-2018 clause 46.2.3.7.1). 

This OPC UA Interface defines the content of an SrClass. The ISrClassType is formally defined in Table 8.

Table 8 – ISrClassType definition

Attribute

Value

BrowseName

ISrClassType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

Id

Byte

BaseDataVariableType

Mandatory

HasComponent

Variable

Priority

Byte

BaseDataVariableType

Mandatory

HasComponent

Variable

Vid

UInt16

BaseDataVariableType

Mandatory

Conformance Units

BNM TSN Base Info

Id is a Byte and specifies the SRclassID in a numeric representation of the SR classes which is supported by a particular Bridge Port (see IEEE 802.1Q-2018, clause 35.2.2.9.2, SRclassID). Only Values between 0 and 7 shall be used.

Priority is a Byte and holds the Data Frame Priority (item a) in IEEE 802.1Q-2018 clause 35.2.2.8.5) value that will be used for streams that belong to the associated SR class. (see IEEE 802.1Q-2018, clause 35.2.2.9.3, SRclassPriority). Only Values between 0 and 7 shall be used.

Vid is an UInt16 and contains the SR_PVID (item i) in IEEE 802.1Q-2018 clause 35.2.1.4) that the associated streams will be tagged with by the Talker (see IEEE 802.1Q-2018, clause 35.2.2.9.4, SRclassVID).

The IIeeeBaseTsnStreamType contains Variables which are common for both TSN talkers and TSN listeners. They represent the configuration properties and diagnostic values like reservation status and failure codes of a TSN stream. The IIeeeBaseTsnStreamType is formally defined Table 9.

Table 9 – IIeeeBaseTsnStreamType definition

Attribute

Value

BrowseName

IIeeeBaseTsnStreamType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

StreamId

Byte[8]

BaseDataVariableType

Mandatory

HasComponent

Variable

StreamName

String

BaseDataVariableType

Mandatory

HasComponent

Variable

State

TsnStreamState

BaseDataVariableType

Mandatory

HasComponent

Variable

AccumulatedLatency

UInt32

BaseDataVariableType

Optional

HasComponent

Variable

SrClassId

Byte

BaseDataVariableType

Optional

Conformance Units

BNM TSN Base Info

StreamId is an array of 8 Bytes defined according to the StreamID in IEEE 802.1Qcc-2018 clause 35.2.2.8.2. The StreamId shall be unique in the scope of the related TSN Network. The mapping between the StreamId Byte array and the IEEE octet string StreamID is as follows: Entry[n] of StreamId is mapped to octet[n] of StreamID. The StreamId shall be provided in the TSN stream Objects for diagnostic reasons.

Note: In the distributed configuration model the StreamId is typically generated by the TSN control stack of the endstation. In the fully centralized configuration model the StreamId is typically generated by the CUC.

StreamName is a String identifying the related stream in the network. The format of the String is application specific. The uniqueness of the StreamName inside the network segment shall be guaranteed by the application. If multiple applications use the network segment, they need to agree on a naming scheme.

State represents the current state of the TSN configuration process of a TSN stream. The TsnStreamState Enumeration is defined in 5.3.1.6.

AccumulatedLatency of DataType UInt32 is the maximum worst case propagation delay in nanoseconds calculated and guaranteed by the TSN Control Layer for this Listener. Once the stream reservation has succeeded the AccumulatedLatency is not expected to increase during the lifecycle of the TSN Stream (see IEEE 802.1Q-2018 clause 35.2.2.8.6).

SrClassId of DataType Byte contains the Stream Reservation Class that is used for this stream (see IEEE 802.1Qcc-2018 clause 35.2.2.9.2).

This OPC UA Interface is used to represent the traffic specification of a TSN stream. The IIeeeBaseTsnTrafficSpecificationType is formally defined in Table 10.

Table 10 – IIeeeBaseTsnTrafficSpecificationType definition

Attribute

Value

BrowseName

IIeeeBaseTsnTrafficSpecificationType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

Modelling Rule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

MaxIntervalFrames

UInt16

BaseDataVariableType

Mandatory

HasComponent

Variable

MaxFrameSize

UInt32

BaseDataVariableType

Mandatory

HasComponent

Variable

Interval

UnsignedRationalNumber

BaseDataVariableType

Mandatory

Conformance Units

BNM TSN Config

The MaxFrameSize of DataType UInt16 specifies the maximum size frame that will be sent by a Talker for this Stream (see IEEE 802.1Q-2018 clause 35.2.2.8.4a).

Note: According to 802.1Q MaxFrameSize only counts the number of bytes of the Ethernet payload without the media specific framing bytes. (i.e. without 8-byte preamble, 14-byte IEEE 802.3 header, 4-byte IEEE 802.1Q priority/VID Tag, 4-byte CRC, 12-byte inter frame gap). Same rules apply for counting MaxBytesPerInterval.

The MaxIntervalFrames of DataType UInt16 Variable specifies the maximum number of frames that will be sent during an Interval. (see IEEE 802.1Q-2018, clause 35.2.2.8.4b, “MaxIntervalFrames” or IEEE 802.1Qcc-2018, clause 35.2.2.10.6, “MaxFramesPerInterval”)

Interval of DataType UnsignedRationalNumber defines the time period of the TSN Stream in nanoseconds. In that interval a specified number of frames (MaxIntervalFrames) with a maximum payload size per frame (MaxFrameSize) and a maximum total number of bytes (MaxBytesPerInterval) will be transmitted. The Interval therefore shall either represent the “class measurement interval” as used for AVB based Streams (see IEEE 802.1Q-2018 clause 35 or the “Interval” parameter used in the TrafficSpecification group in IEEE 802.1Qcc-2018 clause 46.2.3.5.1).

This OPC UA Interface is used to represent the status of a TSN stream. The IIeeeBaseTsnStatusStreamType is formally defined in Table 11.

Table 11 – IIeeeBaseTsnStatusStreamType definition

Attribute

Value

BrowseName

IIeeeBaseTsnStatusStreamType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

TalkerStatus

TsnTalkerStatus

BaseDataVariableType

Optional

HasComponent

Variable

ListenerStatus

TsnListenerStatus

BaseDataVariableType

Optional

HasComponent

Variable

FailureCode

TsnFailureCode

BaseDataVariableType

Mandatory

HasComponent

Variable

FailureSystemIdentifier

Byte[][8]

BaseDataVariableType

Mandatory

Conformance Units

BNM TSN Base Info

TalkerStatus of DataType TsnTalkerStatus contains the Reservation Failure Code as defined in the “FailureInformation” in IEEE 802.1Qcc-2018 clause 46.2.5.1.1.

ListenerStatus of DataType TsnListenerStatus contains the Reservation Failure Code as defined in the “FailureInformation” in IEEE 802.1Qcc-2018 clause 46.2.5.1.2.

FailureCode of DataType TsnFailureCode contains the Reservation Failure Code as defined in the “FailureInformation” in IEEE 802.1Qcc-2018 clause 46.2.5.1.3.

FailureSystemIdentifier is an Array of Arrays of 8 Bytes and contains the System Identifiers representing the network nodes where the failure occurred. See “System Identifier” in “FailureInformation” in IEEE 802.1Q-2018 clause 35.2.2.8.7.

This OPC UA Interface is used to represent an interface configuration which is part of a TSN stream (on the end-device). The IIeeeTsnInterfaceConfigurationType is formally defined in Table 12.

Table 12 – IIeeeTsnInterfaceConfigurationType definition

Attribute

Value

BrowseName

IIeeeTsnInterfaceConfigurationType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

MacAddress

String

BaseDataVariableType

Mandatory

HasComponent

Variable

InterfaceName

String

BaseDataVariableType

Optional

Conformance Units

BNM TSN Config

MacAddress of DataType String contains the MAC Address of the Interface the configuration will be applied to, see IEEE 802.1Qcc-2018, clause 46.2.5.3.

InterfaceName of DataType String is optional and supports the identification of the Interface to be configured, see IEEE 802.1Qcc-2018, clause 46.2.5.3.

This OPC UA Interface is used to represent a talker (sender) interface configuration of a TSN stream. The IIeeeTsnInterfaceConfigurationTalkerType is formally defined in Table 13.

Table 13 – IIeeeTsnInterfaceConfigurationTalkerType definition

Attribute

Value

BrowseName

IIeeeTsnInterfaceConfigurationTalkerType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the IIeeeTsnInterfaceConfigurationType defined in 5.2.10

HasComponent

Variable

TimeAwareOffset

UInt32

BaseDataVariableType

Optional

Conformance Units

BNM TSN Config

TimeAwareOffset of DataType UInt32 specifies the time offset in nanoseconds relative to the start of the Interval that the Talker shall use for transmission (see IEEE 802.1Qcc-2018 clause 46.2.5.3.5).

This OPC UA Interface is used to represent a listener (receiver) interface configuration of a TSN stream. The IIeeeTsnInterfaceConfigurationListenerType is formally defined in Table 14.

Table 14 – IIeeeTsnInterfaceConfigurationListenerType definition

Attribute

Value

BrowseName

IIeeeTsnInterfaceConfigurationListenerType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the IIeeeTsnInterfaceConfigurationType defined in 5.2.10

HasComponent

Variable

ReceiveOffset

UInt32

BaseDataVariableType

Optional

Conformance Units

BNM TSN Config

ReceiveOffset of DataType UInt32 specifies the offset in nanoseconds within the Interval at which the Listener will receive the first frame of the TSN Stream.

This OPC UA Interface is used to represent a MAC address based stream identification of a TSN stream. The IIeeeTsnMacAddressType is formally defined in Table 15.

Table 15 – IIeeeTsnMacAddressType definition

Attribute

Value

BrowseName

IIeeeTsnMacAddressType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

DestinationAddress

Byte[6]

BaseDataVariableType

Mandatory

HasComponent

Variable

SourceAddress

Byte[6]

BaseDataVariableType

Optional

Conformance Units

BNM TSN Config

DestinationAddress is defined according to the destination_mac_address in IEEE 802.1Qcc-2018 clause 46.2.3.4.1, which represents the destination MAC address in the Ethernet header of the streamed data packets. Entry[n] of DestinationAddress is mapped to octet[n] of destination_mac_address.

SourceAddress is defined according to the source_mac_address in IEEE 802.1Qcc-2018 clause 46.2.3.4.1, which represents the source MAC address in the Ethernet header of the streamed data packets. Entry[n] of SourceAddress is mapped to octet[n] of source_mac_address.

This OPC UA Interface is used to represent the VLAN configuration of a TSN stream. The IIeeeTsnVlanTagType is formally defined in Table 16.

Table 16 – IIeeeTsnVlanTagType definition

Attribute

Value

BrowseName

IIeeeTsnVlanTagType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

VlanId

UInt16

BaseDataVariableType

Mandatory

HasComponent

Variable

PriorityCodePoint

Byte

BaseDataVariableType

Mandatory

Conformance Units

BNM TSN Config

VlanId of DataType UInt16 defines the 12-Bit VLAN-Identifier of the VLAN tag in the Ethernet header for the related stream. Only values between 0 and 4095 shall be used according to IEEE 802.1Q-2018 Table 9-2.

PriorityCodePoint of DataType Byte defines the 3 Bit priority code point inside the VLAN tag of the Ethernet header of the related stream. Only values between 0 and 7 are supported as defined by IEEE 802.1Q-2018, clause 35.2.2.8.5a, Data Frame Priority.

This OPC UA Interface is used to translate a priority label like PriorityLabel (defined in Part 14) to a concrete network priority value (e.g. DSCP or PCP).

Note: This UA Interface is typically used to form a mapping rule table containing a set of object entities implementing the IPriorityMappingEntryType. Each network interface supporting priority mapping may reference such a mapping table Object.

Table 17 – IPriorityMappingEntryType definition

Attribute

Value

BrowseName

IPriorityMappingEntryType

IsAbstract

True

References

NodeClass

BrowseName

DataType

TypeDefinition

ModellingRule

Subtype of the BaseInterfaceType defined in OPC 10000-5

HasComponent

Variable

MappingUri

String

BaseDataVariableType

Mandatory

HasComponent

Variable

PriorityLabel

String

BaseDataVariableType

Mandatory

HasComponent

Variable

PriorityValue_PCP

Byte

BaseDataVariableType

Optional

HasComponent

Variable

PriorityValue_DSCP

UInt32

BaseDataVariableType

Optional

Conformance Units

BNM Priority Mapping

MappingUri of DataType String specifies a named identifier of a well-known predefined set of priority labels.

PriorityLabel of DataType String is a textual representation of the desired transport priority configured within the QoS settings of a communication relation, e.g. WriterGroup defined in Part14.

PriorityValue_PCP of DataType Byte is the Ethernet transport priority inside the VLAN-Tag associated with the PriorityLabel. The devices shall translate the defined priority label for each packet according to the communication relation (e.g. WriterGroup) and linked interface. Depending on the transport protocol mapping and if this Variable is supported, the PCP field inside a packet shall be set to the specified PCP value.

PriorityValue_DSCP of DataType UInt32 is the IP transport priority associated with the PriorityLabel. The devices shall translate the defined priority label for each packet according to the communication relation (e.g. WriterGroup) and linked interface. Depending on the transport protocol mapping and if this Variable is supported, the DSCP field inside a packet shall be set to the specified DSCP value.

The Duplex is an enumeration representing the configured, negotiated, or actual duplex mode of an Ethernet interface (see IEEE Std 802.3, 30.3.1.1.32, aDuplexStatus). The values of the Duplex Enumeration are defined in Table 18.

Table 18 – Duplex Values

Name

Value

Description

Full

0

Full duplex.

Half

1

Half duplex.

Unknown

2

Link is currently disconnected or initializing.

Its representation in the AddressSpace is defined in Table 19.

Table 19 – Duplex Definition

Attribute

Value

BrowseName

Duplex

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM Ethernet Base Info

The InterfaceAdminStatus is an enumeration for the possible desired states of the network interface (see IETF RFC 2863: The Interfaces Group MIB - ifAdminStatus). The values of the InterfaceAdminStatus Enumeration are defined in Table 20.

Table 20 – InterfaceAdminStatus Values

Name

Value

Description

Up

0

Ready to pass packets.

Down

1

Not ready to pass packets and not in some test mode.

Testing

2

In some test mode.

Its representation in the AddressSpace is defined in Table 21.

Table 21 – InterfaceAdminStatus Definition

Attribute

Value

BrowseName

InterfaceAdminStatus

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM Ethernet Base Info

The InterfaceOperStatus is an enumeration for the possible operational states of the network interface (see IETF RFC 2863: The Interfaces Group MIB - ifOperStatus). The values of the InterfaceOperStatus Enumeration are defined in Table 22.

Table 22 – InterfaceOperStatus Values

Name

Value

Description

Up

0

Ready to pass packets.

Down

1

The interface does not pass any packets.

Testing

2

In some test mode. No operational packets can be passed.

Unknown

3

Status cannot be determined for some reason.

Dormant

4

Waiting for some external event.

NotPresent

5

Some component (typically hardware) is missing.

LowerLayerDown

6

Down due to state of lower-layer interface(s).

Its representation in the AddressSpace is defined in Table 23.

Table 23 – InterfaceOperStatus Definition

Attribute

Value

BrowseName

InterfaceOperStatus

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM Ethernet Base Info

The NegotiationStatus is an enumeration representing the status of the auto-negotiation protocol (see IEEE Std 802.3, clause 30.6.1.1.4, aAutoNegAutoConfig). The values of the NegotiationStatus Enumeration are defined in Table 24.

Table 24 – NegotiationStatus Values

Name

Value

Description

InProgress

0

The auto-negotiation protocol is running and negotiation is currently in-progress.

Complete

1

The auto-negotiation protocol has completed successfully.

Failed

2

The auto-negotiation protocol has failed.

Unknown

3

The auto-negotiation status is not currently known, this could be because it is still negotiating or the protocol cannot run (e.g., if no medium is present).

NoNegotiation

4

No auto-negotiation is executed. The auto-negotiation function is either not supported on this interface or has not been enabled.

Its representation in the AddressSpace is defined in Table 25.

Table 25 – NegotiationStatus Definition

Attribute

Value

BrowseName

NegotiationStatus

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM AutoNeg

The TsnFailureCode is an Enumeration to provide detailed error information for failures occurring during TSN stream establishment (see IEEE 802.1Qcc-2018, Table 46-15, TSN Failure Codes). The TsnFailureCode Enumeration is defined in Table 26.

Table 26 – TsnFailureCode values

Name

Value

Description

NoFailure

0

No failure

InsufficientBandwidth

1

Insufficient bandwidth

InsufficientResources

2

Insufficient bridge resources

InsufficientTrafficClassBandwidth

3

Insufficient bandwidth for Traffic Class

StreamIdInUse

4

StreamID in use by another Talker

StreamDestinationAddressInUse

5

Stream destination address already in use

StreamPreemptedByHigherRank

6

Stream pre-empted by higher rank

LatencyHasChanged

7

Reported latency has changed

EgressPortNotAvbCapable

8

Egress port is not AVBCapable

UseDifferentDestinationAddress

9

Use a different destination address

OutOfMsrpResources

10

Out of MSRP resources

OutOfMmrpResources

11

Out of MMRP resources

CannotStoreDestinationAddress

12

Cannot store destination address

PriorityIsNotAnSrcClass

13

Requested priority is not an SR Class priority

MaxFrameSizeTooLarge

14

MaxFrameSize is too large for media

MaxFanInPortsLimitReached

15

MaxFanInPorts limit has been reached

FirstValueChangedForStreamId

16

Changes in FirstValue for a registered StreamID

VlanBlockedOnEgress

17

VLAN is blocked on this egress port (Registration Forbidden)

VlanTaggingDisabledOnEgress

18

VLAN tagging is disabled on this egress port (untagged set)

SrClassPriorityMismatch

19

SR class priority mismatch

FeatureNotPropagated

20

Enhanced feature cannot be propagated to original Port

MaxLatencyExceeded

21

MaxLatency exceeded

BridgeDoesNotProvideNetworkId

22

Nearest Bridge cannot provide network identification for stream transformation

StreamTransformNotSupported

23

Stream transformation not supported

StreamIdTypeNotSupported

24

Stream identification type not supported for stream transformation

FeatureNotSupported

25

Enhanced feature cannot be supported without a CNC

Its representation in the AddressSpace is defined in Table 27.

Table 27 – TsnFailureCode Definition

Attribute

Value

BrowseName

TsnFailureCode

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM TSN Base Info

The TsnStreamState is an enumeration representing the state of the configuration process of a TSN Talker or Listener.

The default value is Disabled. The TsnStreamState Enumeration is defined in Table 28.

Table 28 – TsnStreamState Values

Name

Value

Description

Disabled

0

The related TSN Stream is currently disabled.

Configuring

1

The related TSN Stream is in the process of receiving configuration parameters from the TSN Control Layer.

Ready

2

The related TSN Stream has successfully received and applied the configuration from the TSN Control Layer. The related TSN Stream is not fully operational as long as local preconditions (e.g. synchronization state) are not valid.

Operational

3

The related TSN Stream object is configured and all other required preconditions (e.g. synchronization state) for sending / receiving data are valid.

Error

4

The related TSN Stream object is in an error state.

Its representation in the AddressSpace is defined in Table 29.

Table 29 – TsnStreamState Definition

Attribute

Value

BrowseName

TsnStreamState

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM TSN Base Info

The TsnTalkerStatus is an enumeration representing the state of the TSN Talker configuration.

The default value is None. The TsnTalkerStatus Enumeration is defined in Table 28.

Table 30 – TsnTalkerStatus Values

Name

Value

Description

None

0

No Talker detected.

Ready

1

Talker ready (configured).

Failed

2

Talker failed.

Its representation in the AddressSpace is defined in Table 29.

Table 31 – TsnTalkerStatus Definition

Attribute

Value

BrowseName

TsnTalkerStatus

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM TSN Base Info

The TsnListenerStatus is an enumeration representing the state of the TSN Listener configuration.

The default value is None. The TsnListenerStatus Enumeration is defined in Table 28.

Table 32 – TsnListenerStatus Values

Name

Value

Description

None

0

No Listener detected.

Ready

1

Listener ready (configured).

PartialFailed

2

One or more Listeners ready, and one or more Listeners failed.

Failed

3

Listener failed.

Its representation in the AddressSpace is defined in Table 29.

Table 33 – TsnListenerStatus Definition

Attribute

Value

BrowseName

TsnListenerStatus

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Enumeration type defined in OPC 10000-5

HasProperty

Variable

EnumValues

EnumValueType[]

PropertyType

Conformance Units

BNM TSN Base Info

This Structure DataType is used to represent an entry in the PriorityMappingTableType. The PriorityMappingEntryType is formally defined in Table 34.

Table 34 – PriorityMappingEntryType structure

Name

Type

Description

PriorityMappingEntryType

Structure

MappingUri

String

Named identifier of a well-known predefined set of priority labels.

PriorityLabel

String

Textual representation of the desired transport priority.

PriorityValue_PCP

Byte

VLAN Tag based priority value.

PriorityValue_PCP shall be a value between 0 and 7, or 0xFF.

The value 0xFF indicates the PriorityValue_PCP is not used.

PriorityValue_DSCP

UInt32

IP header based priority value.

PriorityValue_DSCP shall be a value between 0 and 63, or 0xFFFFFFFF.The value 0xFFFFFFFF indicates the PriorityValue_PCP is not used.

Its representation in the AddressSpace is defined in Table 35.

Table 35 – PriorityMappingEntryType Definition

Attribute

Value

BrowseName

PriorityMappingEntryType

IsAbstract

False

References

NodeClass

BrowseName

DataType

TypeDefinition

Other

Subtype of the Structure DataType defined in OPC 10000-5

Conformance Units

BNM Priority Mapping 2

Overview and location of the instance entry points are shown in Figure 3.

image006.png

Figure 3 – Instance Entry Points for Network Interfaces and Streams

The Resources Object shall be used as the browse entry point for physical and logical resources of the device the Server is running on. It shall reside in the Server Object defined in OPC 10000-5. It may contain a set of Organizes References that point to other Objects representing specific resources. It is formally defined in Table 36.

Table 36 – Resources definition

Attribute

Value

BrowseName

Resources

References

NodeClass

BrowseName

Comment

ComponentOf of the Server Object defined in Part 5.

HasTypeDefinition

ObjectType

FolderType

Organizes

Object

Communication

Defined in 5.4.2

Conformance Units

BNM Entry Points

The Communication Object shall be used as the browse entry point for communication related resources of the physical device the Server is running on. It is formally defined in Table 37.

The Communication Object is referenced by an Organizes Reference from the Resources Object defined in 5.4.1.

The Communication Object may include the following subfolders:

  • MappingTables
  • NetworkInterfaces
  • Streams

Note: It is recommended to keep TSN-Streams and possible future (DetNet-)Flows separated in specific folders.

Table 37 – Communication definition

Attribute

Value

BrowseName

Communication

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Organizes

Object

MappingTables

Defined in 5.4.3

Organizes

Object

NetworkInterfaces

Defined in 5.4.4

Organizes

Object

Streams

Defined in 5.4.5

Conformance Units

BNM Entry Points

The MappingTables Object shall be used as the browse entry point for mapping tables of priority values and their application labels. It is formally defined in Table 39. All instances of the PriorityMappingTableType shall be referenced from this Object, either directly or indirectly, following hierarchical References.

Table 38 – MappingTables definition

Attribute

Value

BrowseName

MappingTables

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Conformance Units

BNM Mapping Entry Points

The NetworkInterfaces Object shall be used as the browse entry point for network interfaces of the device the Server is running on. It is formally defined in Table 39.

Table 39 – NetworkInterfaces definition

Attribute

Value

BrowseName

NetworkInterfaces

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Conformance Units

BNM Entry Points

The NetworkInterfaces folder is intended to hold instances, which are of IetfBaseNetworkInterfaceType  or a subtype of it. However other Objects can be stored within this folder that implement the UA Interface IIetfBaseNetworkInterfaceType.

All Objects of Type IetfBaseNetworkInterfaceType within the NetworkInterfaces folder shall represent either a physical or virtual network interface.

The Streams Object shall be used as the browse entry point for network streams of the device the Server is running on. It is formally defined in Table 40.

Table 40 – Streams definition

Attribute

Value

BrowseName

Streams

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Organizes

Object

TalkerStreams

Defined in 5.4.6

Organizes

Object

ListenerStreams

Defined in 5.4.7

Conformance Units

BNM TSN Entry Points

The TalkerStreams Object shall be used as the browse entry point for sending network streams of the device the Server is running on. It is formally defined in Table 41.

Table 41 – TalkerStreams definition

Attribute

Value

BrowseName

TalkerStreams

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Conformance Units

BNM TSN Entry Points

The ListenerStreams Object shall be used as the browse entry point for receiving network streams of the device the Server is running on. It is formally defined in Table 42.

Table 42 – ListenerStreams definition

Attribute

Value

BrowseName

ListenerStreams

References

NodeClass

BrowseName

Comment

HasTypeDefinition

ObjectType

FolderType

Conformance Units

BNM TSN Entry Points

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

Table 43 – 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 (see IETF RFC 2863: The Interfaces Group MIB).

For the formal definition of AdminStatus, OperStatus, PhysAddress and Speed please refer to section 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”.

Note: 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 44.

Table 44 – 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 45.

Table 45 – 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 46.

Table 46 – 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 may 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 may 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 47 and Table 49 specify the Arguments and AddressSpace representation, respectively.

Signature 

AddPriorityMappingEntry(

[in] String MappingUri,

[in] String PriorityLabel,

[in] Byte PriorityValue_PCP,

[in] UInt32 PriorityValue_DSCP

);

Table 47 – 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 48.

Table 48 – 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 49 – 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 50 and Table 52 specify the Arguments and AddressSpace representation, respectively.

Signature

DeletePriorityMappingEntry(

[in] String MappingUri,

[in] String PriorityLabel

);

Table 50 – 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 51.

Table 51 – 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 52 – DeletePriorityMappingEntry Method AddressSpace definition

Attribute

Value

BrowseName

DeletePriorityMappingEntry

References

Node Class

BrowseName

DataType

TypeDefinition

Other

HasProperty

Variable

InputArguments

Argument[]

PropertyType

M

The UsesPriorityMappingTable ReferenceType is a concrete ReferenceType and can be used directly. It is a subtype of NonHierarchicalReferences ReferenceType.

The SourceNode of this ReferenceType shall be an Object implementing the IIetfBaseNetworkInterfaceType or an Object of Type IetfBaseNetworkInterfaceType. Each Node shall be the SourceNode of at most one UsesPriorityMappingTable Reference.

The TargetNode of this ReferenceType shall be an instance of PriorityMappingTableType.

The UsesPriorityMappingTable ReferenceType is formally defined in Table 53.

Table 53 – UsesPriorityMappingTable definition

Attributes

Value

BrowseName

UsesPriorityMappingTable

InverseName

UsedByNetworkInterface

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

Subtype of the NonHierarchicalReferences ReferenceType defined in OPC 10000-5

Conformance Units

BNM Priority Mapping 2

The HasLowerLayerInterface ReferenceType is a concrete ReferenceType and can be used directly. It is a subtype of HierarchicalReferences ReferenceType.

The usage of the References is following the YANG modelling approach which is using reference pointers in the YANG-interface nodes to point to other interface nodes in lower or higher layers (“lower-layer-if”, “higher-layer-if”); see also RFC 8343.

Virtual interfaces shall reference their physical interfaces with the HasLowerLayerInterfaceReferenceType. Annex Annex A contains examples for such hierarchical references.

The SourceNode of this ReferenceType shall be an Object organized in the NetworkInterfaces folder.

The TargetNode of this ReferenceType shall be an Object organized in the NetworkInterfaces folder.

The HasLowerLayerInterface ReferenceType is formally defined in Table 54.

Table 54 – HasLowerLayerInterface definition

Attributes

Value

BrowseName

HasLowerLayerInterface

InverseName

HasHigherLayerInterface

Symmetric

False

IsAbstract

False

References

NodeClass

BrowseName

Comment

Subtype of the HierarchicalReferences ReferenceType defined in OPC 10000-5

Conformance Units

BNM IETF Interface Base Info