diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /include/linux/dccp.h | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (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.h | 35 |
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 */ | ||
201 | enum 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 */ | ||
209 | enum 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 | |||
265 | enum { | 282 | enum { |
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 | */ |
466 | struct dccp_sock { | 487 | struct 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 | ||