aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/dccp.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/linux/dccp.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'include/linux/dccp.h')
-rw-r--r--include/linux/dccp.h35
1 files changed, 30 insertions, 5 deletions
diff --git a/include/linux/dccp.h b/include/linux/dccp.h
index 7434a8353e23..d638e85dc501 100644
--- a/include/linux/dccp.h
+++ b/include/linux/dccp.h
@@ -165,8 +165,10 @@ enum {
165 DCCPO_TIMESTAMP_ECHO = 42, 165 DCCPO_TIMESTAMP_ECHO = 42,
166 DCCPO_ELAPSED_TIME = 43, 166 DCCPO_ELAPSED_TIME = 43,
167 DCCPO_MAX = 45, 167 DCCPO_MAX = 45,
168 DCCPO_MIN_CCID_SPECIFIC = 128, 168 DCCPO_MIN_RX_CCID_SPECIFIC = 128, /* from sender to receiver */
169 DCCPO_MAX_CCID_SPECIFIC = 255, 169 DCCPO_MAX_RX_CCID_SPECIFIC = 191,
170 DCCPO_MIN_TX_CCID_SPECIFIC = 192, /* from receiver to sender */
171 DCCPO_MAX_TX_CCID_SPECIFIC = 255,
170}; 172};
171/* maximum size of a single TLV-encoded DCCP option (sans type/len bytes) */ 173/* maximum size of a single TLV-encoded DCCP option (sans type/len bytes) */
172#define DCCP_SINGLE_OPT_MAXLEN 253 174#define DCCP_SINGLE_OPT_MAXLEN 253
@@ -195,6 +197,21 @@ enum dccp_feature_numbers {
195 DCCPF_MAX_CCID_SPECIFIC = 255, 197 DCCPF_MAX_CCID_SPECIFIC = 255,
196}; 198};
197 199
200/* DCCP socket control message types for cmsg */
201enum dccp_cmsg_type {
202 DCCP_SCM_PRIORITY = 1,
203 DCCP_SCM_QPOLICY_MAX = 0xFFFF,
204 /* ^-- Up to here reserved exclusively for qpolicy parameters */
205 DCCP_SCM_MAX
206};
207
208/* DCCP priorities for outgoing/queued packets */
209enum dccp_packet_dequeueing_policy {
210 DCCPQ_POLICY_SIMPLE,
211 DCCPQ_POLICY_PRIO,
212 DCCPQ_POLICY_MAX
213};
214
198/* DCCP socket options */ 215/* DCCP socket options */
199#define DCCP_SOCKOPT_PACKET_SIZE 1 /* XXX deprecated, without effect */ 216#define DCCP_SOCKOPT_PACKET_SIZE 1 /* XXX deprecated, without effect */
200#define DCCP_SOCKOPT_SERVICE 2 217#define DCCP_SOCKOPT_SERVICE 2
@@ -208,6 +225,8 @@ enum dccp_feature_numbers {
208#define DCCP_SOCKOPT_CCID 13 225#define DCCP_SOCKOPT_CCID 13
209#define DCCP_SOCKOPT_TX_CCID 14 226#define DCCP_SOCKOPT_TX_CCID 14
210#define DCCP_SOCKOPT_RX_CCID 15 227#define DCCP_SOCKOPT_RX_CCID 15
228#define DCCP_SOCKOPT_QPOLICY_ID 16
229#define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
211#define DCCP_SOCKOPT_CCID_RX_INFO 128 230#define DCCP_SOCKOPT_CCID_RX_INFO 128
212#define DCCP_SOCKOPT_CCID_TX_INFO 192 231#define DCCP_SOCKOPT_CCID_TX_INFO 192
213 232
@@ -260,8 +279,6 @@ enum dccp_state {
260 DCCP_MAX_STATES 279 DCCP_MAX_STATES
261}; 280};
262 281
263#define DCCP_STATE_MASK 0x1f
264
265enum { 282enum {
266 DCCPF_OPEN = TCPF_ESTABLISHED, 283 DCCPF_OPEN = TCPF_ESTABLISHED,
267 DCCPF_REQUESTING = TCPF_SYN_SENT, 284 DCCPF_REQUESTING = TCPF_SYN_SENT,
@@ -456,11 +473,15 @@ struct dccp_ackvec;
456 * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) 473 * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection)
457 * @dccps_hc_tx_ccid - CCID used for the sender (or sending half-connection) 474 * @dccps_hc_tx_ccid - CCID used for the sender (or sending half-connection)
458 * @dccps_options_received - parsed set of retrieved options 475 * @dccps_options_received - parsed set of retrieved options
476 * @dccps_qpolicy - TX dequeueing policy, one of %dccp_packet_dequeueing_policy
477 * @dccps_tx_qlen - maximum length of the TX queue
459 * @dccps_role - role of this sock, one of %dccp_role 478 * @dccps_role - role of this sock, one of %dccp_role
460 * @dccps_hc_rx_insert_options - receiver wants to add options when acking 479 * @dccps_hc_rx_insert_options - receiver wants to add options when acking
461 * @dccps_hc_tx_insert_options - sender wants to add options when sending 480 * @dccps_hc_tx_insert_options - sender wants to add options when sending
462 * @dccps_server_timewait - server holds timewait state on close (RFC 4340, 8.3) 481 * @dccps_server_timewait - server holds timewait state on close (RFC 4340, 8.3)
463 * @dccps_xmit_timer - timer for when CCID is not ready to send 482 * @dccps_sync_scheduled - flag which signals "send out-of-band message soon"
483 * @dccps_xmitlet - tasklet scheduled by the TX CCID to dequeue data packets
484 * @dccps_xmit_timer - used by the TX CCID to delay sending (rate-based pacing)
464 * @dccps_syn_rtt - RTT sample from Request/Response exchange (in usecs) 485 * @dccps_syn_rtt - RTT sample from Request/Response exchange (in usecs)
465 */ 486 */
466struct dccp_sock { 487struct dccp_sock {
@@ -496,10 +517,14 @@ struct dccp_sock {
496 struct ccid *dccps_hc_rx_ccid; 517 struct ccid *dccps_hc_rx_ccid;
497 struct ccid *dccps_hc_tx_ccid; 518 struct ccid *dccps_hc_tx_ccid;
498 struct dccp_options_received dccps_options_received; 519 struct dccp_options_received dccps_options_received;
520 __u8 dccps_qpolicy;
521 __u32 dccps_tx_qlen;
499 enum dccp_role dccps_role:2; 522 enum dccp_role dccps_role:2;
500 __u8 dccps_hc_rx_insert_options:1; 523 __u8 dccps_hc_rx_insert_options:1;
501 __u8 dccps_hc_tx_insert_options:1; 524 __u8 dccps_hc_tx_insert_options:1;
502 __u8 dccps_server_timewait:1; 525 __u8 dccps_server_timewait:1;
526 __u8 dccps_sync_scheduled:1;
527 struct tasklet_struct dccps_xmitlet;
503 struct timer_list dccps_xmit_timer; 528 struct timer_list dccps_xmit_timer;
504}; 529};
505 530