From: Eddie Kohler <kohler@cs.ucla.edu>
To: dccp@vger.kernel.org
Subject: Re: [PATCH 8/14]: Remove manual influence on NDP Count feature
Date: Wed, 03 Oct 2007 17:21:38 +0000 [thread overview]
Message-ID: <4703CFA2.6090108@cs.ucla.edu> (raw)
In-Reply-To: <200710031502.45403@strip-the-willow>
One slight comment. NDP Count is not required by CCID 3's *specification*.
Without NDP Count, the receiver will simply treat ack losses like data losses;
this can lead to lower send rates when acks are lost, but does not harm
interoperability. However, it is totally reasonable for an *implementation*
such as Linux to require NDP Count for CCID 3, so there are no problems with
the patch.
Eddie
Gerrit Renker wrote:
> [DCCP]: Remove manual influence on NDP Count feature
>
> The NDP count feature is handled automatically now by the feature negotiation code:
> * for CCID2 it is disabled, since the code does not use or even refer to NDP counts;
> * for CCID3 it is enabled, since NDP counts are used to determine loss lengths (RFC 4342, 6.1).
>
> Allowing the user to change these values leads to unpredictable and failing behaviour, since it
> is then possible to disable NDP counts even when they are needed (e.g. in CCID3). This means that
> only those user settings are sensible that agree with the values for Send NDP Count implied by the
> choice of CCID. But those settings are already activated by the feature negotiation (CCID dependency
> tracking), which means that the user settings are redundant.
>
> I thus think that it is the best choice to remove this sysctl. Leaving it in brings no
> advantages, but opens a door to creating non-operable conditions.
>
> At startup the initialisation of the NDP count feature is with the default value of 0, which is
> done implicitly by the zeroing-out of the socket when it is allocated. If the choice of CCID or
> feature negotiation enables NDP count, this will then be updated via the NDP activation handler.
>
> Signed-off-by: Gerrit Renker <gerrit@erg.abdn.ac.uk>
> ---
> Documentation/networking/dccp.txt | 3 ---
> net/dccp/dccp.h | 1 -
> net/dccp/minisocks.c | 1 -
> net/dccp/sysctl.c | 8 --------
> 4 files changed, 13 deletions(-)
>
> --- a/net/dccp/sysctl.c
> +++ b/net/dccp/sysctl.c
> @@ -20,7 +20,6 @@ int sysctl_dccp_feat_rx_ccid = DCCP
> 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;
>
> /* the maximum queue length for tx in packets. 0 is no limit */
> int sysctl_dccp_tx_qlen __read_mostly = 5;
> @@ -72,13 +71,6 @@ static struct ctl_table dccp_default_tab
> .proc_handler = proc_dointvec,
> },
> {
> - .procname = "send_ndp",
> - .data = &sysctl_dccp_feat_send_ndp_count,
> - .maxlen = sizeof(sysctl_dccp_feat_send_ndp_count),
> - .mode = 0644,
> - .proc_handler = proc_dointvec,
> - },
> - {
> .procname = "request_retries",
> .data = &sysctl_dccp_request_retries,
> .maxlen = sizeof(sysctl_dccp_request_retries),
> --- a/Documentation/networking/dccp.txt
> +++ b/Documentation/networking/dccp.txt
> @@ -133,9 +133,6 @@ retries2
> importance for retransmitted acknowledgments and feature negotiation,
> data packets are never retransmitted. Analogue of tcp_retries2.
>
> -send_ndp = 1
> - Whether or not to send NDP count options (sec. 7.7.2).
> -
> tx_ccid = 2
> Default CCID for the sender-receiver half-connection. Depending on the
> choice of CCID, the Send Ack Vector feature is enabled automatically.
> --- a/net/dccp/dccp.h
> +++ b/net/dccp/dccp.h
> @@ -100,7 +100,6 @@ 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;
> extern int sysctl_dccp_sync_ratelimit;
>
> --- a/net/dccp/minisocks.c
> +++ b/net/dccp/minisocks.c
> @@ -47,7 +47,6 @@ void dccp_minisock_init(struct dccp_mini
> dmsk->dccpms_sequence_window = sysctl_dccp_feat_sequence_window;
> 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;
> }
>
> void dccp_time_wait(struct sock *sk, int state, int timeo)
> -
> To unsubscribe from this list: send the line "unsubscribe dccp" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2007-10-03 17:21 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-03 14:02 [PATCH 8/14]: Remove manual influence on NDP Count feature Gerrit Renker
2007-10-03 17:21 ` Eddie Kohler [this message]
2007-10-03 21:02 ` Ian McDonald
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4703CFA2.6090108@cs.ucla.edu \
--to=kohler@cs.ucla.edu \
--cc=dccp@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox