diff options
| author | Sridhar Samudrala <sri@us.ibm.com> | 2004-12-26 22:13:06 -0800 |
|---|---|---|
| committer | Sridhar Samudrala <sri@us.ibm.com> | 2004-12-26 22:13:06 -0800 |
| commit | 5aabd1fe268e850c2e93048a5ccc5eb6970ac49c (patch) | |
| tree | ecb5821b020c382727a298fc4c9880f53ac189f2 /include/net | |
| parent | 3da25caccc4e293aada9c1f7130a98be64907c77 (diff) | |
[SCTP] Treat ICMP protocol unreachable errors from non-SCTP capable hosts as
ABORTs.
Signed-off-by: Jerome Forissier <jerome.forissier@hp.com>
Signed-off-by: Sridhar Samudrala <sri@us.ibm.com>
Diffstat (limited to 'include/net')
| -rw-r--r-- | include/net/sctp/constants.h | 3 | ||||
| -rw-r--r-- | include/net/sctp/sctp.h | 4 | ||||
| -rw-r--r-- | include/net/sctp/sm.h | 3 |
3 files changed, 9 insertions, 1 deletions
diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h index 2d4b22269d38..b730fd5fcf5f 100644 --- a/include/net/sctp/constants.h +++ b/include/net/sctp/constants.h @@ -105,9 +105,10 @@ typedef enum { typedef enum { SCTP_EVENT_NO_PENDING_TSN = 0, + SCTP_EVENT_ICMP_PROTO_UNREACH, } sctp_event_other_t; -#define SCTP_EVENT_OTHER_MAX SCTP_EVENT_NO_PENDING_TSN +#define SCTP_EVENT_OTHER_MAX SCTP_EVENT_ICMP_PROTO_UNREACH #define SCTP_NUM_OTHER_TYPES (SCTP_EVENT_OTHER_MAX + 1) /* These are primitive requests from the ULP. */ diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 3f2768a144dc..6c440f9286bc 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h @@ -173,6 +173,10 @@ void sctp_err_finish(struct sock *, struct sctp_endpoint *, struct sctp_association *); void sctp_icmp_frag_needed(struct sock *, struct sctp_association *, struct sctp_transport *t, __u32 pmtu); +void sctp_icmp_proto_unreachable(struct sock *sk, + struct sctp_endpoint *ep, + struct sctp_association *asoc, + struct sctp_transport *t); /* * Section: Macros, externs, and inlines diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h index d921fef2482c..2ba021a74ef1 100644 --- a/include/net/sctp/sm.h +++ b/include/net/sctp/sm.h @@ -165,6 +165,7 @@ sctp_state_fn_t sctp_sf_do_prm_asconf; sctp_state_fn_t sctp_sf_do_9_2_start_shutdown; sctp_state_fn_t sctp_sf_do_9_2_shutdown_ack; sctp_state_fn_t sctp_sf_ignore_other; +sctp_state_fn_t sctp_sf_cookie_wait_icmp_abort; /* Prototypes for timeout event state functions. */ sctp_state_fn_t sctp_sf_do_6_3_3_rtx; @@ -252,6 +253,8 @@ struct sctp_chunk *sctp_make_fwdtsn(const struct sctp_association *asoc, void sctp_chunk_assign_tsn(struct sctp_chunk *); void sctp_chunk_assign_ssn(struct sctp_chunk *); +void sctp_stop_t1_and_abort(sctp_cmd_seq_t *commands, __u16 error); + /* Prototypes for statetable processing. */ int sctp_do_sm(sctp_event_t event_type, sctp_subtype_t subtype, |
