3.1.1 Abstract Data Model

This section describes a conceptual model that an implementation can maintain to participate in this protocol. The described organization is provided to facilitate the explanation of how the protocol behaves. This document does not mandate that implementations adhere to this model, as long as their external behavior is consistent with that described in this document.

RRASM protocol provides the remoting capability to the underlying RRAS implementation's management objects and methods. The following data variables affect the protocol behavior.

RouterType: This 4-byte variable specifies the currently defined RRAS role type. It is a combination of the flags as specified under section 2.2.3.4.1. As a part of the initialization, the RRAS server specifies this value for the RRASM server to initialize with Start DIMSVC, as defined in section 3.1.6. This value remains the same and will be refreshed only when the RRASM server is shut down and initialized again.

SupportedTransportsList: This specifies the list of transport identifiers that are supported by RRAS. As a part of the initialization, RRAS specifies this value for the RRASM server to initialize with Start DIMSVC as defined in section 3.1.6. This list remains static and will be refreshed only when the RRASM server is shut down and initialized again. Each transport identifier is a 4-byte value and can be one of the following values.<248>

Value

Meaning

PID_IPX

0x0000002B

IPX protocol

PID_IP

0x00000021

IPv4 protocol

PID_IPV6

0x00000057

IPv6 protocol

PhonebookEntryNameList: This specifies the list of phonebook entry names (section 2.2.2.1). The RRASM server loads the phonebook file and regenerates this list when any of the following methods are called:

RRouterInterfaceCreate (section 3.1.4.13)

RRouterInterfaceGetInfo (section 3.1.4.14)

RRouterInterfaceSetInfo (section 3.1.4.15)

RasRpcDeleteEntry (section 3.3.4.1)

InterfaceList: This specifies the list of interfaces configured in the RRAS server. Each entry in this list is comprised of an interface name of type LPWSTR and an interface handle of type DWORD. This list is populated using the InterfaceName registry value (section 2.2.3.2.1.1) for each interface as specified in section 2.2.3.2. As a part of the initialization, RRAS specifies this list with the interface name and handle specified for each entry. The interface handle is an opaque value for RRASM. This list is specified as a part of Start DIMSVC as defined in section 3.1.6. This list is updated when the following methods are called:

RRouterInterfaceCreate (section 3.1.4.13)

RRouterInterfaceDelete (section 3.1.4.16)

There are no additional states maintained by RRASM other than those maintained by [MS-RPCE].