diff options
Diffstat (limited to 'include/net/sctp/structs.h')
| -rw-r--r-- | include/net/sctp/structs.h | 26 |
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; | |||
| 87 | struct sctp_ulpq; | 87 | struct sctp_ulpq; |
| 88 | struct sctp_ep_common; | 88 | struct sctp_ep_common; |
| 89 | struct sctp_ssnmap; | 89 | struct sctp_ssnmap; |
| 90 | struct 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 *, | |||
| 730 | const union sctp_addr *sctp_source(const struct sctp_chunk *chunk); | 732 | const 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 | */ | ||
| 737 | struct sctp_sockaddr_entry { | 735 | struct 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 | ||
| 742 | typedef struct sctp_chunk *(sctp_packet_phandler_t)(struct sctp_association *); | 741 | typedef 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 | ||
| 989 | struct sctp_transport *sctp_transport_new(const union sctp_addr *, | 991 | struct 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); |
| 1140 | int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, | 1142 | int sctp_add_bind_addr(struct sctp_bind_addr *, union sctp_addr *, |
| 1141 | gfp_t gfp); | 1143 | __u8 use_as_src, gfp_t gfp); |
| 1142 | int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); | 1144 | int sctp_del_bind_addr(struct sctp_bind_addr *, union sctp_addr *); |
| 1143 | int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, | 1145 | int sctp_bind_addr_match(struct sctp_bind_addr *, const union sctp_addr *, |
| 1144 | struct sctp_sock *); | 1146 | struct sctp_sock *); |
