AsconfWithZeroParamLen.seq - ASCONF chunk is received with parameter length set to zero
To check if ASCONF chunk is received with parameter length set to
zero then the receiver MUST send ABORT with the error cause set to
the error code 'Protocol Violation'.
./AsconfWithZeroParamLen.seq [-tooloption ...] -pkt ./AsconfWithZeroParamLen.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 the data
in endpoint A such that ASCONF chunk with parameter length set to zero
is sent to endpoint B.
Endpoint A Endpoint B ULP
(ESTABLISHED) (ESTABLISHED)
ASCONF ---------------->
(with parameter length set to zero)
<----------------- ABORT
(Protocol Violation)
TEST DESCRIPTION:
1. Send ASCONF chunk from endpoint A to B with parameter length set
to zero.
2. Check A: ABORT with error code 'Protocol Violation' should be
received at endpoint A.
None
RFC 5061
4.1.1. Address Configuration Change Chunk (ASCONF)
This chunk is used to communicate to the remote endpoint one of the
configuration change requests that MUST be acknowledged. The
information carried in the ASCONF Chunk uses the form of a Type-
Length-Value (TLV), as described in "3.2.1 Optional/Variable-length
Parameter Format" in [I-D.ietf-tsvwg-2960bis] for all variable
parameters. This chunk MUST be sent in an authenticated way by using
the mechanism defined in [I-D.ietf-tsvwg-sctp-auth]. If this chunk
is received unauthenticated it MUST be silently discarded as
described in [I-D.ietf-tsvwg-sctp-auth].
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type = 0xC1 | Chunk Flags | Chunk Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address Parameter |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ASCONF Parameter #1 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
\ \
/ .... /
\ \
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ASCONF Parameter #N |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Sequence Number : 32 bits (unsigned integer)
This value represents a Sequence Number for the ASCONF Chunk. The
valid range of Sequence Number is from 0 to 4294967295 (2**32 - 1).
Sequence Numbers wrap back to 0 after reaching 4294967295.
Address Parameter : 8 or 20 bytes (depending on the address type)
This field contains an address parameter, either IPv6 or IPv4, from
[I-D.ietf-tsvwg-2960bis]. The address is an address of the sender of
the ASCONF Chunk, the address MUST be considered part of the
association by the peer endpoint (the receiver of the ASCONF Chunk).
This field may be used by the receiver of the ASCONF to help in
finding the association. If the address 0.0.0.0 or ::0 is provided
the receiver MAY lookup the association by other information provided
in the packet. This parameter MUST be present in every ASCONF
message, i.e. it is a mandatory TLV parameter.
Note: the host name address MUST NOT be sent and MUST be ignored if
received in any ASCONF message.
It should be noted that the ASCONF Chunk format requires the receiver
to report to the sender if it does not understand the ASCONF Chunk.
This is accomplished by setting the upper bits in the chunk type as
described in [I-D.ietf-tsvwg-2960bis]. section 3.2. Note that the
upper two bits in the ASCONF Chunk are set to one. As defined in
[I-D.ietf-tsvwg-2960bis] section 3.2, when setting these upper bits
in this manner the receiver that does not understand this chunk MUST
skip the chunk and continue processing, and report in an Operation
Error Chunk using the 'Unrecognized Chunk Type' cause of error. This
will NOT abort the association but indicates to the sender that it
MUST not send any further ASCONF chunks.
ASCONF Parameter: TLV format
Each Address configuration change is represented by a TLV parameter
as defined in Section 4.2. One or more requests may be present in an
ASCONF Chunk.