NAME

  SackWithBadTag.seq - SACK chunk is received with invalid Verification Tag


PURPOSE

  To check that if SACK chunk is received with invalid Verification
  Tag, the endpoint should silently discard the packet.


SYNOPSIS

  ./SackWithBadTag.seq [-tooloption ...] -pkt ./SackWithBadTag.def
    -tooloption : v6eval tool option
  See Also: ../common/STD_PKT_COMMON.def
            ../common/SCTP_COMMON.def


PRE-TEST CONDITION

  Association is established between endpoint A and B. Arrange data 
  in endpoint A such that SACK chunk with invalid Verification Tag
  is sent to endpoint B.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
                  <------------------    DATA
  SACK            ------------------>    Silently discard
  (with invalid Verification Tag)
                  <------------------    DATA (retransmit)
  SACK            ------------------>
  TEST DESCRIPTION:
  1. Send DATA from endpoint B to endpoint A. Send SACK message (in
     response to DATA) with verification tag value different from
     received in DATA.
     Record the message sequence using a signal emulator.
  2. Check A: SACK message is silently discarded.
  3. Check B: Was the message sequence as above.


NOTE

  None


REFERENCE

  RFC 4960
  8.5.  Verification Tag
    The Verification Tag rules defined in this section apply when sending
    or receiving SCTP packets that do not contain an INIT, SHUTDOWN
    COMPLETE, COOKIE ECHO (see Section 5.1), ABORT, or SHUTDOWN ACK
    chunk.  The rules for sending and receiving SCTP packets containing
    one of these chunk types are discussed separately in Section 8.5.1.
    When sending an SCTP packet, the endpoint MUST fill in the
    Verification Tag field of the outbound packet with the tag value in
    the Initiate Tag parameter of the INIT or INIT ACK received from its
    peer.
    When receiving an SCTP packet, the endpoint MUST ensure that the
    value in the Verification Tag field of the received SCTP packet
    matches its own tag.  If the received Verification Tag value does not
    match the receiver's own tag value, the receiver shall silently
    discard the packet and shall not process it any further except for
    those cases listed in Section 8.5.1 below.