aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp/structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r--include/net/sctp/structs.h26
1 files changed, 14 insertions, 12 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 5f69158c1006..c6d93bb0dcd2 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -87,6 +87,7 @@ struct sctp_bind_addr;
87struct sctp_ulpq; 87struct sctp_ulpq;
88struct sctp_ep_common; 88struct sctp_ep_common;
89struct sctp_ssnmap; 89struct sctp_ssnmap;
90struct crypto_hash;
90 91
91 92
92#include <net/sctp/tsnmap.h> 93#include <net/sctp/tsnmap.h>
@@ -127,9 +128,9 @@ extern struct sctp_globals {
127 * RTO.Alpha - 1/8 (3 when converted to right shifts.) 128 * RTO.Alpha - 1/8 (3 when converted to right shifts.)
128 * RTO.Beta - 1/4 (2 when converted to right shifts.) 129 * RTO.Beta - 1/4 (2 when converted to right shifts.)
129 */ 130 */
130 unsigned long rto_initial; 131 unsigned int rto_initial;
131 unsigned long rto_min; 132 unsigned int rto_min;
132 unsigned long rto_max; 133 unsigned int rto_max;
133 134
134 /* Note: rto_alpha and rto_beta are really defined as inverse 135 /* Note: rto_alpha and rto_beta are really defined as inverse
135 * powers of two to facilitate integer operations. 136 * powers of two to facilitate integer operations.
@@ -144,13 +145,13 @@ extern struct sctp_globals {
144 int cookie_preserve_enable; 145 int cookie_preserve_enable;
145 146
146 /* Valid.Cookie.Life - 60 seconds */ 147 /* Valid.Cookie.Life - 60 seconds */
147 unsigned long valid_cookie_life; 148 unsigned int valid_cookie_life;
148 149
149 /* Delayed SACK timeout 200ms default*/ 150 /* Delayed SACK timeout 200ms default*/
150 unsigned long sack_timeout; 151 unsigned int sack_timeout;
151 152
152 /* HB.interval - 30 seconds */ 153 /* HB.interval - 30 seconds */
153 unsigned long hb_interval; 154 unsigned int hb_interval;
154 155
155 /* Association.Max.Retrans - 10 attempts 156 /* Association.Max.Retrans - 10 attempts
156 * Path.Max.Retrans - 5 attempts (per destination address) 157 * Path.Max.Retrans - 5 attempts (per destination address)
@@ -264,7 +265,7 @@ struct sctp_sock {
264 struct sctp_pf *pf; 265 struct sctp_pf *pf;
265 266
266 /* Access to HMAC transform. */ 267 /* Access to HMAC transform. */
267 struct crypto_tfm *hmac; 268 struct crypto_hash *hmac;
268 269
269 /* What is our base endpointer? */ 270 /* What is our base endpointer? */
270 struct sctp_endpoint *ep; 271 struct sctp_endpoint *ep;
@@ -445,6 +446,7 @@ typedef struct sctp_sender_hb_info {
445 struct sctp_paramhdr param_hdr; 446 struct sctp_paramhdr param_hdr;
446 union sctp_addr daddr; 447 union sctp_addr daddr;
447 unsigned long sent_at; 448 unsigned long sent_at;
449 __u64 hb_nonce;
448} __attribute__((packed)) sctp_sender_hb_info_t; 450} __attribute__((packed)) sctp_sender_hb_info_t;
449 451
450/* 452/*
@@ -730,13 +732,10 @@ void sctp_init_addrs(struct sctp_chunk *, union sctp_addr *,
730const union sctp_addr *sctp_source(const struct sctp_chunk *chunk); 732const union sctp_addr *sctp_source(const struct sctp_chunk *chunk);
731 733
732/* This is a structure for holding either an IPv6 or an IPv4 address. */ 734/* This is a structure for holding either an IPv6 or an IPv4 address. */
733/* sin_family -- AF_INET or AF_INET6
734 * sin_port -- ordinary port number
735 * sin_addr -- cast to either (struct in_addr) or (struct in6_addr)
736 */
737struct sctp_sockaddr_entry { 735struct sctp_sockaddr_entry {
738 struct list_head list; 736 struct list_head list;
739 union sctp_addr a; 737 union sctp_addr a;
738 __u8 use_as_src;
740}; 739};
741 740
742typedef struct sctp_chunk *(sctp_packet_phandler_t)(struct sctp_association *); 741typedef struct sctp_chunk *(sctp_packet_phandler_t)(struct sctp_association *);
@@ -984,6 +983,9 @@ struct sctp_transport {
984 */ 983 */
985 char cacc_saw_newack; 984 char cacc_saw_newack;
986 } cacc; 985 } cacc;
986
987 /* 64-bit random number sent with heartbeat. */
988 __u64 hb_nonce;
987}; 989};
988 990
989struct sctp_transport *sctp_transport_new(const union sctp_addr *, 991struct sctp_transport *sctp_transport_new(const union sctp_addr *,
@@ -1138,7 +1140,7 @@ int sctp_bind_addr_copy(struct sctp_bind_addr *dest,
1138 sctp_scope_t scope, gfp_t gfp, 1140 sctp_scope_t scope, gfp_t gfp,
1139 int flags); 1141 int flags);
1140int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, 1142int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *,
1141 gfp_t gfp); 1143 __u8 use_as_src, gfp_t gfp);
1142int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); 1144int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *);
1143int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, 1145int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *,
1144 struct sctp_sock *); 1146 struct sctp_sock *);