summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_uio.h
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2006-12-14 17:02:55 +0000
committerrrs <rrs@FreeBSD.org>2006-12-14 17:02:55 +0000
commit3de80805ffbf0e87c0ff547698814193edb8bd14 (patch)
tree940611c208a2462c47614c0688becd97244ad6fe /sys/netinet/sctp_uio.h
parentd398e83b8a941f854ec49ad93c3694c17b0f8e88 (diff)
downloadFreeBSD-src-3de80805ffbf0e87c0ff547698814193edb8bd14.zip
FreeBSD-src-3de80805ffbf0e87c0ff547698814193edb8bd14.tar.gz
1) Fixes on a number of different collision case LOR's.
2) Fix all "magic numbers" to be constants. 3) A collision case that would generate two associations to the same peer due to a missing lock is fixed. 4) Added tracking of where timers are stopped. Approved by: gnn
Diffstat (limited to 'sys/netinet/sctp_uio.h')
-rw-r--r--sys/netinet/sctp_uio.h55
1 files changed, 48 insertions, 7 deletions
diff --git a/sys/netinet/sctp_uio.h b/sys/netinet/sctp_uio.h
index 0c308ae..f12f0b9 100644
--- a/sys/netinet/sctp_uio.h
+++ b/sys/netinet/sctp_uio.h
@@ -853,13 +853,13 @@ struct sctpstat {
u_long sctps_cmt_randry;/* Same for above */
u_long sctps_slowpath_sack; /* Sacks the slow way */
u_long sctps_wu_sacks_sent; /* Window Update only sacks sent */
- u_long sctps_locks_in_rcv; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcva; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcvb; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcvc; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcvd; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcve; /* How man so_rcv buf locks we did */
- u_long sctps_locks_in_rcvf; /* How man so_rcv buf locks we did */
+ u_long sctps_sends_with_flags; /* number of sends with sinfo_flags
+ * !=0 */
+ u_long sctps_sends_with_unord;
+ u_long sctps_sends_with_eof;
+ u_long sctps_sends_with_abort;
+ u_long sctps_protocol_drain_calls;
+ u_long sctps_protocol_drains_done;
};
#define SCTP_STAT_INCR(_x) SCTP_STAT_INCR_BY(_x,1)
@@ -884,6 +884,47 @@ union sctp_sockstore {
struct sockaddr sa;
};
+struct xsctp_inpcb {
+ uint32_t last;
+ uint16_t local_port;
+ uint16_t number_local_addresses;
+ uint32_t number_associations;
+ uint32_t flags;
+ uint32_t features;
+ uint32_t total_sends;
+ uint32_t total_recvs;
+ uint32_t total_nospaces;
+ /* add more endpoint specific data here */
+};
+
+struct xsctp_tcb {
+ uint16_t remote_port;
+ uint16_t number_local_addresses;
+ uint16_t number_remote_addresses;
+ uint16_t number_incomming_streams;
+ uint16_t number_outgoing_streams;
+ uint32_t state;
+ uint32_t total_sends;
+ uint32_t total_recvs;
+ uint32_t local_tag;
+ uint32_t remote_tag;
+ uint32_t initial_tsn;
+ uint32_t highest_tsn;
+ uint32_t cumulative_tsn;
+ uint32_t cumulative_tsn_ack;
+ /* add more association specific data here */
+};
+
+struct xsctp_laddr {
+ union sctp_sockstore address;
+ /* add more local address specific data */
+};
+
+struct xsctp_raddr {
+ union sctp_sockstore address;
+ uint16_t state;
+ /* add more remote address specific data */
+};
/*
* Kernel defined for sctp_send
OpenPOWER on IntegriCloud