]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
dccp: Deprecate Ack Ratio sysctl
authorGerrit Renker <gerrit@erg.abdn.ac.uk>
Thu, 4 Sep 2008 05:30:19 +0000 (07:30 +0200)
committerGerrit Renker <gerrit@erg.abdn.ac.uk>
Thu, 4 Sep 2008 05:45:28 +0000 (07:45 +0200)
This patch deprecates the Ack Ratio sysctl, since
 * Ack Ratio is entirely ignored by CCID-3 and CCID-4,
 * Ack Ratio currently doesn't work in CCID-2 (i.e. is always set to 1);
 * even if it would work in CCID-2, there is no point for a user to change it:
   - Ack Ratio is constrained by cwnd (RFC 4341, 6.1.2),
   - if Ack Ratio > cwnd, the system resorts to spurious RTO timeouts
     (since waiting for Acks which will never arrive in this window),
   - cwnd is not a user-configurable value.

The only reasonable place for Ack Ratio is to print it for debugging. It is
planned to do this later on, as part of e.g. dccp_probe.

With this patch Ack Ratio is now under full control of feature negotiation:
 * Ack Ratio is resolved as a dependency of the selected CCID;
 * if the chosen CCID supports it (i.e. CCID == CCID-2), Ack Ratio is set to
   the default of 2, following RFC 4340, 11.3 - "New connections start with Ack
   Ratio 2 for both endpoints";
 * what happens then is part of another patch set, since it concerns the
   dynamic update of Ack Ratio while the connection is in full flight.

Thanks to Tomasz Grobelny for discussion leading up to this patch.

Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Documentation/networking/dccp.txt
include/linux/dccp.h
net/dccp/dccp.h
net/dccp/minisocks.c
net/dccp/options.c
net/dccp/sysctl.c

index f0aeb20fa63bb9aff3766cc1aca59ea0991723a0..43df4487379be556337659302ca3791828376614 100644 (file)
@@ -125,9 +125,6 @@ send_ndp = 1
 send_ackvec = 1
        Whether or not to send Ack Vector options (sec. 11.5).
 
-ack_ratio = 2
-       The default Ack Ratio (sec. 11.3) to use.
-
 tx_ccid = 2
        Default CCID for the sender-receiver half-connection.
 
index 5a5a89935dbc361ddc3f94baf08685df181b858a..eda389ce04f42019091be7f0d88eef633094f927 100644 (file)
@@ -368,7 +368,6 @@ static inline unsigned int dccp_hdr_len(const struct sk_buff *skb)
   * @dccpms_ccid - Congestion Control Id (CCID) (section 10)
   * @dccpms_send_ack_vector - Send Ack Vector Feature (section 11.5)
   * @dccpms_send_ndp_count - Send NDP Count Feature (7.7.2)
-  * @dccpms_ack_ratio - Ack Ratio Feature (section 11.3)
   * @dccpms_pending - List of features being negotiated
   * @dccpms_conf -
   */
@@ -378,7 +377,6 @@ struct dccp_minisock {
        __u8                    dccpms_tx_ccid;
        __u8                    dccpms_send_ack_vector;
        __u8                    dccpms_send_ndp_count;
-       __u8                    dccpms_ack_ratio;
        struct list_head        dccpms_pending;
        struct list_head        dccpms_conf;
 };
index e656dafb5d96bbdd13e65221d870665f8086cf39..031ce350d3c1b97867e5cf53988312bc2f122d27 100644 (file)
@@ -98,7 +98,6 @@ extern int  sysctl_dccp_retries2;
 extern int  sysctl_dccp_feat_sequence_window;
 extern int  sysctl_dccp_feat_rx_ccid;
 extern int  sysctl_dccp_feat_tx_ccid;
-extern int  sysctl_dccp_feat_ack_ratio;
 extern int  sysctl_dccp_feat_send_ack_vector;
 extern int  sysctl_dccp_feat_send_ndp_count;
 extern int  sysctl_dccp_tx_qlen;
index e487133ae079667e904e8d3f539921af9e61903b..ee7f40f8ddfae3b44e9b9ae16b5dbfa0fc638e77 100644 (file)
@@ -47,7 +47,6 @@ void dccp_minisock_init(struct dccp_minisock *dmsk)
        dmsk->dccpms_sequence_window = sysctl_dccp_feat_sequence_window;
        dmsk->dccpms_rx_ccid         = sysctl_dccp_feat_rx_ccid;
        dmsk->dccpms_tx_ccid         = sysctl_dccp_feat_tx_ccid;
-       dmsk->dccpms_ack_ratio       = sysctl_dccp_feat_ack_ratio;
        dmsk->dccpms_send_ack_vector = sysctl_dccp_feat_send_ack_vector;
        dmsk->dccpms_send_ndp_count  = sysctl_dccp_feat_send_ndp_count;
 }
index 67a171a1268ccd360c86a387db2c14df0092a8be..515ad45013adc1baaf1f6a09f00c7884f6b04925 100644 (file)
@@ -26,7 +26,6 @@
 int sysctl_dccp_feat_sequence_window = DCCPF_INITIAL_SEQUENCE_WINDOW;
 int sysctl_dccp_feat_rx_ccid         = DCCPF_INITIAL_CCID;
 int sysctl_dccp_feat_tx_ccid         = DCCPF_INITIAL_CCID;
-int sysctl_dccp_feat_ack_ratio       = DCCPF_INITIAL_ACK_RATIO;
 int sysctl_dccp_feat_send_ack_vector = DCCPF_INITIAL_SEND_ACK_VECTOR;
 int sysctl_dccp_feat_send_ndp_count  = DCCPF_INITIAL_SEND_NDP_COUNT;
 
index 21295993fdb84f2dd53dea972b137eb95395aca2..f6e54f433e29993a13c610cbba3b3902bb4005a0 100644 (file)
@@ -40,13 +40,6 @@ static struct ctl_table dccp_default_table[] = {
                .mode           = 0644,
                .proc_handler   = proc_dointvec,
        },
-       {
-               .procname       = "ack_ratio",
-               .data           = &sysctl_dccp_feat_ack_ratio,
-               .maxlen         = sizeof(sysctl_dccp_feat_ack_ratio),
-               .mode           = 0644,
-               .proc_handler   = proc_dointvec,
-       },
        {
                .procname       = "send_ackvec",
                .data           = &sysctl_dccp_feat_send_ack_vector,