summaryrefslogtreecommitdiff
path: root/include/net
diff options
context:
space:
mode:
authorDaisy Chang <daisy@teetime.dynamic.austin.ibm.com>2002-10-01 09:05:12 -0500
committerJon Grimm <jgrimm@touki.austin.ibm.com>2002-10-01 09:05:12 -0500
commita4cae070b155d9738ca207330b579bfec840720a (patch)
tree016d16be266880096b34e8879ad5703b116683c9 /include/net
parent22bf2be73655535f19bd282bc12a639672c39558 (diff)
sctp: Added the 'Unrecognized Parameter' handling.
Diffstat (limited to 'include/net')
-rw-r--r--include/net/sctp/sm.h11
-rw-r--r--include/net/sctp/structs.h14
2 files changed, 24 insertions, 1 deletions
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h
index 5cb4858fac34..9459322a411b 100644
--- a/include/net/sctp/sm.h
+++ b/include/net/sctp/sm.h
@@ -215,7 +215,8 @@ sctp_chunk_t *sctp_make_init(const sctp_association_t *,
int priority);
sctp_chunk_t *sctp_make_init_ack(const sctp_association_t *,
const sctp_chunk_t *,
- const int priority);
+ const int priority,
+ const int unkparam_len);
sctp_chunk_t *sctp_make_cookie_echo(const sctp_association_t *,
const sctp_chunk_t *);
sctp_chunk_t *sctp_make_cookie_ack(const sctp_association_t *,
@@ -304,6 +305,14 @@ void sctp_generate_t3_rtx_event(unsigned long peer);
void sctp_generate_heartbeat_event(unsigned long peer);
sctp_sackhdr_t *sctp_sm_pull_sack(sctp_chunk_t *);
+sctp_packet_t *sctp_abort_pkt_new(const sctp_endpoint_t *ep,
+ const sctp_association_t *asoc,
+ sctp_chunk_t *chunk,
+ const void *payload,
+ size_t paylen);
+sctp_packet_t *sctp_ootb_pkt_new(const sctp_association_t *asoc,
+ const sctp_chunk_t *chunk);
+void sctp_ootb_pkt_free(sctp_packet_t *packet);
sctp_cookie_param_t *
sctp_pack_cookie(const sctp_endpoint_t *, const sctp_association_t *,
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 69f99bba1d9b..89898ddb0db7 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -1044,6 +1044,20 @@ sctp_association_t *sctp_endpoint_lookup_assoc(const sctp_endpoint_t *ep,
sctp_endpoint_t *sctp_endpoint_is_match(sctp_endpoint_t *,
const sockaddr_storage_t *);
+int sctp_verify_init(const sctp_association_t *asoc,
+ sctp_cid_t cid,
+ sctp_init_chunk_t *peer_init,
+ sctp_chunk_t *chunk,
+ sctp_chunk_t **err_chunk);
+int sctp_verify_param(const sctp_association_t *asoc,
+ sctpParam_t param,
+ sctp_cid_t cid,
+ sctp_chunk_t *chunk,
+ sctp_chunk_t **err_chunk);
+int sctp_process_unk_param(const sctp_association_t *asoc,
+ sctpParam_t param,
+ sctp_chunk_t *chunk,
+ sctp_chunk_t **err_chunk);
void sctp_process_init(sctp_association_t *asoc, sctp_cid_t cid,
const sockaddr_storage_t *peer_addr,
sctp_init_chunk_t *peer_init, int priority);