diff options
Diffstat (limited to 'net/sctp/sm_statefuns.c')
-rw-r--r-- | net/sctp/sm_statefuns.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/net/sctp/sm_statefuns.c b/net/sctp/sm_statefuns.c index 70c39eac0581..e9097cf614ba 100644 --- a/net/sctp/sm_statefuns.c +++ b/net/sctp/sm_statefuns.c | |||
@@ -4342,8 +4342,24 @@ sctp_disposition_t sctp_sf_do_prm_requestheartbeat( | |||
4342 | void *arg, | 4342 | void *arg, |
4343 | sctp_cmd_seq_t *commands) | 4343 | sctp_cmd_seq_t *commands) |
4344 | { | 4344 | { |
4345 | return sctp_sf_heartbeat(ep, asoc, type, (struct sctp_transport *)arg, | 4345 | if (SCTP_DISPOSITION_NOMEM == sctp_sf_heartbeat(ep, asoc, type, |
4346 | commands); | 4346 | (struct sctp_transport *)arg, commands)) |
4347 | return SCTP_DISPOSITION_NOMEM; | ||
4348 | |||
4349 | /* | ||
4350 | * RFC 2960 (bis), section 8.3 | ||
4351 | * | ||
4352 | * D) Request an on-demand HEARTBEAT on a specific destination | ||
4353 | * transport address of a given association. | ||
4354 | * | ||
4355 | * The endpoint should increment the respective error counter of | ||
4356 | * the destination transport address each time a HEARTBEAT is sent | ||
4357 | * to that address and not acknowledged within one RTO. | ||
4358 | * | ||
4359 | */ | ||
4360 | sctp_add_cmd_sf(commands, SCTP_CMD_TRANSPORT_RESET, | ||
4361 | SCTP_TRANSPORT(arg)); | ||
4362 | return SCTP_DISPOSITION_CONSUME; | ||
4347 | } | 4363 | } |
4348 | 4364 | ||
4349 | /* | 4365 | /* |