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 | /* |
