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