Commit a18213d1 authored by Gerrit Renker's avatar Gerrit Renker

dccp: Replace magic CCID-specific numbers by symbolic constants

The constants DCCPO_{MIN,MAX}_CCID_SPECIFIC are nowhere used in the code, but
instead for the CCID-specific options numbers are used.

This patch unifies the use of CCID-specific option numbers, by adding symbolic
names reflecting the definitions in RFC 4340, 10.3.
Signed-off-by: default avatarGerrit Renker <gerrit@erg.abdn.ac.uk>
parent 4874c131
...@@ -165,8 +165,10 @@ enum { ...@@ -165,8 +165,10 @@ enum {
DCCPO_TIMESTAMP_ECHO = 42, DCCPO_TIMESTAMP_ECHO = 42,
DCCPO_ELAPSED_TIME = 43, DCCPO_ELAPSED_TIME = 43,
DCCPO_MAX = 45, DCCPO_MAX = 45,
DCCPO_MIN_CCID_SPECIFIC = 128, DCCPO_MIN_RX_CCID_SPECIFIC = 128, /* from sender to receiver */
DCCPO_MAX_CCID_SPECIFIC = 255, DCCPO_MAX_RX_CCID_SPECIFIC = 191,
DCCPO_MIN_TX_CCID_SPECIFIC = 192, /* from receiver to sender */
DCCPO_MAX_TX_CCID_SPECIFIC = 255,
}; };
/* maximum size of a single TLV-encoded DCCP option (sans type/len bytes) */ /* maximum size of a single TLV-encoded DCCP option (sans type/len bytes) */
#define DCCP_SINGLE_OPT_MAXLEN 253 #define DCCP_SINGLE_OPT_MAXLEN 253
......
...@@ -96,18 +96,11 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq, ...@@ -96,18 +96,11 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq,
} }
/* /*
* CCID-Specific Options (from RFC 4340, sec. 10.3):
*
* Option numbers 128 through 191 are for options sent from the
* HC-Sender to the HC-Receiver; option numbers 192 through 255
* are for options sent from the HC-Receiver to the HC-Sender.
*
* CCID-specific options are ignored during connection setup, as * CCID-specific options are ignored during connection setup, as
* negotiation may still be in progress (see RFC 4340, 10.3). * negotiation may still be in progress (see RFC 4340, 10.3).
* The same applies to Ack Vectors, as these depend on the CCID. * The same applies to Ack Vectors, as these depend on the CCID.
*
*/ */
if (dreq != NULL && (opt >= 128 || if (dreq != NULL && (opt >= DCCPO_MIN_RX_CCID_SPECIFIC ||
opt == DCCPO_ACK_VECTOR_0 || opt == DCCPO_ACK_VECTOR_1)) opt == DCCPO_ACK_VECTOR_0 || opt == DCCPO_ACK_VECTOR_1))
goto ignore_option; goto ignore_option;
...@@ -226,12 +219,12 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq, ...@@ -226,12 +219,12 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq,
dccp_pr_debug("%s rx opt: ELAPSED_TIME=%d\n", dccp_pr_debug("%s rx opt: ELAPSED_TIME=%d\n",
dccp_role(sk), elapsed_time); dccp_role(sk), elapsed_time);
break; break;
case 128 ... 191: case DCCPO_MIN_RX_CCID_SPECIFIC ... DCCPO_MAX_RX_CCID_SPECIFIC:
if (ccid_hc_rx_parse_options(dp->dccps_hc_rx_ccid, sk, if (ccid_hc_rx_parse_options(dp->dccps_hc_rx_ccid, sk,
pkt_type, opt, value, len)) pkt_type, opt, value, len))
goto out_invalid_option; goto out_invalid_option;
break; break;
case 192 ... 255: case DCCPO_MIN_TX_CCID_SPECIFIC ... DCCPO_MAX_TX_CCID_SPECIFIC:
if (ccid_hc_tx_parse_options(dp->dccps_hc_tx_ccid, sk, if (ccid_hc_tx_parse_options(dp->dccps_hc_tx_ccid, sk,
pkt_type, opt, value, len)) pkt_type, opt, value, len))
goto out_invalid_option; goto out_invalid_option;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment