diff options
Diffstat (limited to 'include/linux/dccp.h')
| -rw-r--r-- | include/linux/dccp.h | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/include/linux/dccp.h b/include/linux/dccp.h index 7434a8353e23..010e2d87ed75 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 | ||
| @@ -456,11 +475,15 @@ struct dccp_ackvec; | |||
| 456 | * @dccps_hc_rx_ccid - CCID used for the receiver (or receiving half-connection) | 475 | * @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) | 476 | * @dccps_hc_tx_ccid - CCID used for the sender (or sending half-connection) |
| 458 | * @dccps_options_received - parsed set of retrieved options | 477 | * @dccps_options_received - parsed set of retrieved options |
| 478 | * @dccps_qpolicy - TX dequeueing policy, one of %dccp_packet_dequeueing_policy | ||
| 479 | * @dccps_tx_qlen - maximum length of the TX queue | ||
| 459 | * @dccps_role - role of this sock, one of %dccp_role | 480 | * @dccps_role - role of this sock, one of %dccp_role |
| 460 | * @dccps_hc_rx_insert_options - receiver wants to add options when acking | 481 | * @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 | 482 | * @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) | 483 | * @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 | 484 | * @dccps_sync_scheduled - flag which signals "send out-of-band message soon" |
| 485 | * @dccps_xmitlet - tasklet scheduled by the TX CCID to dequeue data packets | ||
| 486 | * @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) | 487 | * @dccps_syn_rtt - RTT sample from Request/Response exchange (in usecs) |
| 465 | */ | 488 | */ |
| 466 | struct dccp_sock { | 489 | struct dccp_sock { |
| @@ -496,10 +519,14 @@ struct dccp_sock { | |||
| 496 | struct ccid *dccps_hc_rx_ccid; | 519 | struct ccid *dccps_hc_rx_ccid; |
| 497 | struct ccid *dccps_hc_tx_ccid; | 520 | struct ccid *dccps_hc_tx_ccid; |
| 498 | struct dccp_options_received dccps_options_received; | 521 | struct dccp_options_received dccps_options_received; |
| 522 | __u8 dccps_qpolicy; | ||
| 523 | __u32 dccps_tx_qlen; | ||
| 499 | enum dccp_role dccps_role:2; | 524 | enum dccp_role dccps_role:2; |
| 500 | __u8 dccps_hc_rx_insert_options:1; | 525 | __u8 dccps_hc_rx_insert_options:1; |
| 501 | __u8 dccps_hc_tx_insert_options:1; | 526 | __u8 dccps_hc_tx_insert_options:1; |
| 502 | __u8 dccps_server_timewait:1; | 527 | __u8 dccps_server_timewait:1; |
| 528 | __u8 dccps_sync_scheduled:1; | ||
| 529 | struct tasklet_struct dccps_xmitlet; | ||
| 503 | struct timer_list dccps_xmit_timer; | 530 | struct timer_list dccps_xmit_timer; |
| 504 | }; | 531 | }; |
| 505 | 532 | ||
