GEN_InvalidStreamIdent.seq - Generation of error cause Invalid Stream Identifier
To check that if DATA chunk is received with an invalid stream identifier, the
endpoint should immediately send an ERROR chunk with cause set to "Invalid
Stream Identifier" and discard the DATA chunk.
./GEN_InvalidStreamIdent.seq [-tooloption ...] -pkt ./GEN_InvalidStreamIdent.def
-tooloption : v6eval tool option
See Also: ../common/STD_PKT_COMMON.def
../common/SCTP_COMMON.def
Association is established between endpoint A and B. Arrange data
in endpoint A such that DATA chunk with invalid stream identifier
is sent to endpoint B.
Endpoint A Endpoint B ULP
(ESTABLISHED) (ESTABLISHED)
DATA ----------------->
(with Invalid Stream Identifier)
<----------------- ERROR
Invalid Stream Identifier)
TEST DESCRIPTION:
1. Send DATA chunk from endpoint A to B with invalid stream
identifier.
2. Check A: ERROR should be received at endpoint A.
3. Check B: Error cause in ERROR is set to "Invalid Stream
Identifier".
4. Check C: SACK should be received at endpoint A.
None
RFC 4960
3.3.10.1. Invalid Stream Identifier (1)
Cause of error
---------------
Invalid Stream Identifier: Indicates endpoint received a DATA chunk
sent to a nonexistent stream.
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Cause Code=1 | Cause Length=8 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Stream Identifier | (Reserved) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Stream Identifier: 16 bits (unsigned integer)
Contains the Stream Identifier of the DATA chunk received in
error.
Reserved: 16 bits
This field is reserved. It is set to all 0's on transmit and
ignored on receipt.
6.5. Stream Identifier and Stream Sequence Number
Every DATA chunk MUST carry a valid stream identifier. If an
endpoint receives a DATA chunk with an invalid stream identifier, it
shall acknowledge the reception of the DATA chunk following the
normal procedure, immediately send an ERROR chunk with cause set to
"Invalid Stream Identifier" (see Section 3.3.10), and discard the
DATA chunk. The endpoint may bundle the ERROR chunk in the same
packet as the SACK as long as the ERROR follows the SACK.
The Stream Sequence Number in all the streams MUST start from 0 when
the association is established. Also, when the Stream Sequence
Number reaches the value 65535 the next Stream Sequence Number MUST
be set to 0.