Re: [PATCH v2 1/2] nvmet-tcp: support specifying the congestion-control

From: Christoph Hellwig
Date: Wed Mar 09 2022 - 01:15:50 EST


On Wed, Mar 09, 2022 at 01:37:11PM +0800, Mingbao Sun wrote:
> + if (port->nport->tcp_congestion) {
> + icsk_new = inet_csk(newsock->sk);
> + if (icsk_new->icsk_ca_ops != icsk->icsk_ca_ops) {
> + pr_warn("congestion abnormal: expected %s, actual %s.\n",
> + icsk->icsk_ca_ops->name,
> + icsk_new->icsk_ca_ops->name);
> + }
> + }

What is the point of having this code?

> + if (nport->tcp_congestion) {
> + strncpy(ca_name, nport->tcp_congestion, TCP_CA_NAME_MAX-1);
> + optval = KERNEL_SOCKPTR(ca_name);
> + ret = sock_common_setsockopt(port->sock, IPPROTO_TCP,
> + TCP_CONGESTION, optval,
> + strlen(ca_name));
> + if (ret) {
> + pr_err("failed to set port socket's congestion to %s: %d\n",
> + ca_name, ret);
> + goto err_sock;
> + }
> + }

Same comment as for the host side.