The IetfBaseNetworkInterfaceTypedefines the core set of properties needed to model a network interface based on the definition provided by IETF. Figure 4illustrates the structure of the IetfBaseNetworkInterfaceType.

image007.png

Figure 4– IetfBaseNetworkInterfaceType

The IetfBaseNetworkInterfaceTypeis 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 BrowseNameof this Objectshall 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, PhysAddressand Speedplease refer to section 5.2.1.

The HasLowerLayerInterface Referencepoints to an Objectimplementing the IIetfBaseNetworkInterfaceTypeused 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 IetfBaseNetworkInterfaceTypeshall point to zero or one instance of PriorityMappingTableTypeor a subtypeusing a UsesProrityMappingTable Referenceor 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 IetfBaseNetworkInterfaceTypehas no reference to a PriorityMappingTable, the PriorityMappingTable of the next lower layer interface of type IetfBaseNetworkInterfaceTypeshall be used. An example for this is shown in Annex A.2for “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 BrowseNameof the object of type IetfBaseNetworkInterfaceType.

Note: An example for a simplified PubSub connection is shown in Annex A.2.

The components of the IetfBaseNetworkInterfaceTypehave the Attributevalues 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 IetfBaseNetworkInterfaceTypehave additional Referenceswhich 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 5illustrates the structure of the PriorityMappingTableType.

image008.png

Figure 5– PriorityMappingTableType

The PriorityMappingTableTypeis 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 MappingUriand PriorityLabel.

The combination of QosCategoryand PriorityLabelare used as indices into the referenced PriorityMappingTableto look up the priority values. The reference from an IetfBaseNetworkInterfaceis 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 WriterGroupmay contain a QosCategoryand DatagramQosstructure with a PriorityLabel. For the subscriber side these values are specified on the DataSetReaderlevel.

AddPriorityMappingEntryallows to add an entry to this instance of PriorityMappingTableType.

DeletePriorityMappingEntryallows to delete an entry from this instance of PriorityMappingTableType.

This optional Methodallows to add an entry to this instance of PriorityMappingTableType. If the combination of MappingUriand PriorityLabeldoes not exist yet, the element will be added to the Variable PriorityMappingEntries.

The signature of this Methodis specified below. Table 47and Table 49specify the Argumentsand AddressSpacerepresentation, 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_PCPshall be a value between 0 and 7.The value 0xFF indicates to omit the PriorityValue_PCPfrom the entry.

PriorityValue_DSCP

PriorityValue_DSCPshall be a value between 0 and 63.The value 0xFFFFFFFF indicates to omit the PriorityValue_PCPfrom 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 MappingUriand PriorityLabelalready 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 Methodallows to delete an entry from this instance of PriorityMappingTableType.

The signature of this Method is specified below. Table 50and Table 52specify 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 BrowseNamefor 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