From nobody Thu Oct 9 20:21:59 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 64DDC28641F; Mon, 16 Jun 2025 17:10:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093801; cv=none; b=uHZhCjes8uXmCSEGaRIW3ww7DCYZ/6dyTnJ5JQSUEtV2LGD0u7s44PesZ0JYKpPg0QNLp7XZBsJL5Z39Jmhc3Y19AK3JWBHk2qMdBHYgEymn7s6VuJL/EjK8o/kV+Juk3k8/PWaSeNH+tYcwl33GWIWPHpVMxUrhU+bIciQ66Vk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093801; c=relaxed/simple; bh=p94oIFo4jUglnAhbc3gfVf3Xl1s0WKJ0t3PNRYqQRvE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=PAg9njnw9/MB6L/j5c9yOvOO4Ebn1qIzxHaMkC/+WOUJYFCnxQPBsaTbzk/gaRMqye33kpNzB9qsvPYjHhV6TN0i0TEwhQlTG42J09VewwPTuRxSpwQXyiABs/E1Mcddyv6Tpil3kTiLqGgRwwAB4pClSpUlg+yUZnfnz2gJHIM= 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=YxygrzAk; arc=none smtp.client-ip=209.85.222.178 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="YxygrzAk" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7d0a61e6c0fso91589885a.0; Mon, 16 Jun 2025 10:10:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093799; x=1750698599; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=GqK4XVmf88e+UTUicEUcYEEd52VK5FIFk2p//V1IESs=; b=YxygrzAk+faobAEsNttAhOYsARCywL5gk+wjOIK8IegXGRYsQH6dFQhoGS0X81D7dc 07TxUxO78LDxxeYg8Dm6xdn5GlU2AeWQwWc/0k8aAoLkx5KSxIkrLXtcyBNg3G9LUwc1 yMTocMQ/OHb0d9xDsmnqjCc9BheRs82jluzWny1OVrQk/NGPZH+8dS4mzLioCom8ybPF V96q34K8jxsImgUfv8Ai+Xg9FE5otf3KdqsLX0QdTKu0XPMz5EDRBKL/HwcMexQ0cOZ1 euBtu6duFyiNhwCcVqx7VJjsbKiZYLRMk1NRlvrlbJjpBWGFG4g4x1Bpf0Bhpmed2Sml NN3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093799; x=1750698599; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=GqK4XVmf88e+UTUicEUcYEEd52VK5FIFk2p//V1IESs=; b=Q11xwQm9ioZyduwpUp+TRECaHgAQUXUQdfRO4qatw4gLYoJf47rojnnDbRWMnpHyC0 nWHHmcuda7go3wAtk8P+drDpBso6Rz4EK/2+PMhZwOAVcyCfcCLzQWRoImzApdrbiKYX QX5BnLKbg/VB9BSlFM8GQJMO6cW8adEIyUO+m3tWDHXdTz8DbpZV2sqfSl33e4qXt9HG dm6ZMfw9YJhGNNyvhOIqrtAuYmep89XGx+K+nValqmoa5Xb9e0v4msg/N5rBhMLb2hyx xyLD8003OIeCLRJBUJyT++dfAsamJKIrG7yImu90i1o9jsn6Mxym5JOgn94Gbr5R8V1L UhJQ== X-Forwarded-Encrypted: i=1; AJvYcCWmOCQeVW4YSD54PfqU85Xt87RxDEXndwzAVLyFbFSeISfgo/gUh/RAhfaFrSxuPFliV0s7Dfrnemszeklf3ZP5@vger.kernel.org, AJvYcCX7CVw6jfJ0ncZk3IK0OXNfvjxXmsCdGYnhNMXgfEXyuWnkq8b4xOedHWagyDqXWbl+fTjxqbXbWbQ=@vger.kernel.org, AJvYcCXg/pj8PWEiToi6CnNo2nVq0wYoy2Jk2gf1APyE0zlFx/UjHGDOBRG1NHvLZzuQXmhCuq2pbaQf3kX2SgPT@vger.kernel.org X-Gm-Message-State: AOJu0Yxxn6IjW8zhvDKt+sYA51Fzc9SmiVlSJG7fS45kmxJgZt/iA6aX KhXOualHgvTBaJModFj6mEThqOPXzD7L01ber6KEzNERf4x8WVt66Zh0 X-Gm-Gg: ASbGncv3bSGCq30ngbSHi9IrcDw4q6YuZUIp/Fj9ltqDNVGThPu0h72+EDwCA6creIn o4yPMkZbqhRnofoXlQ8eRJcIZDKT8D0oT7lRPVuw6wxhME7k0gIkCwHHGb7EzGhcBtn1bfqueg5 KJud/ItqjyBSeSIxIgItKfbJKkJ4ODnlb3oWVoHeYWer0CHX+bulXmytIklyl/0+5XJAHAvLz9h KfiMEj6z2s7hXk1BrXRX5bvCueLFStj6KZwaZJu45AwmGjhw5KjEVM4VHQf8L/zZz9O6w3qBC/t g39sghn7qmC/UMzidImOX6zCmQnqnUfIuE3IqN/crF4lX9qzMH3h X-Google-Smtp-Source: AGHT+IGIE0kzQ41K+NmIjHxuzcgQ0+W/XetuT71lQEkSUG1FBibxHRp1Y9F9EUfgFHfiAs48X7FY/w== X-Received: by 2002:a05:6214:3211:b0:6fa:ed8e:372c with SMTP id 6a1803df08f44-6fb5b1ac9eemr3159806d6.1.1750093799173; Mon, 16 Jun 2025 10:09:59 -0700 (PDT) Received: from localhost ([2a03:2880:20ff::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb5a3980b4sm4273736d6.89.2025.06.16.10.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:09:58 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:35 -0700 Subject: [PATCH net-next v3 1/5] netconsole: introduce 'msgid' as a new sysdata field Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250616-netconsole-msgid-v3-1-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 This adds a new sysdata field to enable assigning a per-target unique id to each message sent to that target. This id can later be appended as part of sysdata, allowing targets to detect dropped netconsole messages. Update count_extradata_entries() to take the new field into account. Reviewed-by: Breno Leitao Signed-off-by: Gustavo Luiz Duarte Suggested-by: Breno Leitao --- drivers/net/netconsole.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 1eb678e07dd0..5f8c8c6c5393 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -113,6 +113,8 @@ enum sysdata_feature { SYSDATA_TASKNAME =3D BIT(1), /* Kernel release/version as part of sysdata */ SYSDATA_RELEASE =3D BIT(2), + /* Include a per-target message ID as part of sysdata */ + SYSDATA_MSGID =3D BIT(3), }; =20 /** @@ -782,6 +784,8 @@ static size_t count_extradata_entries(struct netconsole= _target *nt) entries +=3D 1; if (nt->sysdata_fields & SYSDATA_RELEASE) entries +=3D 1; + if (nt->sysdata_fields & SYSDATA_MSGID) + entries +=3D 1; =20 return entries; } --=20 2.47.1 From nobody Thu Oct 9 20:21:59 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 677D1288CA8; Mon, 16 Jun 2025 17:10:04 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093806; cv=none; b=aLVZNnI+bzSOMBrI9qpVQWb5PdloU/xWw4CmCT0X8z/VY4zHXk55vkBw7vdHKNxjL9BqB8W1NrZxWRhISqhGZBHUzKwhm81StH7j6+J2BHlLIBbQJOn2COeYZkYg+YOYhIMXqUd+oZ0NP2qVD4JANR04lo/8PLoKDTa8VT1rYu4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093806; c=relaxed/simple; bh=mfkoUBQgABU7lMjOTs7x+P4cuvWas3SbIkz2Wq0vfk0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=A+/31IXwPg+okc2R2QGMc0/lotWODTpUPe5sKs2eYkMba/EhDiupE7lxivZdfTV+TsnaQjDBpBklTpQQv/5G8ZeLh01NT0cwnSn4rVqzAujMK5SuAhWGVy5kpbvlPc1tTFnlLWTsPc33DKoI98yc3g1hN3BfZgE8yBB3aKN1VT8= 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=S7/QiXmS; arc=none smtp.client-ip=209.85.222.178 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="S7/QiXmS" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7d09b0a504fso41166385a.0; Mon, 16 Jun 2025 10:10:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093803; x=1750698603; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=+YfkFvrTGiA83jTYNLbHNHZ9OUEi+RY62zinuEM1ItI=; b=S7/QiXmSuwDLmgT8oSoQPveuWqnbCZcgHiOtFGBDlWLttgrKDp3IDMdsx9bKvaqVL+ dIUt5WBTLk5sM0dRpIOKgvQksyqoblj/rRNgNEVgX5VEScbBMzXosEu6ocN5HXGdrR3B 91e59bRce0lKHeODaqSPhkf2soZQurlRRofVgJfPtbCegxQGGp5vcxiE3CEs/BiRKR+P 8KodQHOIhvctPHsglrP038qB3ogGnwyozz9jQXLxfL5oBpvsPoKTlfpxcXTW07cvRvlI NcgGThW+YbG7vJfmwpMB9594mKz3rh66YvailSmc3p7NkRrdps6FrwgdkMMuB6/SZ6r5 ZKyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093803; x=1750698603; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+YfkFvrTGiA83jTYNLbHNHZ9OUEi+RY62zinuEM1ItI=; b=QgTcEhlngpftAEfRKiED8NrMYVrJ5ro372bOcjnZ4hAjOAIhhlHcPUSM73OPTi3QVh GhOyHmZcfodaVs5+5YKoowp40q0SfoHAXT37klzYgnwuN4Bo6MfH49Jsjr0+L6GNvqi+ gpVQaAkLxPa577DTSNIiM0smQIL6Or4/Iu3pPAqo8dU0xo7X3qcCrEoME1jJnCYoUT6j X+ehnoaNppvgZ+m+HyZzvHCM8/iUch1LrG3PPNHlKYICYKDI8rcir2fnP2unIMtZ49fJ KG8u219mw5XIqxo+7M/nMoU0InycknbPzE39nbhpI+wAd+fNeDtbbanP+7Kwi1UaDJ6E D6zw== X-Forwarded-Encrypted: i=1; AJvYcCU2PXPvBfRbi08M66Nydbk2gPEyrRWBctTcUdBL2Kk0Zg+DyP5Bt1QEl7AWRsX/9OTwwmTprgOkd9WZSi2DlEG1@vger.kernel.org, AJvYcCUbqzwnCoV3Eg5YB3NJZ1LGV46nVNhJtWQEwiTSZD66DmP4+4+KlDiHIHWqq8BzRcFdXbiLTENpcUM=@vger.kernel.org, AJvYcCUtFwFPv5kGF7cc1TOu3XzT6TeEiVT8gA78U776AeS3GKqHzGMO1R1/7uZfGpvPPnZO+ocQtxaXhUHeBeFM@vger.kernel.org X-Gm-Message-State: AOJu0Yyjoe9WsBGN2HkfPgUF8z0BqD/CpQUXDTdtv3cXS3I+wxmuw5uv NH0J61t3qNpgaIpixYf30I5wGy0Am4n+KMw4z2fREaWqj1oioCWIsCLq X-Gm-Gg: ASbGncshMbAVmYAj2/eE6exE/NSN01q9igOamAiw1r0+RYZKC4OUMKJRyJVy5GWH3oB ykiGvcGSajBZAmBgNXvgyTRDrE/S+qrlsJSzpavepoZgKyBOyUTri2OCj9imJDMDOBbjwDE+uwi +LZhX1bcUYysOzAy9mA521+ZdzDKQo81C65xuVrtWEo8mKeE6bw7Wk1dnb4Xp5I8xVaS+izeBvy R0kmqqhHdvKxokU/uElzCqv+DkEYh2sFkwPcohi/9orfaEgmWx6/swrwdkDMehvb0zcuPkU18uu 9UPUvCrn6Y9fFpTop6GKXWP/IUqc4EQ+sJ5CoRHERtpwjYjd0/4h4q4= X-Google-Smtp-Source: AGHT+IFZLM2dpQfzIgUi24yS3+pKRzXJUGlugx2yV1qrq+GQVz0YIguUKZubmvsiXXvPUSa3RXb0ZQ== X-Received: by 2002:a05:620a:191a:b0:7d3:c688:a587 with SMTP id af79cd13be357-7d3c6c19342mr525863185a.4.1750093803376; Mon, 16 Jun 2025 10:10:03 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:5::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3b8dfebf8sm552238385a.29.2025.06.16.10.10.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:02 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:36 -0700 Subject: [PATCH net-next v3 2/5] netconsole: implement configfs for msgid_enabled Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250616-netconsole-msgid-v3-2-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Implement the _show and _store functions for the msgid_enabled configfs attribute under userdata. Set the sysdata_fields bit accordingly. Reviewed-by: Breno Leitao Signed-off-by: Gustavo Luiz Duarte Suggested-by: Breno Leitao --- drivers/net/netconsole.c | 49 ++++++++++++++++++++++++++++++++++++++++++++= ++++ 1 file changed, 49 insertions(+) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 5f8c8c6c5393..3bf8777fcd01 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -489,6 +489,19 @@ static void unregister_netcons_consoles(void) unregister_console(&netconsole); } =20 +static ssize_t sysdata_msgid_enabled_show(struct config_item *item, + char *buf) +{ + struct netconsole_target *nt =3D to_target(item->ci_parent); + bool msgid_enabled; + + mutex_lock(&dynamic_netconsole_mutex); + msgid_enabled =3D !!(nt->sysdata_fields & SYSDATA_MSGID); + mutex_unlock(&dynamic_netconsole_mutex); + + return sysfs_emit(buf, "%d\n", msgid_enabled); +} + /* * This one is special -- targets created through the configfs interface * are not enabled (and the corresponding netpoll activated) by default. @@ -922,6 +935,40 @@ static void disable_sysdata_feature(struct netconsole_= target *nt, nt->extradata_complete[nt->userdata_length] =3D 0; } =20 +static ssize_t sysdata_msgid_enabled_store(struct config_item *item, + const char *buf, size_t count) +{ + struct netconsole_target *nt =3D to_target(item->ci_parent); + bool msgid_enabled, curr; + ssize_t ret; + + ret =3D kstrtobool(buf, &msgid_enabled); + if (ret) + return ret; + + mutex_lock(&dynamic_netconsole_mutex); + curr =3D !!(nt->sysdata_fields & SYSDATA_MSGID); + if (msgid_enabled =3D=3D curr) + goto unlock_ok; + + if (msgid_enabled && + count_extradata_entries(nt) >=3D MAX_EXTRADATA_ITEMS) { + ret =3D -ENOSPC; + goto unlock; + } + + if (msgid_enabled) + nt->sysdata_fields |=3D SYSDATA_MSGID; + else + disable_sysdata_feature(nt, SYSDATA_MSGID); + +unlock_ok: + ret =3D strnlen(buf, count); +unlock: + mutex_unlock(&dynamic_netconsole_mutex); + return ret; +} + static ssize_t sysdata_release_enabled_store(struct config_item *item, const char *buf, size_t count) { @@ -1037,6 +1084,7 @@ CONFIGFS_ATTR(userdatum_, value); CONFIGFS_ATTR(sysdata_, cpu_nr_enabled); CONFIGFS_ATTR(sysdata_, taskname_enabled); CONFIGFS_ATTR(sysdata_, release_enabled); +CONFIGFS_ATTR(sysdata_, msgid_enabled); =20 static struct configfs_attribute *userdatum_attrs[] =3D { &userdatum_attr_value, @@ -1099,6 +1147,7 @@ static struct configfs_attribute *userdata_attrs[] = =3D { &sysdata_attr_cpu_nr_enabled, &sysdata_attr_taskname_enabled, &sysdata_attr_release_enabled, + &sysdata_attr_msgid_enabled, NULL, }; =20 --=20 2.47.1 From nobody Thu Oct 9 20:21:59 2025 Received: from mail-qk1-f177.google.com (mail-qk1-f177.google.com [209.85.222.177]) (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 14150289354; Mon, 16 Jun 2025 17:10:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093809; cv=none; b=hgl9vbL1f0sQ+teGSM0ujkfYAGt+uisFmfVD7fW73hrf6/o4YJTJ1WSylEF7vTHOz6wXcOXvF9IOMS3a318vICjzUacmy3bV4lcWQF33dBDsCWV2NhsbyNcqkCzKYEbfSgJjaSAjNqCdV25O3TkVN0dX/264dnypqQtKeWN+PGk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093809; c=relaxed/simple; bh=S6AXtgIwA3BqRvGaPsTmibE2Xba6Qe6qpSVC2eiIBzA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pISSWv8V4jZydPwscdnH2FO9pdtJsFw6erPjmGLr/lqMgacewNbf/k0lm4Hqpxe6oXBsuprDKoti33UxOBnuIUND/HXLQFoGUI7FqojqfnHtIld3YkKTcFNKSjADvk5FTU7YGPHGrGiQNEjr3eH9l1t9ZfXVzo79Cg4UAWngMp0= 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=U8GBPTyj; arc=none smtp.client-ip=209.85.222.177 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="U8GBPTyj" Received: by mail-qk1-f177.google.com with SMTP id af79cd13be357-7d3cc001a7eso53735885a.0; Mon, 16 Jun 2025 10:10:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093807; x=1750698607; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=OK6qPYTh5w41oMuI/YiRnU1CKfEtWIdx5+AUrw0/O94=; b=U8GBPTyjSwyd6PRHRF1Z9yy66PNk/a6h8+Sjhaj80o1BWICESjzEXH4JTk+3MaNMCe dyx6mEdZrcFM4ekYGSbKmPLLusUpLdWHe51QC+tX7nfArqg17HsDbvtJPW2vPSpEFk10 dfHsaSttdnDplbVYyBXYtV5g8G6GbFqhZf/fObapjvF3jn5lVi7IBMW8RWoPVKGCKSVo /CUvhCPCqj0+n0xew8FMaYA6+Qh+qRyP9yEZrTPKWIb8nrPbQkkKbIeufOGBO8sroAJE ucQy8J2fCBZb7squOe9c81Qz9vsB24o/Tqp1oNZwasoRuN0ksCaGP/DdENblq8XKZHpW q/mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093807; x=1750698607; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=OK6qPYTh5w41oMuI/YiRnU1CKfEtWIdx5+AUrw0/O94=; b=szyIXTs7u0oXNzL4M5EeyLCprJuIElZzMxTN474C9wH/UhBwfjjnHlVG9Gj549HsWE 8LMJ3iklKhNhQ+BVoh4FOPHD9+6GpFM7tpZqE1PvuoC8iLcrxvQMJbeXyIPDVao9rNvE /5ZEWh67a9lFgZz+FkSWTZBI7Qs8eGX5Mb5nqSKDlUhp6oK6g8gU78qSX7v9ci+aMRKD 0Va0SuhTB0aFf79AHmPlvdWaJQ2KsmZOROJyS6PE5FpMdV7pxeDHej8KXnGd1mEPAcb6 UXqqZ0tjWPzwbM0knHg0TXvYb52aqQZ33aEUizsrD8i7PyYMDqp5lGyuNs8BZsQBClZm ZSVg== X-Forwarded-Encrypted: i=1; AJvYcCVLPlpQuvTzkjpaKabkm0G2fY0rXthyyyrxzvOkWCEs9Ts8/9AkgBeF7PH37DxAkZ2B8iV1WfvxTJvYaW6t@vger.kernel.org, AJvYcCVu8fEt8S/8bSliXI60TxY+1/hc7FNK67kQQJ+Vc+55AXdAPi3Tp9x3B8sZEXBn/UHuHw0yA1K8mz0IIM1gcHb3@vger.kernel.org, AJvYcCWgoc6cGgiPdQbNjc0MxxLWuPaXiJFus41D4/IgJBvSvtdZwdTgtHPPWIvfuacSj+t1DGUzNKV9jUs=@vger.kernel.org X-Gm-Message-State: AOJu0Yyjae8cNTuLSHXN9TeUzBzoP16n54EPXKu7/nwMecf/2+0Yt9Ab UYOwfAU2YbWUvvybPG8/IDIAwVbcYEuKJm5DFDJHQCxvzvheYRE6IMj2 X-Gm-Gg: ASbGnctehd3xagGAIL7Noby9N4YtcKBX/sGKHaFssT6nqeMJkzDSnDA3wTKeQEWor0X I+N/CYqJcncOvzID+62Juyoe2Ni4VvfP9RJqNr7GjZ86j2NbhrbbUjB+UieanJgFjuYP5RK/57N sqtUUxnC5RBrp9NAchgwyfJ+N9avDc49z8qzGA+VN0Z5YW6O2X3Xd9vcWfAOpTs/4ak6sm6hA5R VhF4G6i5SonmEJ7CYioUIGbW9Pz2A8YkRuJldNDbJ0mu1iJ/6oJkGEn/03FIXeH8kCKvEmGaJs6 ZhLoImm7lmQlAZRAr3pGKB93VNI4IV+w8wDFa/bNO+A1WRPEppVIzrgH X-Google-Smtp-Source: AGHT+IFdvzba05VheCDBJxUYXSpce2kylnndfioVA1LiAxyk+2wU0m36bLaex981TUpgGBW0SxgIYA== X-Received: by 2002:a05:620a:318f:b0:7c0:c42a:707d with SMTP id af79cd13be357-7d3c6cfbbd8mr571017385a.15.1750093806814; Mon, 16 Jun 2025 10:10:06 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:70::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3b8eacccfsm549503285a.66.2025.06.16.10.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:06 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:37 -0700 Subject: [PATCH net-next v3 3/5] netconsole: append msgid to sysdata Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250616-netconsole-msgid-v3-3-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Add msgcounter to the netconsole_target struct to generate message IDs. If the msgid_enabled attribute is true, increment msgcounter and append msgid=3D to sysdata buffer before sending the message. Signed-off-by: Gustavo Luiz Duarte Reviewed-by: Breno Leitao Suggested-by: Breno Leitao --- drivers/net/netconsole.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 3bf8777fcd01..ee2bc82f81f2 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -125,6 +125,7 @@ enum sysdata_feature { * @extradata_complete: Cached, formatted string of append * @userdata_length: String length of usedata in extradata_complete. * @sysdata_fields: Sysdata features enabled. + * @msgcounter: Message sent counter. * @stats: Packet send stats for the target. Used for debugging. * @enabled: On / off knob to enable / disable target. * Visible from userspace (read-write). @@ -155,6 +156,8 @@ struct netconsole_target { size_t userdata_length; /* bit-wise with sysdata_feature bits */ u32 sysdata_fields; + /* protected by target_list_lock */ + u32 msgcounter; #endif struct netconsole_target_stats stats; bool enabled; @@ -1345,6 +1348,14 @@ static int sysdata_append_release(struct netconsole_= target *nt, int offset) init_utsname()->release); } =20 +static int sysdata_append_msgid(struct netconsole_target *nt, int offset) +{ + wrapping_assign_add(nt->msgcounter, 1); + return scnprintf(&nt->extradata_complete[offset], + MAX_EXTRADATA_ENTRY_LEN, " msgid=3D%u\n", + nt->msgcounter); +} + /* * prepare_extradata - append sysdata at extradata_complete in runtime * @nt: target to send message to @@ -1367,6 +1378,8 @@ static int prepare_extradata(struct netconsole_target= *nt) extradata_len +=3D sysdata_append_taskname(nt, extradata_len); if (nt->sysdata_fields & SYSDATA_RELEASE) extradata_len +=3D sysdata_append_release(nt, extradata_len); + if (nt->sysdata_fields & SYSDATA_MSGID) + extradata_len +=3D sysdata_append_msgid(nt, extradata_len); =20 WARN_ON_ONCE(extradata_len > MAX_EXTRADATA_ENTRY_LEN * MAX_EXTRADATA_ITEMS); --=20 2.47.1 From nobody Thu Oct 9 20:21:59 2025 Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com [209.85.222.182]) (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 4FB392BF016; Mon, 16 Jun 2025 17:10:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093813; cv=none; b=uwLmomWGSA8g5Ts7+JBkWt9UMjdChWP346qpMoQzKqSpK8jdhSN7ITjWoODxPfinhard2VmdHCCt5Jzf5Z+MiGbMyT1OOG+TdVuK1Oqcc6Ihq6iT3E0k+n5X31DiAggCifF3VBV9l0R1zYFt00H0/4lqXTBUVzP2xL2/olxZOQ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093813; c=relaxed/simple; bh=6QEznI5dDLWlKvkkHo/QuzqxbGMfjbjAro9UR7sEabw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AGr2JNHrsVTcCrk7FosWyPskt92E0iGbxKpBkQC4RzU/9pdxLlYQQr1AbKIPWp7dpeYtRm1cn8PHaQB5iHp0xDBCtLpWB/awyJAtp0j/ubk7EitpIyBMe6FXwEimuk8BdMEkmP27KlfYUm0eG1889nfIvLBhP56xWiL6a5BvSxs= 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=TE+u/5Az; arc=none smtp.client-ip=209.85.222.182 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="TE+u/5Az" Received: by mail-qk1-f182.google.com with SMTP id af79cd13be357-7d094f67777so98050285a.1; Mon, 16 Jun 2025 10:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093811; x=1750698611; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=mWTHHniH+bU9oQ9NHxDCHqm92WzrmLWSDAFi+6Fga6c=; b=TE+u/5AzufUMSs6DQF/zIe7q9U/Gr/9qwZYO5iM5lPwDJR/N98AwL/ScD/q55lyac+ 9IG5QHwuLh79Mg3NFiUibTyAYgFR5mqcaVo1xWKGaDpx7VBax20bI/E3FUNOuMgp/Abo 8VSyqVsPBOlefT3lB8TqTRqpChoOOYnRph6s5d/7KGMsj/VYfvlHdPT6Z+iH5bRIHQh2 G1cFediAdUiBJqWvHFKjTXJg2z+8A+vqEM2mKlomtMGLWXerHAltFygRZdmNVMchwGFx iq1qQ1tdlHiNKayt1JkuSm8FjdpitM35bFrRGHgBbRCn1U9/QcSZhkhhRMFD2HVWeXar VFWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093811; x=1750698611; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=mWTHHniH+bU9oQ9NHxDCHqm92WzrmLWSDAFi+6Fga6c=; b=vR/ryuODuZh1JU2KFoLyC0SWSJl5HHgDZqtjBN8fs1DpNHqDitPPRSR0E/i05Kldmc gVIJzR+Tz9eQ455yJTeUYKZxoaxDwGqHqSjOFswlfbsU4AaH3tZqVdd6tJ0PZJJ10xv4 yzUlKiKsOYgwfmBTjxsVGjJ303UX2pifnkacNwvrXraVrHyknLHB/2VMykdGp4T83hyN sgss0fpz7rVO3jB6UaxmkYJtcc52fvWgLURKzcSOfGXLLDwp+fguscPOckDKCNBQTbCK dPe9GAhgLdo6ope+yn1OJWYObtW0su+eOE/J/HLF6J/lw7inE58QiaO8jtk7PDh9djNH GZJQ== X-Forwarded-Encrypted: i=1; AJvYcCV6/nlfoQ0IjTyjKnMt8ArK8Pp7CXbdA4IY6SCc0gNZId78XyiX5EV5+GqmN9EPTgW/Cv+2jTO7Yr6TzrxK@vger.kernel.org, AJvYcCWWanTQltftHuivdMS4OPKyJ7rEVN91AI68q1LjiuePupYhpOxrxaXFeWkbGgpqfqryI6FViQnPNi7/5LfUt7ey@vger.kernel.org, AJvYcCX51Ic7w+NniMbxWMgFc6x/7qwFMo+PMPbkj8sRLyg5eBOZEdUER9yg1Io0n4Hevi403eAcmjU3FF0=@vger.kernel.org X-Gm-Message-State: AOJu0Yy5YYUZqqwDknIYhbFTU/LP+zyHOwlv63cNR3bIF9y3RDPnqE0N GK3jkEm/xoV0gg6MNhMLOzh/J/XVjBF9Rw6njICNGeaUcFwl0Z66+28VYtGs4wXRz20= X-Gm-Gg: ASbGncsh8nZlLZd6wkLHsVaStFpcb1LFpI7pdYTZvHV2crHVv4ntMDXcrPBm20bM74D s2H4s9KuB2QANZjPBUcKGBTT7N6M6TDLYzPtb8o7zaDKiKaRMwcJ+Pd7EPlXp33gCem0FJ1pInh rpjOhhH3nZFKUkyz3pXxA5DlDOZ9SMMfm5J/GcFjYuLkGLPGAq3JW1C3uRrj/nmboFp4zHtfrT4 V/HKIG9JX19W3ZxkWGi44sg9+1WD6ikyKcVU4VrkRn9kHwxKfQKj9xMn8Niz83oQSgHd8nOMqu0 Po7D7H+nZCGFHW2oV56VnQc/HeNL0GqnSHLv607NklWXKbVxBicxHr8py9crwaow/g== X-Google-Smtp-Source: AGHT+IHlQ8QZJbkF5GAqftCl6EGNscf+S4SIKCVSErUg5r/DpUZTbk82Tml3X7EBCIGWkskgG3nSOw== X-Received: by 2002:a05:6214:3211:b0:6fa:ed8e:372c with SMTP id 6a1803df08f44-6fb5b1ac9eemr3164046d6.1.1750093811069; Mon, 16 Jun 2025 10:10:11 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:4::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35b20f35sm53562036d6.8.2025.06.16.10.10.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:10 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:38 -0700 Subject: [PATCH net-next v3 4/5] selftests: netconsole: Add tests for 'msgid' feature in sysdata Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250616-netconsole-msgid-v3-4-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Extend the self-tests to cover the 'msgid' feature in sysdata. Verify that msgid is appended to the message when the feature is enabled and that it is not appended when the feature is disabled. Signed-off-by: Gustavo Luiz Duarte Reviewed-by: Breno Leitao Suggested-by: Breno Leitao --- .../selftests/drivers/net/netcons_sysdata.sh | 30 ++++++++++++++++++= ++++ 1 file changed, 30 insertions(+) diff --git a/tools/testing/selftests/drivers/net/netcons_sysdata.sh b/tools= /testing/selftests/drivers/net/netcons_sysdata.sh index a737e377bf08..baf69031089e 100755 --- a/tools/testing/selftests/drivers/net/netcons_sysdata.sh +++ b/tools/testing/selftests/drivers/net/netcons_sysdata.sh @@ -53,6 +53,17 @@ function set_release() { echo 1 > "${NETCONS_PATH}/userdata/release_enabled" } =20 +# Enable the msgid to be appended to sysdata +function set_msgid() { + if [[ ! -f "${NETCONS_PATH}/userdata/msgid_enabled" ]] + then + echo "Not able to enable msgid sysdata append. Configfs not available in= ${NETCONS_PATH}/userdata/msgid_enabled" >&2 + exit "${ksft_skip}" + fi + + echo 1 > "${NETCONS_PATH}/userdata/msgid_enabled" +} + # Disable the sysdata cpu_nr feature function unset_cpu_nr() { echo 0 > "${NETCONS_PATH}/userdata/cpu_nr_enabled" @@ -67,6 +78,10 @@ function unset_release() { echo 0 > "${NETCONS_PATH}/userdata/release_enabled" } =20 +function unset_msgid() { + echo 0 > "${NETCONS_PATH}/userdata/msgid_enabled" +} + # Test if MSG contains sysdata function validate_sysdata() { # OUTPUT_FILE will contain something like: @@ -74,6 +89,7 @@ function validate_sysdata() { # userdatakey=3Duserdatavalue # cpu=3DX # taskname=3D + # msgid=3D =20 # Echo is what this test uses to create the message. See runtest() # function @@ -104,6 +120,12 @@ function validate_sysdata() { exit "${ksft_fail}" fi =20 + if ! grep -q "msgid=3D[0-9]\+$" "${OUTPUT_FILE}"; then + echo "FAIL: 'msgid=3D' not found in ${OUTPUT_FILE}" >&2 + cat "${OUTPUT_FILE}" >&2 + exit "${ksft_fail}" + fi + rm "${OUTPUT_FILE}" pkill_socat } @@ -155,6 +177,12 @@ function validate_no_sysdata() { exit "${ksft_fail}" fi =20 + if grep -q "msgid=3D" "${OUTPUT_FILE}"; then + echo "FAIL: 'msgid=3D found in ${OUTPUT_FILE}" >&2 + cat "${OUTPUT_FILE}" >&2 + exit "${ksft_fail}" + fi + rm "${OUTPUT_FILE}" } =20 @@ -206,6 +234,7 @@ set_cpu_nr # Enable taskname to be appended to sysdata set_taskname set_release +set_msgid runtest # Make sure the message was received in the dst part # and exit @@ -235,6 +264,7 @@ MSG=3D"Test #3 from CPU${CPU}" unset_cpu_nr unset_taskname unset_release +unset_msgid runtest # At this time, cpu=3D shouldn't be present in the msg validate_no_sysdata --=20 2.47.1 From nobody Thu Oct 9 20:22:00 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (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 4D06D2BF016; Mon, 16 Jun 2025 17:10:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093821; cv=none; b=AgiEXP2OYCUg2WiP5PbuDRi78/WSxuSATDIsv1b//Dz+r+U+Ws07c+VE33CPHbZE8LdCXeiz7kdMbz1CkN8q0IChhkp0yhuFXN8LmY+F0jC1AGa9BP0IyncXSOpRnJqqPLzo7rGyQ9GnKWkXQwqVbTfefeeJDaMoJGyvjcAOdYY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1750093821; c=relaxed/simple; bh=1fykyusYVro73+SkCEdouTI5VeesZrBsX99TGTggxRY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=EHA3RuQfpUvREYZZapmnC7VODeKLmQcQbJ/YR7tCtEDtlK2XCL2DvqJ0dBfOjAuqdnWFeZhe5wZzrYfRfugw8Z0IvYIvpsHyU3HpuKcwyTpcXY0sLGpZOorGKek0J1sgKKbll1Tr7fdZj5m7T321LdAikN34WMHCc5eTI0Usu80= 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=ims2SCYu; arc=none smtp.client-ip=209.85.222.178 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="ims2SCYu" Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7d20ff236c5so103280985a.2; Mon, 16 Jun 2025 10:10:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1750093815; x=1750698615; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=ZnKjnGPQVsYruwW26IKQXjP4KtQDe+H/2EepWEDvdH4=; b=ims2SCYuni7gGXtPV4Gv3S8d6ijEGdPb6Eu91dihf7+zWnhmAcg/dVHfHkc1dXH7Gz EJeGlTBq7Uh+X8bkOzwP/7wL97O8wQV4cGmUu0jwfMutpAwMTaCnBka8WDViywmoRL0A ur8OGCxSDfmcGRC4v1MQ/5gFQcAq8knYZvZRPv3hrEmeSqwnfOqi7J8ykvuS0aZURpW6 azpgK27KqH9FM2KLBXNk4MIEkjLAskhDWEl2nkqEThjkeZC6i7p4OWSuM2U/GW7+lYEy 9vOVgwPJT2QCgVaJW+IJ7Z6/Mxs1gBRqqTBu7oofDTqnWPE003urkdJi5vKNHbj9sGuQ 72Cw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750093815; x=1750698615; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ZnKjnGPQVsYruwW26IKQXjP4KtQDe+H/2EepWEDvdH4=; b=M4GtTmKjWCGO/T6mar73xjIgvSyvhW2Bp2XeiQS9UMZXaSgu8yXw6UXEfdLzu7CVXY mB6tcM7FZ2XbDFJM9mDq0zmNRqVggcjx2GDhtpfNuMkb2gek+hVmunjFQZxvB3CaZCgt 6YM+COgp+3doZwOZ6TSh2rh8tJ52wtLz0d77nHhkFTEvIhVWCuaMKSBKwhkk+Y6tWue3 XyyyYYfFA82Uav/xActQceuA2LIVweGH+3rhSdrICTZ65mQ6/Cam2kdyHuFoJdndfxYp oU1yAIevKccorhaYiCPJaYsMPpg6K1GrpiphpMLmqIRA5AHGz9RF9nlv34g/Vy/X1S9J YY4A== X-Forwarded-Encrypted: i=1; AJvYcCU3paDD3YEjfD/q/+jey1LosMwoXIBrNX6eiWbMkWgvVaMYfeYJhpYLiul8nUHUrKrMUqccnM7uh7I=@vger.kernel.org, AJvYcCUjsm8dXB2g1gKXOXSyZuKSSBj1NmAVJS1/Rx8ViEycI29JF2L++Y6JbxRnCsSpZd7eWnvC4AZ2AFMjkFq+mWUk@vger.kernel.org, AJvYcCWbe5F9zeZ/yVfTYLDPfo4+163nYuQ0IobkfchxoqCwAwXQozsk5m4rcTpk1mKf6D+ee+1tGWN6HgMkAe0H@vger.kernel.org X-Gm-Message-State: AOJu0Yw6DwBD1G1nj1YxCRxGRIVYlnXAHPKjwCIUnH4G70z34YwUNsNk FXs7ABGhvo+/kiemXOGJYbaAeoF6Vw6IA8nJU11O/xubXVC6i9GSfSQ1 X-Gm-Gg: ASbGncuJ2k5WQv7gOWSpMKIZ73gDWXTXNL7PeJVetry9MfjmxFO0dGHd4pSMUeWEJ6R kiWGaFiuywuXrxUV7dOQnx1fZHyjuvZwWhtXJyC/7/f2Od0uwgVYdBh2DjRC/N/dE9Y4HWh50u9 o5Dl4sd88E11GeuQYKDiH1pgg2wW1lL3TjlOxzqnOq4LnztRyHiRgNpykQPY6soFUhCOLPz/SoL GdRR7s3kF6xqSiO+1EF0JFHE4FIPrI9IjaVWM+3jgojwoHYU9sswLt2ERxMZBuqvIBGfI0/g/yv vFapvbAnLWiblHfySGoTyulvZyk+7zszCHB07QIUwzFLeidg0HPCDHDd X-Google-Smtp-Source: AGHT+IHsQ9BByXp5pGeWBYEn81TAB7iyvrQOQoiCKdS5unwxLUFClfS9eLO2YORgalJfCQUKj/cW6g== X-Received: by 2002:a05:620a:414a:b0:7cd:4a08:ea12 with SMTP id af79cd13be357-7d3dddd3dcamr28146185a.0.1750093814938; Mon, 16 Jun 2025 10:10:14 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:73::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3b8e1cf5esm546463585a.49.2025.06.16.10.10.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Jun 2025 10:10:14 -0700 (PDT) From: Gustavo Luiz Duarte Date: Mon, 16 Jun 2025 10:08:39 -0700 Subject: [PATCH net-next v3 5/5] docs: netconsole: document msgid feature Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250616-netconsole-msgid-v3-5-4d2610577571@gmail.com> References: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> In-Reply-To: <20250616-netconsole-msgid-v3-0-4d2610577571@gmail.com> To: Breno Leitao , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Shuah Khan , Simon Horman , Jonathan Corbet Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org, linux-doc@vger.kernel.org, Gustavo Luiz Duarte X-Mailer: b4 0.13.0 Add documentation explaining the msgid feature in netconsole. This feature appends unique id to the userdata dictionary. The message ID is populated from a per-target 32 bit counter which is incremented for each message sent to the target. This allows a target to detect if messages are dropped before reaching the target. Signed-off-by: Gustavo Luiz Duarte Suggested-by: Breno Leitao --- Documentation/networking/netconsole.rst | 32 +++++++++++++++++++++++++++++= +++ 1 file changed, 32 insertions(+) diff --git a/Documentation/networking/netconsole.rst b/Documentation/networ= king/netconsole.rst index a0076b542e9c..59cb9982afe6 100644 --- a/Documentation/networking/netconsole.rst +++ b/Documentation/networking/netconsole.rst @@ -340,6 +340,38 @@ In this example, the message was sent by CPU 42. cpu=3D42 # kernel-populated value =20 =20 +Message ID auto population in userdata +-------------------------------------- + +Within the netconsole configfs hierarchy, there is a file named `msgid_ena= bled` +located in the `userdata` directory. This file controls the message ID +auto-population feature, which assigns a numeric id to each message sent t= o a +given target and appends the ID to userdata dictionary in every message se= nt. + +The message ID is generated using a per-target 32 bit counter that is +incremented for every message sent to the target. Note that this counter w= ill +eventually wrap around after reaching uint32_t max value, so the message I= D is +not globally unique over time. However, it can still be used by the target= to +detect if messages were dropped before reaching the target by identifying = gaps +in the sequence of IDs. + +It is important to distinguish message IDs from the message fiel= d. +Some kernel messages may never reach netconsole (for example, due to printk +rate limiting). Thus, a gap in cannot be solely relied upon to +indicate that a message was dropped during transmission, as it may never h= ave +been sent via netconsole. The message ID, on the other hand, is only assig= ned +to messages that are actually transmitted via netconsole. + +Example:: + + echo "This is message #1" > /dev/kmsg + echo "This is message #2" > /dev/kmsg + 13,434,54928466,-;This is message #1 + msgid=3D1 + 13,435,54934019,-;This is message #2 + msgid=3D2 + + Extended console: =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =20 --=20 2.47.1