NAME

  ShutCompWithBadTag.seq - SHUTDOWN-COMPLETE chunk is received with invalid Verification Tag


PURPOSE

  To check that if SHUTDOWN-COMPLETE is received chunk with invalid
  Verification Tag, the endpoint should silently discard the packet
  and take no further action.


SYNOPSIS

  ./ShutCompWithBadTag.seq [-tooloption ...] -pkt ./ShutCompWithBadTag.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 
  the data in endpoint A such that an SHUTDOWN-COMPLETE message
  is sent to endpoint B containing invalid Verification Tag.


TEST PROCEDURE

  Endpoint A                           Endpoint B                ULP
  (ESTABLISHED)                        (ESTABLISHED)
  SHUTDOWN            -------------->
                      <--------------   SHUTDOWN-ACK
  SHUTDOWN-COMPLETE   -------------->   Silently discard
  (with invalid tag and T-bit set to 0)
                      <--------------   SHUTDOWN-ACK
  SHUTDOWN-COMPLETE   -------------->   Silently discard
  (with invalid tag and T-bit set to 1)
                      <--------------   SHUTDOWN-ACK
  SHUTDOWN-COMPLETE   -------------->   Association is removed
                                        Communication Lost  --------->
  TEST DESCRIPTION:
  1. Attempt to terminate an association between endpoint A and endpoint 
     B by sending SHUTDOWN-COMPLETE message.
  2. SHUTDOWN-COMPLETE message is sent with invalid Verification Tag and
     T-bit set to 0.
  3. Check A: SHUTDOWN-ACK message is sent again and association is not
     removed.
  4. SHUTDOWN-COMPLETE message is sent with invalid Verification Tag and
     T-bit set to 1.
  5. Check B: SHUTDOWN-ACK message is sent again and association is not
     removed.


NOTE

  None


REFERENCE

  RFC 4960
  8.5.1.  Exceptions in Verification Tag Rules
    C) Rules for packet carrying SHUTDOWN COMPLETE:
    -   When sending a SHUTDOWN COMPLETE, if the receiver of the SHUTDOWN
        ACK has a TCB, then the destination endpoint's tag MUST be used,
        and the T bit MUST NOT be set.  Only where no TCB exists should
        the sender use the Verification Tag from the SHUTDOWN ACK, and
        MUST set the T bit.
    -   The receiver of a SHUTDOWN COMPLETE shall accept the packet if
        the Verification Tag field of the packet matches its own tag and
        the T bit is not set OR if it is set to its peer's tag and the T
        bit is set in the Chunk Flags.  Otherwise, the receiver MUST
        silently discard the packet and take no further action.  An
        endpoint MUST ignore the SHUTDOWN COMPLETE if it is not in the
        SHUTDOWN-ACK-SENT state.