From nobody Mon Jun 15 00:19:22 2026 Received: from mail-pg1-f172.google.com (mail-pg1-f172.google.com [209.85.215.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 08B8A2E7162 for ; Thu, 9 Apr 2026 17:49:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775756958; cv=none; b=UwK8x7GxTJPkSl+J5K/de+23uFOY7TyjyB0pMg8JbNDmRf6vbltZuAezOjcgMwrfys0qbjZXD1or4oEgMO4BWs1wO7OJeexES95tvZFAry206kYUMHGEtz9Iwk+3EnRHisnu023AfOkwtI6ExSpWtbi3VD5Eqg8YK20j5g/3JOk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775756958; c=relaxed/simple; bh=n8UC782heJc9nLqE4XafIFExJTAr+v3PqbB27s/DMpo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oR+O8rQOeRnna59hrlcM6VbA898MKX5QU/4S7jfK/SExgMYt2dlbDPXw0iTj7TbVKGpmNCAavtLOHYc0iPH7mfhpc/GP0Aaevv1OdAHAw3AeMqXyFiwd6+x0cU+HlBfa2v7P4aogw35DVRcclbQ6arAVKGZimT2HmBttb1MLrHw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=cI24ftv4; arc=none smtp.client-ip=209.85.215.172 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="cI24ftv4" Received: by mail-pg1-f172.google.com with SMTP id 41be03b00d2f7-c76b9efc299so580416a12.0 for ; Thu, 09 Apr 2026 10:49:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775756956; x=1776361756; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c8mKYuAy6+k1yh1FJulOR+cbMMSykRFaR9tVDA+/KjQ=; b=cI24ftv4+k7Usf7EId6bsB+aBgTUuQLkOljNiL4+0ZJ5AI/p5nHi5MxUvVbreAYF0K gdI1SUZ58Ud4ST+lPzzmNJpSDFDkMw0hb9QropqgQ8XIAh3GroSlGbX+ODdohIA09wgl rfl6MmLvRk9BtZ9gE86YjlJ8+BNgoaB79lc1iwuM5lim4z4+1lzm3h5m8djpw1rFjpp3 OfBAWSie1LxnveSkbU8JW3jmZshmhaM1Q3CK9qamN7dT7I/zo2zBNMK5Q9cb/lLP/4Lt bgSVUmgPNcpxr3mtwsZPjLs9Z0/1AOXvZ+XJF5o0v/rHz+y17Wu5Qq4P9w4HFAgQiUJI 1SEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775756956; x=1776361756; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=c8mKYuAy6+k1yh1FJulOR+cbMMSykRFaR9tVDA+/KjQ=; b=fCt72ifBxvn9bOVKd520n/aiFNTZn+01fZH6GNGQYZRbpOp/M15Dkl59mYxvsESOaY SaYLwo+Q7i9OySgXAGAnBeGYhjUXoiI7Tn0KnGYoNs6zM8H8DVnh8VT6xiuyWjoBoqEf FE+JIXXwKf2Y4rHFn6/ciXIUQsngfgcfUvf1TQmBkfsNQL+DcHL5ciIwnR74hEkBswxv 4IlxCzpfaf69hdALgaKOhD+VaQdWZqVZ3afN0q7EMbnN5r/dulrIqTxozKkDT66s6Kq4 qS9xisCv2sGrnQwk5kD9ibqMhsIPO+Q0tY9eQMQsydZioCmsrW6EPRJazgVfOsdBrdcl Vo7w== X-Forwarded-Encrypted: i=1; AJvYcCVSSbAnmS3FIbR2bDUHZq2OdWchi5jU24Bs+R/EduaLc9hV1AL4RPFaBXDziqiYi753QcVP9gIAbdoXMtA=@vger.kernel.org X-Gm-Message-State: AOJu0YzFGog3Za8bGdPAvju0b1OSBMjMG8JpH9nX2AJYAdx13ACpfoG6 BFikTasrQcFI+7W9fWnDnUGZD8ZxE5sSGBtwG9rXIu0qIRIRfjiDwTFv X-Gm-Gg: AeBDiev/Kb/WrHkPl0bR0GTwwiZqBDvWwqxrm8+zDtLeZFa+4cAPFqt5UAjFDaW+8bG M1+ZrAYIIWuQ/PX4aiMmiR/h17UowNwjS3ULNUjNikf6y6kDJcxLvaQ5Cnbte08JViqyP1Z0zDD n8GJdXJQI39H8K8DzKsM6QDPqY6glzV/f0iNj86th8A2FLWrAuGhV9sPMU5GpciH9JeXfNnfEaU uOTpBSIjf3tyAIMeKMbIoROrRS/Ep8pR7p0aMtLLUQ+vlCNxvHNuGj4WfD+3vr3eD/A+8jaDtrP 4miIsNmJ5CzmasBA4Qzzb3f+Wp1iRjzXb8367zqep9IqA/FY4Yv6RGVOdos7wR8dzealhhT/ADN uIp5hZvdRid+B8g5SZ74okv/uTUaS8FU7bfr7uU46KOGnLaqHPf3YWmuOVPSJOdZjN5U8DPLdh+ 3Hph6f54zgPjg7LA1QQcqnyL0kXBFOxFUX89Gg X-Received: by 2002:a05:6a00:3987:b0:82c:249d:d84f with SMTP id d2e1a72fcca58-82f0c38a1demr116982b3a.37.1775756956149; Thu, 09 Apr 2026 10:49:16 -0700 (PDT) Received: from fedora ([2409:4061:4e14:5210:6a17:c456:bcba:6c11]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c50d24bsm32725b3a.57.2026.04.09.10.49.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2026 10:49:15 -0700 (PDT) From: Shubham Chakraborty To: netdev@vger.kernel.org Cc: davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, horms@kernel.org, kuniyu@google.com, corbet@lwn.net, skhan@linuxfoundation.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Shubham Chakraborty Subject: [PATCH v2] Documentation: sysctl: document net core sysctls Date: Thu, 9 Apr 2026 23:18:59 +0530 Message-ID: <20260409174859.11854-1-chakrabortyshubham66@gmail.com> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20260407083213.27045-1-chakrabortyshubham66@gmail.com> References: <20260407083213.27045-1-chakrabortyshubham66@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Document missing net.core and net.unix sysctl entries in admin-guide/sysctl/net.rst, and correct wording for defaults that are derived from PAGE_SIZE, HZ, or CONFIG_MAX_SKB_FRAGS. Also clarify that the RFS and flow-limit controls are only present when CONFIG_RPS or CONFIG_NET_FLOW_LIMIT is enabled, and describe rps_sock_flow_entries the way the handler implements it: non-zero values are rounded up to the nearest power of two. Signed-off-by: Shubham Chakraborty --- Documentation/admin-guide/sysctl/net.rst | 66 +++++++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/Documentation/admin-guide/sysctl/net.rst b/Documentation/admin= -guide/sysctl/net.rst index 3b2ad61995d4..05d301b8752c 100644 --- a/Documentation/admin-guide/sysctl/net.rst +++ b/Documentation/admin-guide/sysctl/net.rst @@ -210,7 +210,9 @@ Default: 0 (off) mem_pcpu_rsv ------------ =20 -Per-cpu reserved forward alloc cache size in page units. Default 1MB per C= PU. +Per-cpu reserved forward alloc cache size in page units. + +Default: 1MB per CPU, expressed in page units =20 bypass_prot_mem --------------- @@ -238,6 +240,37 @@ rps_default_mask The default RPS CPU mask used on newly created network devices. An empty mask means RPS disabled by default. =20 +rps_sock_flow_entries +--------------------- + +The total number of entries in the RPS flow table. This is used by +RFS (Receive Flow Steering) to track which CPU is currently processing +a flow in userspace. Non-zero values are rounded up to the nearest +power of two. +Available only when ``CONFIG_RPS`` is enabled. + +Default: 0 + +flow_limit_cpu_bitmap +--------------------- + +Bitmap of CPUs for which RPS flow limiting is enabled. Flow limiting +prioritizes small flows during CPU contention by dropping packets +from large flows slightly ahead of those from small flows. +Available only when ``CONFIG_NET_FLOW_LIMIT`` is enabled. + +Default: 0 (disabled) + +flow_limit_table_len +-------------------- + +The number of buckets in the flow limit hashtable. This value is +only consulted when a new table is allocated. Modifying it does +not update active tables. This value should be a power of two. +Available only when ``CONFIG_NET_FLOW_LIMIT`` is enabled. + +Default: 4096 + tstamp_allow_data ----------------- Allow processes to receive tx timestamps looped together with the original @@ -290,6 +323,8 @@ probed in a round-robin manner. Also, a polling cycle m= ay not exceed netdev_budget_usecs microseconds, even if netdev_budget has not been exhausted. =20 +Default: 300 + netdev_budget_usecs --------------------- =20 @@ -297,12 +332,16 @@ Maximum number of microseconds in one NAPI polling cy= cle. Polling will exit when either netdev_budget_usecs have elapsed during the poll cycle or the number of packets processed reaches netdev_budget. =20 +Default: ``2 * USEC_PER_SEC / HZ`` (2000 when ``HZ`` is 1000) + netdev_max_backlog ------------------ =20 Maximum number of packets, queued on the INPUT side, when the interface receives packets faster than kernel can process them. =20 +Default: 1000 + qdisc_max_burst ------------------ =20 @@ -368,6 +407,15 @@ by the cpu which allocated them. =20 Default: 128 =20 +max_skb_frags +------------- + +The maximum number of fragments allowed per skb (socket buffer). +This is mostly used for performance tuning of GSO (Generic +Segmentation Offload). + +Default: ``CONFIG_MAX_SKB_FRAGS`` (17 if not overridden) + optmem_max ---------- =20 @@ -377,6 +425,16 @@ optmem_max as a limit for its internal structures. =20 Default : 128 KB =20 +somaxconn +--------- + +Limit of the socket listen() backlog, known in userspace as SOMAXCONN. +The maximum number of established sockets waiting to be accepted by +accept(). If the backlog is greater than this value, it will be +silently truncated to this value. + +Default: 4096 + fb_tunnels_only_for_init_net ---------------------------- =20 @@ -449,6 +507,8 @@ GRO has decided not to coalesce, it is placed on a per-= NAPI list. This list is then passed to the stack when the number of segments reaches the gro_normal_batch limit. =20 +Default: 8 + high_order_alloc_disable ------------------------ =20 @@ -465,9 +525,11 @@ Default: 0 ---------------------------------------------------------- =20 There is only one file in this directory. -unix_dgram_qlen limits the max number of datagrams queued in Unix domain +max_dgram_qlen limits the max number of datagrams queued in Unix domain socket's buffer. It will not take effect unless PF_UNIX flag is specified. =20 +Default: 10 + =20 3. /proc/sys/net/ipv4 - IPV4 settings ------------------------------------- --=20 2.53.0