aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerrit Renker <gerrit@erg.abdn.ac.uk>2008-12-08 04:18:05 -0500
committerDavid S. Miller <davem@davemloft.net>2008-12-08 04:18:05 -0500
commit0049bab5e765aa74cf767a834fa336e19453fc5e (patch)
treef3210e13c5645dbedffe90a4b1f1dca787673bb0
parent63b8e2861f31868dce9c92fd7444f212a5a8a775 (diff)
dccp: Remove obsolete parts of the old CCID interface
The TX/RX CCIDs of the minisock are now redundant: similar to the Ack Vector case, their value equals initially that of the sysctl, but at the end of feature negotiation may be something different. The old interface removed by this patch thus has been replaced by the newer interface to dynamically query the currently loaded CCIDs. Also removed are the constructors for the TX CCID and the RX CCID, since the switch "rx <-> non-rx" is done by the handler in minisocks.c (and the handler is the only place in the code where CCIDs are loaded). Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk> Acked-by: Ian McDonald <ian.mcdonald@jandi.co.nz> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--Documentation/networking/dccp.txt5
-rw-r--r--include/linux/dccp.h3
-rw-r--r--net/dccp/ccid.c14
-rw-r--r--net/dccp/ccid.h5
-rw-r--r--net/dccp/feat.c13
-rw-r--r--net/dccp/minisocks.c2
6 files changed, 3 insertions, 39 deletions
diff --git a/Documentation/networking/dccp.txt b/Documentation/networking/dccp.txt
index 610083ff73f6..a203d132dbef 100644
--- a/Documentation/networking/dccp.txt
+++ b/Documentation/networking/dccp.txt
@@ -140,10 +140,11 @@ send_ackvec = 1
140 Whether or not to send Ack Vector options (sec. 11.5). 140 Whether or not to send Ack Vector options (sec. 11.5).
141 141
142tx_ccid = 2 142tx_ccid = 2
143 Default CCID for the sender-receiver half-connection. 143 Default CCID for the sender-receiver half-connection. Depending on the
144 choice of CCID, the Send Ack Vector feature is enabled automatically.
144 145
145rx_ccid = 2 146rx_ccid = 2
146 Default CCID for the receiver-sender half-connection. 147 Default CCID for the receiver-sender half-connection; see tx_ccid.
147 148
148seq_window = 100 149seq_window = 100
149 The initial sequence window (sec. 7.5.2). 150 The initial sequence window (sec. 7.5.2).
diff --git a/include/linux/dccp.h b/include/linux/dccp.h
index 6a72ff52a8a4..46daea312d92 100644
--- a/include/linux/dccp.h
+++ b/include/linux/dccp.h
@@ -370,7 +370,6 @@ static inline unsigned int dccp_hdr_len(const struct sk_buff *skb)
370 * Will be used to pass the state from dccp_request_sock to dccp_sock. 370 * Will be used to pass the state from dccp_request_sock to dccp_sock.
371 * 371 *
372 * @dccpms_sequence_window - Sequence Window Feature (section 7.5.2) 372 * @dccpms_sequence_window - Sequence Window Feature (section 7.5.2)
373 * @dccpms_ccid - Congestion Control Id (CCID) (section 10)
374 * @dccpms_send_ack_vector - Send Ack Vector Feature (section 11.5) 373 * @dccpms_send_ack_vector - Send Ack Vector Feature (section 11.5)
375 * @dccpms_send_ndp_count - Send NDP Count Feature (7.7.2) 374 * @dccpms_send_ndp_count - Send NDP Count Feature (7.7.2)
376 * @dccpms_pending - List of features being negotiated 375 * @dccpms_pending - List of features being negotiated
@@ -378,8 +377,6 @@ static inline unsigned int dccp_hdr_len(const struct sk_buff *skb)
378 */ 377 */
379struct dccp_minisock { 378struct dccp_minisock {
380 __u64 dccpms_sequence_window; 379 __u64 dccpms_sequence_window;
381 __u8 dccpms_rx_ccid;
382 __u8 dccpms_tx_ccid;
383 __u8 dccpms_send_ack_vector; 380 __u8 dccpms_send_ack_vector;
384 __u8 dccpms_send_ndp_count; 381 __u8 dccpms_send_ndp_count;
385 struct list_head dccpms_pending; 382 struct list_head dccpms_pending;
diff --git a/net/dccp/ccid.c b/net/dccp/ccid.c
index 647cb0614f84..bcc643f992ae 100644
--- a/net/dccp/ccid.c
+++ b/net/dccp/ccid.c
@@ -253,20 +253,6 @@ out_module_put:
253 253
254EXPORT_SYMBOL_GPL(ccid_new); 254EXPORT_SYMBOL_GPL(ccid_new);
255 255
256struct ccid *ccid_hc_rx_new(unsigned char id, struct sock *sk, gfp_t gfp)
257{
258 return ccid_new(id, sk, 1, gfp);
259}
260
261EXPORT_SYMBOL_GPL(ccid_hc_rx_new);
262
263struct ccid *ccid_hc_tx_new(unsigned char id,struct sock *sk, gfp_t gfp)
264{
265 return ccid_new(id, sk, 0, gfp);
266}
267
268EXPORT_SYMBOL_GPL(ccid_hc_tx_new);
269
270static void ccid_delete(struct ccid *ccid, struct sock *sk, int rx) 256static void ccid_delete(struct ccid *ccid, struct sock *sk, int rx)
271{ 257{
272 struct ccid_operations *ccid_ops; 258 struct ccid_operations *ccid_ops;
diff --git a/net/dccp/ccid.h b/net/dccp/ccid.h
index 803343aed004..18f69423a708 100644
--- a/net/dccp/ccid.h
+++ b/net/dccp/ccid.h
@@ -111,11 +111,6 @@ extern int ccid_getsockopt_builtin_ccids(struct sock *sk, int len,
111extern struct ccid *ccid_new(unsigned char id, struct sock *sk, int rx, 111extern struct ccid *ccid_new(unsigned char id, struct sock *sk, int rx,
112 gfp_t gfp); 112 gfp_t gfp);
113 113
114extern struct ccid *ccid_hc_rx_new(unsigned char id, struct sock *sk,
115 gfp_t gfp);
116extern struct ccid *ccid_hc_tx_new(unsigned char id, struct sock *sk,
117 gfp_t gfp);
118
119static inline int ccid_get_current_rx_ccid(struct dccp_sock *dp) 114static inline int ccid_get_current_rx_ccid(struct dccp_sock *dp)
120{ 115{
121 struct ccid *ccid = dp->dccps_hc_rx_ccid; 116 struct ccid *ccid = dp->dccps_hc_rx_ccid;
diff --git a/net/dccp/feat.c b/net/dccp/feat.c
index 077f78d579c4..a0d5891a37bf 100644
--- a/net/dccp/feat.c
+++ b/net/dccp/feat.c
@@ -1124,22 +1124,9 @@ int dccp_feat_init(struct sock *sk)
1124 INIT_LIST_HEAD(&dmsk->dccpms_pending); /* XXX no longer used */ 1124 INIT_LIST_HEAD(&dmsk->dccpms_pending); /* XXX no longer used */
1125 INIT_LIST_HEAD(&dmsk->dccpms_conf); /* XXX no longer used */ 1125 INIT_LIST_HEAD(&dmsk->dccpms_conf); /* XXX no longer used */
1126 1126
1127 /* CCID L */
1128 rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 1, 0,
1129 &dmsk->dccpms_tx_ccid, 1);
1130 if (rc)
1131 goto out;
1132
1133 /* CCID R */
1134 rc = __feat_register_sp(&dp->dccps_featneg, DCCPF_CCID, 0, 0,
1135 &dmsk->dccpms_rx_ccid, 1);
1136 if (rc)
1137 goto out;
1138
1139 /* Ack ratio */ 1127 /* Ack ratio */
1140 rc = __feat_register_nn(&dp->dccps_featneg, DCCPF_ACK_RATIO, 0, 1128 rc = __feat_register_nn(&dp->dccps_featneg, DCCPF_ACK_RATIO, 0,
1141 dp->dccps_l_ack_ratio); 1129 dp->dccps_l_ack_ratio);
1142out:
1143 return rc; 1130 return rc;
1144} 1131}
1145 1132
diff --git a/net/dccp/minisocks.c b/net/dccp/minisocks.c
index 308b6b928c3d..210c346899ba 100644
--- a/net/dccp/minisocks.c
+++ b/net/dccp/minisocks.c
@@ -45,8 +45,6 @@ EXPORT_SYMBOL_GPL(dccp_death_row);
45void dccp_minisock_init(struct dccp_minisock *dmsk) 45void dccp_minisock_init(struct dccp_minisock *dmsk)
46{ 46{
47 dmsk->dccpms_sequence_window = sysctl_dccp_feat_sequence_window; 47 dmsk->dccpms_sequence_window = sysctl_dccp_feat_sequence_window;
48 dmsk->dccpms_rx_ccid = sysctl_dccp_feat_rx_ccid;
49 dmsk->dccpms_tx_ccid = sysctl_dccp_feat_tx_ccid;
50 dmsk->dccpms_send_ack_vector = sysctl_dccp_feat_send_ack_vector; 48 dmsk->dccpms_send_ack_vector = sysctl_dccp_feat_send_ack_vector;
51 dmsk->dccpms_send_ndp_count = sysctl_dccp_feat_send_ndp_count; 49 dmsk->dccpms_send_ndp_count = sysctl_dccp_feat_send_ndp_count;
52} 50}