2.2.7 Ping Packet

The Ping Packet is used by Ping Messages (section 2.1.2) to allow an initiator to determine whether an acceptor is available and can accept a binary protocol sequence connection.


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

Flags

Signature

Cookie

QMGuid (16 bytes)

...

...

Flags (2 bytes): A 16-bit unsigned short integer field that provides additional information about the packet.

Fields marked X are unused. They MAY be set when sent. They MUST be ignored on receipt.<19>


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5

R

C

R

F

X

X

X

X

X

X

X

X

X

X

X

X

X

X

Where the bits are defined as:

Value

Description

RC

Specifies the type of the initiator. An initiator MUST set this field in a Ping Request, as defined in Ping Message (section 2.1.2), if the OperatingSystemType ADM attribute of the QueueManager ([MS-MQDMPR] section 3.1.1.1) ADM element is neither WinServer nor WinEnt; otherwise, this field MUST NOT be set. An acceptor MUST set this field in a Ping Response, as defined in Ping Message (section 2.1.2), to the value of this field in the Ping Request from the initiator.

RF

An acceptor MUST set this field in a Ping Response if it would currently refuse a protocol session over TCP or SPX from this initiator; otherwise, the field MUST be clear if a protocol session would be accepted. An initiator MUST clear this field in a Ping Request.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

X

Unused bit field. MAY be set when sent and MUST be ignored on receipt.

Signature (2 bytes): A 16-bit unsigned short integer field that identifies the packet as a Ping Message packet. This value MUST be set to 0x5548. A receiver MUST ignore the packet if the signature is not set to this value.

Cookie (4 bytes): A 32-bit unsigned long integer that specifies a value used to correlate Ping Requests and Ping Responses. This value is generated by the initiator to uniquely identify the Ping Request. This field has a valid range from 0x00000000 to 0xFFFFFFFF.

When sending a Ping Response, an acceptor MUST set this field to the Cookie field value from the received Ping Request. When an initiator receives a Ping Response, it uses the Cookie field to correlate it to a Ping Request. An initiator MUST disregard a Ping Response that contains a Cookie field that does not correspond to the Cookie field in the most recent Ping Request that it has sent.

QMGuid (16 bytes): The GUID ([MS-DTYP] section 2.3.4.1) that identifies the queue manager where this packet was created, which is the initiator for Ping Requests and the acceptor for Ping Responses.