diff options
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r-- | net/sctp/sm_statefuns.c | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 1c42fe983a5b..27cc444aaf11 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c | |||
@@ -93,7 +93,7 @@ static sctp_disposition_t sctp_sf_shut_8_4_5(const struct sctp_endpoint *ep, | |||
93 | static struct sctp_sackhdr *sctp_sm_pull_sack(struct sctp_chunk *chunk); | 93 | static struct sctp_sackhdr *sctp_sm_pull_sack(struct sctp_chunk *chunk); |
94 | 94 | ||
95 | static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, | 95 | static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, |
96 | __u16 error, int sk_err, | 96 | __be16 error, int sk_err, |
97 | const struct sctp_association *asoc, | 97 | const struct sctp_association *asoc, |
98 | struct sctp_transport *transport); | 98 | struct sctp_transport *transport); |
99 | 99 | ||
@@ -443,7 +443,7 @@ sctp_disposition_t sctp_sf_do_5_1C_ack(const struct sctp_endpoint *ep, | |||
443 | __u32 init_tag; | 443 | __u32 init_tag; |
444 | struct sctp_chunk *err_chunk; | 444 | struct sctp_chunk *err_chunk; |
445 | struct sctp_packet *packet; | 445 | struct sctp_packet *packet; |
446 | __u16 error; | 446 | sctp_error_t error; |
447 | 447 | ||
448 | if (!sctp_vtag_verify(chunk, asoc)) | 448 | if (!sctp_vtag_verify(chunk, asoc)) |
449 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); | 449 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); |
@@ -886,7 +886,7 @@ sctp_disposition_t sctp_sf_sendbeat_8_3(const struct sctp_endpoint *ep, | |||
886 | SCTP_ERROR(ETIMEDOUT)); | 886 | SCTP_ERROR(ETIMEDOUT)); |
887 | /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ | 887 | /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ |
888 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 888 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
889 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 889 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
890 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 890 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
891 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 891 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
892 | return SCTP_DISPOSITION_DELETE_TCB; | 892 | return SCTP_DISPOSITION_DELETE_TCB; |
@@ -2138,7 +2138,7 @@ static sctp_disposition_t sctp_sf_do_5_2_6_stale(const struct sctp_endpoint *ep, | |||
2138 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 2138 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
2139 | SCTP_ERROR(ETIMEDOUT)); | 2139 | SCTP_ERROR(ETIMEDOUT)); |
2140 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 2140 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
2141 | SCTP_U32(SCTP_ERROR_STALE_COOKIE)); | 2141 | SCTP_PERR(SCTP_ERROR_STALE_COOKIE)); |
2142 | return SCTP_DISPOSITION_DELETE_TCB; | 2142 | return SCTP_DISPOSITION_DELETE_TCB; |
2143 | } | 2143 | } |
2144 | 2144 | ||
@@ -2158,7 +2158,7 @@ static sctp_disposition_t sctp_sf_do_5_2_6_stale(const struct sctp_endpoint *ep, | |||
2158 | * to give ample time to retransmit the new cookie and thus | 2158 | * to give ample time to retransmit the new cookie and thus |
2159 | * yield a higher probability of success on the reattempt. | 2159 | * yield a higher probability of success on the reattempt. |
2160 | */ | 2160 | */ |
2161 | stale = ntohl(*(suseconds_t *)((u8 *)err + sizeof(sctp_errhdr_t))); | 2161 | stale = ntohl(*(__be32 *)((u8 *)err + sizeof(sctp_errhdr_t))); |
2162 | stale = (stale * 2) / 1000; | 2162 | stale = (stale * 2) / 1000; |
2163 | 2163 | ||
2164 | bht.param_hdr.type = SCTP_PARAM_COOKIE_PRESERVATIVE; | 2164 | bht.param_hdr.type = SCTP_PARAM_COOKIE_PRESERVATIVE; |
@@ -2250,7 +2250,7 @@ sctp_disposition_t sctp_sf_do_9_1_abort(const struct sctp_endpoint *ep, | |||
2250 | { | 2250 | { |
2251 | struct sctp_chunk *chunk = arg; | 2251 | struct sctp_chunk *chunk = arg; |
2252 | unsigned len; | 2252 | unsigned len; |
2253 | __u16 error = SCTP_ERROR_NO_ERROR; | 2253 | __be16 error = SCTP_ERROR_NO_ERROR; |
2254 | 2254 | ||
2255 | if (!sctp_vtag_verify_either(chunk, asoc)) | 2255 | if (!sctp_vtag_verify_either(chunk, asoc)) |
2256 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); | 2256 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); |
@@ -2275,7 +2275,7 @@ sctp_disposition_t sctp_sf_do_9_1_abort(const struct sctp_endpoint *ep, | |||
2275 | 2275 | ||
2276 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(ECONNRESET)); | 2276 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(ECONNRESET)); |
2277 | /* ASSOC_FAILED will DELETE_TCB. */ | 2277 | /* ASSOC_FAILED will DELETE_TCB. */ |
2278 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, SCTP_U32(error)); | 2278 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, SCTP_PERR(error)); |
2279 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 2279 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
2280 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 2280 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
2281 | 2281 | ||
@@ -2295,7 +2295,7 @@ sctp_disposition_t sctp_sf_cookie_wait_abort(const struct sctp_endpoint *ep, | |||
2295 | { | 2295 | { |
2296 | struct sctp_chunk *chunk = arg; | 2296 | struct sctp_chunk *chunk = arg; |
2297 | unsigned len; | 2297 | unsigned len; |
2298 | __u16 error = SCTP_ERROR_NO_ERROR; | 2298 | __be16 error = SCTP_ERROR_NO_ERROR; |
2299 | 2299 | ||
2300 | if (!sctp_vtag_verify_either(chunk, asoc)) | 2300 | if (!sctp_vtag_verify_either(chunk, asoc)) |
2301 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); | 2301 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); |
@@ -2357,7 +2357,7 @@ sctp_disposition_t sctp_sf_cookie_echoed_abort(const struct sctp_endpoint *ep, | |||
2357 | * This is common code called by several sctp_sf_*_abort() functions above. | 2357 | * This is common code called by several sctp_sf_*_abort() functions above. |
2358 | */ | 2358 | */ |
2359 | static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, | 2359 | static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, |
2360 | __u16 error, int sk_err, | 2360 | __be16 error, int sk_err, |
2361 | const struct sctp_association *asoc, | 2361 | const struct sctp_association *asoc, |
2362 | struct sctp_transport *transport) | 2362 | struct sctp_transport *transport) |
2363 | { | 2363 | { |
@@ -2370,7 +2370,7 @@ static sctp_disposition_t sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, | |||
2370 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(sk_err)); | 2370 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, SCTP_ERROR(sk_err)); |
2371 | /* CMD_INIT_FAILED will DELETE_TCB. */ | 2371 | /* CMD_INIT_FAILED will DELETE_TCB. */ |
2372 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 2372 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
2373 | SCTP_U32(error)); | 2373 | SCTP_PERR(error)); |
2374 | return SCTP_DISPOSITION_ABORT; | 2374 | return SCTP_DISPOSITION_ABORT; |
2375 | } | 2375 | } |
2376 | 2376 | ||
@@ -2466,7 +2466,7 @@ sctp_disposition_t sctp_sf_do_9_2_shutdown(const struct sctp_endpoint *ep, | |||
2466 | * received by the SHUTDOWN sender. | 2466 | * received by the SHUTDOWN sender. |
2467 | */ | 2467 | */ |
2468 | sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_CTSN, | 2468 | sctp_add_cmd_sf(commands, SCTP_CMD_PROCESS_CTSN, |
2469 | SCTP_U32(chunk->subh.shutdown_hdr->cum_tsn_ack)); | 2469 | SCTP_BE32(chunk->subh.shutdown_hdr->cum_tsn_ack)); |
2470 | 2470 | ||
2471 | out: | 2471 | out: |
2472 | return disposition; | 2472 | return disposition; |
@@ -2545,6 +2545,7 @@ sctp_disposition_t sctp_sf_do_ecn_cwr(const struct sctp_endpoint *ep, | |||
2545 | { | 2545 | { |
2546 | sctp_cwrhdr_t *cwr; | 2546 | sctp_cwrhdr_t *cwr; |
2547 | struct sctp_chunk *chunk = arg; | 2547 | struct sctp_chunk *chunk = arg; |
2548 | u32 lowest_tsn; | ||
2548 | 2549 | ||
2549 | if (!sctp_vtag_verify(chunk, asoc)) | 2550 | if (!sctp_vtag_verify(chunk, asoc)) |
2550 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); | 2551 | return sctp_sf_pdiscard(ep, asoc, type, arg, commands); |
@@ -2556,14 +2557,14 @@ sctp_disposition_t sctp_sf_do_ecn_cwr(const struct sctp_endpoint *ep, | |||
2556 | cwr = (sctp_cwrhdr_t *) chunk->skb->data; | 2557 | cwr = (sctp_cwrhdr_t *) chunk->skb->data; |
2557 | skb_pull(chunk->skb, sizeof(sctp_cwrhdr_t)); | 2558 | skb_pull(chunk->skb, sizeof(sctp_cwrhdr_t)); |
2558 | 2559 | ||
2559 | cwr->lowest_tsn = ntohl(cwr->lowest_tsn); | 2560 | lowest_tsn = ntohl(cwr->lowest_tsn); |
2560 | 2561 | ||
2561 | /* Does this CWR ack the last sent congestion notification? */ | 2562 | /* Does this CWR ack the last sent congestion notification? */ |
2562 | if (TSN_lte(asoc->last_ecne_tsn, cwr->lowest_tsn)) { | 2563 | if (TSN_lte(asoc->last_ecne_tsn, lowest_tsn)) { |
2563 | /* Stop sending ECNE. */ | 2564 | /* Stop sending ECNE. */ |
2564 | sctp_add_cmd_sf(commands, | 2565 | sctp_add_cmd_sf(commands, |
2565 | SCTP_CMD_ECN_CWR, | 2566 | SCTP_CMD_ECN_CWR, |
2566 | SCTP_U32(cwr->lowest_tsn)); | 2567 | SCTP_U32(lowest_tsn)); |
2567 | } | 2568 | } |
2568 | return SCTP_DISPOSITION_CONSUME; | 2569 | return SCTP_DISPOSITION_CONSUME; |
2569 | } | 2570 | } |
@@ -3360,7 +3361,7 @@ sctp_disposition_t sctp_sf_do_asconf_ack(const struct sctp_endpoint *ep, | |||
3360 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 3361 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
3361 | SCTP_ERROR(ECONNABORTED)); | 3362 | SCTP_ERROR(ECONNABORTED)); |
3362 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 3363 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
3363 | SCTP_U32(SCTP_ERROR_ASCONF_ACK)); | 3364 | SCTP_PERR(SCTP_ERROR_ASCONF_ACK)); |
3364 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 3365 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
3365 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 3366 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
3366 | return SCTP_DISPOSITION_ABORT; | 3367 | return SCTP_DISPOSITION_ABORT; |
@@ -3388,7 +3389,7 @@ sctp_disposition_t sctp_sf_do_asconf_ack(const struct sctp_endpoint *ep, | |||
3388 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 3389 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
3389 | SCTP_ERROR(ECONNABORTED)); | 3390 | SCTP_ERROR(ECONNABORTED)); |
3390 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 3391 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
3391 | SCTP_U32(SCTP_ERROR_ASCONF_ACK)); | 3392 | SCTP_PERR(SCTP_ERROR_ASCONF_ACK)); |
3392 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 3393 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
3393 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 3394 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
3394 | return SCTP_DISPOSITION_ABORT; | 3395 | return SCTP_DISPOSITION_ABORT; |
@@ -3743,12 +3744,12 @@ static sctp_disposition_t sctp_sf_violation_chunklen( | |||
3743 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 3744 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
3744 | SCTP_ERROR(ECONNREFUSED)); | 3745 | SCTP_ERROR(ECONNREFUSED)); |
3745 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 3746 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
3746 | SCTP_U32(SCTP_ERROR_PROTO_VIOLATION)); | 3747 | SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION)); |
3747 | } else { | 3748 | } else { |
3748 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 3749 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
3749 | SCTP_ERROR(ECONNABORTED)); | 3750 | SCTP_ERROR(ECONNABORTED)); |
3750 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 3751 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
3751 | SCTP_U32(SCTP_ERROR_PROTO_VIOLATION)); | 3752 | SCTP_PERR(SCTP_ERROR_PROTO_VIOLATION)); |
3752 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 3753 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
3753 | } | 3754 | } |
3754 | 3755 | ||
@@ -4062,7 +4063,7 @@ sctp_disposition_t sctp_sf_do_9_1_prm_abort( | |||
4062 | SCTP_ERROR(ECONNABORTED)); | 4063 | SCTP_ERROR(ECONNABORTED)); |
4063 | /* Delete the established association. */ | 4064 | /* Delete the established association. */ |
4064 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4065 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4065 | SCTP_U32(SCTP_ERROR_USER_ABORT)); | 4066 | SCTP_PERR(SCTP_ERROR_USER_ABORT)); |
4066 | 4067 | ||
4067 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 4068 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
4068 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 4069 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
@@ -4199,7 +4200,7 @@ sctp_disposition_t sctp_sf_cookie_wait_prm_abort( | |||
4199 | SCTP_ERROR(ECONNREFUSED)); | 4200 | SCTP_ERROR(ECONNREFUSED)); |
4200 | /* Delete the established association. */ | 4201 | /* Delete the established association. */ |
4201 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 4202 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
4202 | SCTP_U32(SCTP_ERROR_USER_ABORT)); | 4203 | SCTP_PERR(SCTP_ERROR_USER_ABORT)); |
4203 | 4204 | ||
4204 | return retval; | 4205 | return retval; |
4205 | } | 4206 | } |
@@ -4571,7 +4572,7 @@ sctp_disposition_t sctp_sf_do_6_3_3_rtx(const struct sctp_endpoint *ep, | |||
4571 | SCTP_ERROR(ETIMEDOUT)); | 4572 | SCTP_ERROR(ETIMEDOUT)); |
4572 | /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ | 4573 | /* CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ |
4573 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4574 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4574 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4575 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4575 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 4576 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
4576 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 4577 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
4577 | return SCTP_DISPOSITION_DELETE_TCB; | 4578 | return SCTP_DISPOSITION_DELETE_TCB; |
@@ -4693,7 +4694,7 @@ sctp_disposition_t sctp_sf_t1_init_timer_expire(const struct sctp_endpoint *ep, | |||
4693 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 4694 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
4694 | SCTP_ERROR(ETIMEDOUT)); | 4695 | SCTP_ERROR(ETIMEDOUT)); |
4695 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 4696 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
4696 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4697 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4697 | return SCTP_DISPOSITION_DELETE_TCB; | 4698 | return SCTP_DISPOSITION_DELETE_TCB; |
4698 | } | 4699 | } |
4699 | 4700 | ||
@@ -4745,7 +4746,7 @@ sctp_disposition_t sctp_sf_t1_cookie_timer_expire(const struct sctp_endpoint *ep | |||
4745 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 4746 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
4746 | SCTP_ERROR(ETIMEDOUT)); | 4747 | SCTP_ERROR(ETIMEDOUT)); |
4747 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, | 4748 | sctp_add_cmd_sf(commands, SCTP_CMD_INIT_FAILED, |
4748 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4749 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4749 | return SCTP_DISPOSITION_DELETE_TCB; | 4750 | return SCTP_DISPOSITION_DELETE_TCB; |
4750 | } | 4751 | } |
4751 | 4752 | ||
@@ -4781,7 +4782,7 @@ sctp_disposition_t sctp_sf_t2_timer_expire(const struct sctp_endpoint *ep, | |||
4781 | SCTP_ERROR(ETIMEDOUT)); | 4782 | SCTP_ERROR(ETIMEDOUT)); |
4782 | /* Note: CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ | 4783 | /* Note: CMD_ASSOC_FAILED calls CMD_DELETE_TCB. */ |
4783 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4784 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4784 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4785 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4785 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 4786 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
4786 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 4787 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
4787 | return SCTP_DISPOSITION_DELETE_TCB; | 4788 | return SCTP_DISPOSITION_DELETE_TCB; |
@@ -4859,7 +4860,7 @@ sctp_disposition_t sctp_sf_t4_timer_expire( | |||
4859 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 4860 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
4860 | SCTP_ERROR(ETIMEDOUT)); | 4861 | SCTP_ERROR(ETIMEDOUT)); |
4861 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4862 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4862 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4863 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4863 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 4864 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
4864 | SCTP_INC_STATS(SCTP_MIB_CURRESTAB); | 4865 | SCTP_INC_STATS(SCTP_MIB_CURRESTAB); |
4865 | return SCTP_DISPOSITION_ABORT; | 4866 | return SCTP_DISPOSITION_ABORT; |
@@ -4915,7 +4916,7 @@ sctp_disposition_t sctp_sf_t5_timer_expire(const struct sctp_endpoint *ep, | |||
4915 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 4916 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
4916 | SCTP_ERROR(ETIMEDOUT)); | 4917 | SCTP_ERROR(ETIMEDOUT)); |
4917 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 4918 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
4918 | SCTP_U32(SCTP_ERROR_NO_ERROR)); | 4919 | SCTP_PERR(SCTP_ERROR_NO_ERROR)); |
4919 | 4920 | ||
4920 | return SCTP_DISPOSITION_DELETE_TCB; | 4921 | return SCTP_DISPOSITION_DELETE_TCB; |
4921 | nomem: | 4922 | nomem: |
@@ -5365,7 +5366,7 @@ static int sctp_eat_data(const struct sctp_association *asoc, | |||
5365 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, | 5366 | sctp_add_cmd_sf(commands, SCTP_CMD_SET_SK_ERR, |
5366 | SCTP_ERROR(ECONNABORTED)); | 5367 | SCTP_ERROR(ECONNABORTED)); |
5367 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, | 5368 | sctp_add_cmd_sf(commands, SCTP_CMD_ASSOC_FAILED, |
5368 | SCTP_U32(SCTP_ERROR_NO_DATA)); | 5369 | SCTP_PERR(SCTP_ERROR_NO_DATA)); |
5369 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); | 5370 | SCTP_INC_STATS(SCTP_MIB_ABORTEDS); |
5370 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); | 5371 | SCTP_DEC_STATS(SCTP_MIB_CURRESTAB); |
5371 | return SCTP_IERROR_NO_DATA; | 5372 | return SCTP_IERROR_NO_DATA; |