diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2009-04-07 03:44:29 -0400 |
---|---|---|
committer | Vlad Yasevich <vladislav.yasevich@hp.com> | 2009-06-03 09:14:45 -0400 |
commit | a987f762cafb25c0fedf88f15e328edd897210ed (patch) | |
tree | 0657be9f57f4d4ab647556d84039385b714de5e9 /net/sctp/sm_make_chunk.c | |
parent | a84db7949eab7a42e715192f62c55c554e195e54 (diff) |
sctp: fix report unrecognized parameter in ACSONF-ACK
RFC5061 Section 5.2. Upon Reception of an ASCONF Chunk
V2) In processing the chunk, the receiver should build a
response message with the appropriate error TLVs, as
specified in the Parameter type bits, for any ASCONF
Parameter it does not understand. To indicate an
unrecognized parameter, Cause Type 8 should be used as
defined in the ERROR in Section 3.3.10.8, [RFC4960]. The
endpoint may also use the response to carry rejections for
other reasons, such as resource shortages, etc., using the
Error Cause TLV and an appropriate error condition.
So we should indicate an unrecognized parameter with error
SCTP_ERROR_UNKNOWN_PARAM in ACSONF-ACK chunk, not
SCTP_ERROR_INV_PARAM.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp/sm_make_chunk.c')
-rw-r--r-- | net/sctp/sm_make_chunk.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index 6851ee94e974..c78e31b2e960 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c | |||
@@ -2959,7 +2959,7 @@ static __be16 sctp_process_asconf_param(struct sctp_association *asoc, | |||
2959 | sctp_assoc_set_primary(asoc, peer); | 2959 | sctp_assoc_set_primary(asoc, peer); |
2960 | break; | 2960 | break; |
2961 | default: | 2961 | default: |
2962 | return SCTP_ERROR_INV_PARAM; | 2962 | return SCTP_ERROR_UNKNOWN_PARAM; |
2963 | break; | 2963 | break; |
2964 | } | 2964 | } |
2965 | 2965 | ||
@@ -3273,7 +3273,7 @@ int sctp_process_asconf_ack(struct sctp_association *asoc, | |||
3273 | retval = 1; | 3273 | retval = 1; |
3274 | break; | 3274 | break; |
3275 | 3275 | ||
3276 | case SCTP_ERROR_INV_PARAM: | 3276 | case SCTP_ERROR_UNKNOWN_PARAM: |
3277 | /* Disable sending this type of asconf parameter in | 3277 | /* Disable sending this type of asconf parameter in |
3278 | * future. | 3278 | * future. |
3279 | */ | 3279 | */ |