summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorSridhar Samudrala <sri@us.ibm.com>2004-12-26 22:13:06 -0800
committerSridhar Samudrala <sri@us.ibm.com>2004-12-26 22:13:06 -0800
commit5aabd1fe268e850c2e93048a5ccc5eb6970ac49c (patch)
treeecb5821b020c382727a298fc4c9880f53ac189f2 /include/net
parent3da25caccc4e293aada9c1f7130a98be64907c77 (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.h3
-rw-r--r--include/net/sctp/sctp.h4
-rw-r--r--include/net/sctp/sm.h3
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,