2.2.17 ADAPTER2

The ADAPTER2 structure contains information about a single network adapter on the system.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

Adapter2IdentifierLength

Adapter2Identifier

DescriptionLength

Description (variable)

...

FriendlyNameLength

FriendlyName (variable)

...

NameLength

Name (variable)

...

NumberOfPrefixes

Prefix (variable)

...

PhysicalAddressLength

PhysicalAddress (variable)

...

NumberOfAddresses

Address (128 bytes)

...

...

...

NumberOfGatewayAddresses

GatewayAddress (128 bytes)

...

...

InterfaceIndex

AdapterType

TunnelType

OperStatus

DhcpEnabled

InternalNetwork

ClusterAdapter

ConnectedToiSCSI

LinkSpeed

...

RdmaCapable

RssCapable

Adapter2IdentifierLength (2 bytes): An unsigned short that MUST be the value 0x0002.

Adapter2Identifier (2 bytes): An unsigned short that MUST be the value 0x227B.

DescriptionLength (2 bytes): An unsigned short that MUST contain the size, in bytes, of the Description field.

Description (variable): A user-friendly description of the adapter, the value of which is implementation-specific. The string SHOULD be unique within the set of ADAPTER2s in an ADAPTERLIST2. This field MUST be a Unicode string without a terminating null character.

FriendlyNameLength (2 bytes): An unsigned short that MUST contain the size, in bytes, of the FriendlyName field.

FriendlyName (variable): A user-friendly name to identify the adapter, the value of which is implementation-specific. The string MUST be unique within the set of ADAPTER2s in an ADAPTERLIST2. This field MUST be a Unicode string without a terminating null character.

NameLength (2 bytes): An unsigned short that MUST contain the size, in bytes, of the Name field.

Name (variable): The name that the adapter identifies itself as, the value of which is implementation-specific. The string MUST be unique within the set of ADAPTER2s in an ADAPTERLIST2. This field MUST be a Unicode string without a terminating null character.

NumberOfPrefixes (2 bytes): An unsigned short that MUST be the number of elements in the Prefix field.

Prefix (variable): This field MUST be a valid IPPREFIX structure. Contains the associated prefix lengths for the addresses of the adapter listed in the Address field.

PhysicalAddressLength (2 bytes): An unsigned short that MUST contain the size, in bytes, of the PhysicalAddress field.

PhysicalAddress (variable): This field MUST be a Unicode string without a terminating null character. The value of the string is the string representation in hexadecimal of the Media Access Control (MAC) address of the adapter. If the AdapterType field is IF_TYPE_ETHERNET_CSMACD (0x00000006), this string MUST be in the form "AA-BB-CC-DD-EE-FF", where AA is the 2-byte hexadecimal representation of the first byte of the MAC address, BB is the 2-byte representation of the second byte of the MAC address, and continuing in like fashion to the end of the string, where FF is the 2-byte representation of the sixth byte of the MAC address. Alphabetic characters (A–F) in the hexadecimal representations MUST be capitalized. If the AdapterType field is some value other than IF_TYPE_ETHERNET_CSMACD, then the same form is used. If the MAC address has fewer than 8 bytes, the server SHOULD treat bytes beyond the length of the MAC address as 0x00.

NumberOfAddresses (2 bytes): An unsigned short that MUST be the number of elements in the Address field.

Address (128 bytes): The addresses of the adapter. This field MUST be laid out as a sockaddr_in or sockaddr_in6 structure as specified in [RFC2553]. The remaining bytes SHOULD be set to 0x00.

NumberOfGatewayAddresses (2 bytes): An unsigned short that MUST be the number of elements in the GatewayAddress field.

GatewayAddress (128 bytes): The addresses of the network gateway. This field MUST be laid out as a sockaddr_in or sockaddr_in6 structure as specified in [RFC2553]. The remaining bytes SHOULD be set to 0x00.

InterfaceIndex (4 bytes): The client MUST ignore this value.

AdapterType (4 bytes): A constant that describes the adapter type. This field MUST be one of the values specified by the Internet Assigned Numbers Authority (IANA) [IANAifType].

TunnelType (4 bytes): A constant that describes the type of tunnel protocol that the adapter supports. This field MUST be one of the values defined by the IANA [IANAifType] or 0.

Value

Meaning

1 — 15

A tunnel type defined by IANA [IANAifType].

TUNNEL_TYPE_NONE

0

A tunnel type was not specified.

OperStatus (4 bytes): A number representing the status of the adapter. MUST be one of the values defined in [RFC2863].

DhcpEnabled (1 byte): This field MUST be set to 0x01 if the adapter is enabled for Dynamic Host Configuration Protocol (DHCP); otherwise, the value MUST be 0x00.

Value

Meaning

0x01

The adapter is enabled for DHCP.

0x00

The adapter is not enabled for DHCP.

InternalNetwork (1 byte): This field MUST be set to 0x01 if the adapter is recommended by the implementation to be suitable as a private network; otherwise, the value MUST be set to 0x00. A private network is specified in [MS-CMRP] section 3.1.1.7. The algorithm to determine private network suitability is implementation-specific.

Value

Meaning

0x01

The adapter is recommended by the implementation to be suitable as a private network.

0x00

The adapter is not recommended by the implementation to be suitable as a private network.

ClusterAdapter (1 byte): This field MUST be set to 0x01 if the adapter is determined to be a cluster adapter; otherwise, the value MUST be set to 0x00. A cluster adapter is a virtual adapter managed by the cluster software but is not a cluster network interface as specified in [MS-CMRP]. In a given ADAPTERLIST2, there SHOULD be exactly one ADAPTER2 with ClusterAdapter set to 0x01.

Value

Meaning

0x01

The adapter is a cluster adapter.

0x00

The adapter is not a cluster adapter.

ConnectedToiSCSI (1 byte): This field MUST be set to 0x01 if the server is configured to use the adapter to fulfill the Initiator role in the iSCSI protocol.

Value

Meaning

0x01

The server is configured to use the adapter to fulfill the Initiator role in the iSCSI protocol.

0x00

The server is not configured to use the adapter to fulfill the Initiator role in the iSCSI protocol.

LinkSpeed (8 bytes): This field MUST be set to the number of bytes per second the server can transmit and receive using the adapter.

RdmaCapable (1 byte): This field MUST be set to 0x01 if the adapter is recommended by the implementation for efficiency in transfer of large data payloads, such as for Remote Direct Memory Access. The algorithm by which a server implementation determines whether an adapter is recommended for efficiency in transfer of large data payloads is implementation-specific.

Value

Meaning

0x01

The adapter is recommended by the implementation for efficiency in transfer of large data payloads.

0x00

The adapter is not recommended by the implementation for efficiency in transfer of large data payloads.

RssCapable (1 byte): This field MUST be set to 0x01 if the adapter is recommended by the implementation for efficiency in processing received data across multiple processors. The algorithm by which a server implementation determines whether an adapter is recommended for efficiency in processing received data across multiple processors is implementation-specific.

Value

Meaning

0x01

The adapter is recommended by the implementation for efficiency in processing received data across multiple processors.

0x00

The adapter is not recommended by the implementation for efficiency in processing received data across multiple processors.