3.1.5.1.2 Receiving an ACK Packet

When an ACK packet is received, the following applies:

  • If the value of the WNDW field of the ACK packet is greater than the value of the HighWaterForSend variable of the Session object, the receiver of the ACK packet MUST do the following:

    • If there are any packets waiting to be sent, as specified in section 3.1.4.3, the SMP layer sends the packets to its peer, up to and including the value defined by the WNDW field.

    • Set the value of the HighWaterForSend variable to that of the WNDW field.

  • If an ACK packet is received in the FIN RECEIVED state, an error SHOULD be raised to the higher layer and the underlying transport connection SHOULD be closed.

  • If the value of the SEQNUM field of the ACK packet is not equal to the value of the SeqNumForRecv variable of the Session object, an error is raised to the higher layer and the underlying transport connection is closed.