From nobody Fri Oct 10 21:06:52 2025 Received: from mail-qt1-f175.google.com (mail-qt1-f175.google.com [209.85.160.175]) (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 510AD2E0B73; Thu, 12 Jun 2025 20:03:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758596; cv=none; b=svINsYeh156TvHlewtvUat4gXGJObK7b8wtP45F9f6g50LfRWIfgKBW9rLgdrQv4Bt96hxp0iXiRfHrfxN39LFNkHgnCVbWAw8ufriyiUImDxK6yphFwt9MgPFVECxpKqmgPAyI4joUe4FYnJffsGXP8+eWOasamJ07ZYtGzXD8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758596; c=relaxed/simple; bh=p94oIFo4jUglnAhbc3gfVf3Xl1s0WKJ0t3PNRYqQRvE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RzTuRWggctzloCILkr+B2gCAulAugMYk0yG2jSU9M6qlYnuTUap0yi6mL8rtlpYqo8OhFeM+EWWI+E/JTpmkHvOTQ+Quqacyj3Y/Sd2TxuiYVfszPPIcb8KSCWiPrqoE/GU6L0YD/LHdNOkEvIV8YcG5pdPLJFX+teCooKSr+bM= 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=keS+JI32; arc=none smtp.client-ip=209.85.160.175 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="keS+JI32" Received: by mail-qt1-f175.google.com with SMTP id d75a77b69052e-48b7747f971so1513301cf.3; Thu, 12 Jun 2025 13:03:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749758594; x=1750363394; 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=keS+JI32l9TQ8njvXDiHqu+5MxZq81deZkT8Kc8/8CpDfx6EQ3nmW4V5TukVNjOG6g UFVeKh3RctIw0Ami27xVyBbCH+6gCO8hT3pNMT9Z3SXom9kN9g/Zft7sn7wND2gwulcA +knRN+r2c7JrMVRlcZzNOVrr2QahTCrdixsQkaQsHTe7muf8mpguVzUZA+LvMpracJ+F PeePpxAxljGsEPybzedKlunfbFDN2JuD6a2QVmyXR9s08uSO0g6cj80bWQEDCdiycgEp cNiQRzX+rxHoXMbn/zL9I8xVU/RVhMw1kvoAYUPtdqbHu8hVrKnjwGJxVP3GzSt4YzGz AEtA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749758594; x=1750363394; 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=LuWCMlJtCo8kg0wyhAJRfu1FNs63hgraV4SdY+VzKManiU9f3VAz9LhTGqu+NG7O1+ 9kmRZprSU317+7doxFcr91SKjzicLB7t8i23yTEtSWv/Z+CB4S4uoCqgS1nGPZn5zWy2 A0hvumPtM2fnUhFEEMTjj9LHEgy02/+enxnzTILa8d9qqKHc0/6chClnWSLh4+4g80Tp Tp6zghTVSnj0u4wdrKl02FkrbX2Iq6pd/ndXoxdgsgF1mAYIm4l+TwlUvPotoS4McApf c4Av4Gb9zO8rrIUPUvTEQMbIO81b0of3SBqNbF4Tihob5yMxI77CHe6LSjgTsmAl0l6x 8JMw== X-Forwarded-Encrypted: i=1; AJvYcCVkmNiFaPoJzGt541P0DGZpqyzuROlEVgAdHE/VYkZ744LZMcioM7zp4W90yXnYv1EL4Pf9xa7lApc=@vger.kernel.org, AJvYcCVwzbuNM2jx+11ANkP1zm9osmzmcpYfLNKRdoFSG1VEbwMHx67F2Hoj/7BPaQM30ABDZ/Wr3HTNCxd18IhaUjuh@vger.kernel.org, AJvYcCWPJCoY0UG0ptVbHNIJuBVlIgpu/aRnAbCexr5RErjB0INCE9zCZtBr3CUUNTNOmjWSbs0jWKm0eoZTjZNz@vger.kernel.org X-Gm-Message-State: AOJu0YwTI0ev4ZZleUW9V1em597olyNZh6tAgkUeXDEwoK9iveg+3TH9 N+Eo+DSSGL5tZTavH4xSsIfUod0nPBMLQxoeiDEbugsKCrsMjezhZmsr X-Gm-Gg: ASbGncu6wg5oDF8hSDZ+KoMw3XigD2Y8RRxUDO5Je8CfOlgSS8rZo8M3IeE7L9RIVgI /eGWB+Pzv89mLEHdzLYvclGf8q8fxSm+bN9rB7qJldiirGnWVD5OPsge50u92a11hLFNNAicgqO cZ7b7eUxxuKqJIF+FQaREitVMr1NSodOuC58+8E705HpYgphuyS+1a8c8GW4zGnmz1qGBbqWhAk OmWSvYy+8kU+1V+rSAZdbwAH1jxYIs+v33hDGD9Gf/K6KkoEfIOHPC67/yc20EOCNhSU/IUQ8lt DHWFJzcBdodpGCYRr3UJkddisJ/Laim5NnAxw+PwrqDF/uzwG6AhZnY= X-Google-Smtp-Source: AGHT+IHaJ8YHfWK3ymwJNH+TEVoQLf7B7caofHWGb4f5nJ1C2jtwl17bBUz8ImIy+guO+S4h4KW2tA== X-Received: by 2002:a05:6214:f29:b0:6fa:ed8e:372c with SMTP id 6a1803df08f44-6fb3e5fc540mr1071226d6.1.1749758594031; Thu, 12 Jun 2025 13:03:14 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:1::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35b20f67sm13696456d6.16.2025.06.12.13.03.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 13:03:13 -0700 (PDT) From: Gustavo Luiz Duarte Date: Thu, 12 Jun 2025 13:02:14 -0700 Subject: [PATCH net-next v2 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: <20250612-netconsole-msgid-v2-1-d4c1abc84bac@gmail.com> References: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@gmail.com> In-Reply-To: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@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 Fri Oct 10 21:06:52 2025 Received: from mail-qk1-f172.google.com (mail-qk1-f172.google.com [209.85.222.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 092DF2E2EEE; Thu, 12 Jun 2025 20:03:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758601; cv=none; b=dO6Vn8xpRHxTLDg/fq6Mno694czwWFS9YfMbwVTRZRTHccHKgLMCvgqs+B29MNN88+vhxPVCv2VOYdZ8fcMkTcQXTa452Hy4k2gY+v1ENA8pB/9b1IZMTX+AWCSpX/WxkjBlYY+J3jkbq/5rjfmvqMjEZWg1+MvRpqmIEBQXT/U= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758601; c=relaxed/simple; bh=mfkoUBQgABU7lMjOTs7x+P4cuvWas3SbIkz2Wq0vfk0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=E50zalSXvRyr8k7YSp3OpmU4TPOj4r9mJJc/FgwIaPIaAoZX9qWBqMeQ3+qSRfhLHR9NHSYa+w31zY2raD0lbJOHt1mtL/K5ZZA/EQoxUYMsxqjySpBmLPR6EuSduI+kDcaCemCydH39zPwac/3CCViDKzfy6iFUxe4ayvUNxCo= 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=TIs/nKXH; arc=none smtp.client-ip=209.85.222.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="TIs/nKXH" Received: by mail-qk1-f172.google.com with SMTP id af79cd13be357-7d094f67777so21600285a.1; Thu, 12 Jun 2025 13:03:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749758599; x=1750363399; 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=TIs/nKXHT70WNdif7fsRt6NhOFAJcHdviYVrbPGa6X3T4bXYFi+XShbxO2rIFX30wX GSnHDwgpd6Ol1qNpzV9p1vjsBJoD5aodDAHb9coJfm08tY1u47xsb08GTUqvoxeVzl8v uZXUBxTruYTUh95DzCmE8aMHukn8QWIR10qNtadDg+c3D8am/HuR2BnWBIk4JTaoIoKI 8ABQGXx5xH2SvGsttb34AVt90fSLyTxJQU7AEcNeNGc7GISXtEbXuz/9gPiaYik6idKk peOf/emgZ+dwSvJb8KMYfrrWG4Ij4IX8t3h6Wf02DzdtNHXyNOhZ9YmDky9UUVd3A77p NSMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749758599; x=1750363399; 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=KEd/ybjHS+596q8EAtgjbY3zhBQuPUk1/O3c2bFyPHmmY7URM7DpSEeM4Jwo5ac99h VtsPwkwWp4zc9oh/V6JUJ1HSKx/FjUuWkZ4wFuGlKOl1KFaaHIiaNHcdhKSwej/GXk8Z EZPQHGcYHWCGy4kRdjcsjvDgSXOS282smjHlZmzgtaWErcwB/WgSgTLhRfktm4EG0tcL Jdw+tuJyLJimjeR7aA+uMjSyY0ZCn3Xlgd0q7jSacpY8BryF5iqoFORkLPO9uils91DS skQQsxh3Fr8Ymt48L2tprg+MrTfEi8f7izZfS83Ci+uKPHXCy0IH/cXqlWVDN55O5Ita 4OcQ== X-Forwarded-Encrypted: i=1; AJvYcCX7BJyamGdic1Sw5VMfEmoG6fd5d4KmVpl9rb6wVBxMu/MC6ODMvMkyih4qcWBSYTYvfWlT9PpcRbTyT7Bm@vger.kernel.org, AJvYcCXEBSJskgpuZHBTdwq6bDyLBl3e6X0sv2D1FitMwUuB1zqh2aQIC+bX+fgMtT2sshbh3t+ucPI/cqE=@vger.kernel.org, AJvYcCXY9NMM6g0vZdHv04uSrJpxX6mheUKyKmViTEKbZHxcCQFhqUUeLZQ/4goCGap+3WBGHdtu0B0SQLnEt/lnq3Zk@vger.kernel.org X-Gm-Message-State: AOJu0YxCUXW8Oq4wUlX1IilHhms6ND5dBAWWOMQ5qqvROkdCRnHqPFyl TdzRaQ7XP3A9RdMuKqAVAJoJP6nw2YUk+PQ5UHR+wC6rfcg9FZp+mDN2 X-Gm-Gg: ASbGncvNHuIYntS/Z+A2VCO2yYNWDKENpG6sgm8mLeH6bh8SXpZIbglbnhmYTIW6Ecy /Qv10meZTBh2SlMVMuHKbcuxr4qY1+blt63u8GhXxYDcjDutFGnDnpnByIZDUqDHYRXDsi+6cf4 d+f+ToHfdgxrkGZt0XVvB/3M+DqBMXpqJMoz5XnFyPDHcKw21uN5Y/N4FoPkMzl5TgPFL5FJ+pA A/SlijvKIkLh2Pi2yu045UoCKbSIGAYZ7Aywk7JxeMSeQOjW0ZpJuh+IoV/n6S2MGj0lffSakCM J2F7JDuA7X48hz29WdQ/i92iTe8J/8e3JK8NTFhagSUqSKbd0l2Z7oLhAGZAiPLXMA== X-Google-Smtp-Source: AGHT+IHyrEl7B0UchZ89+sL/muxq+x5KSl3fvd5T3SB0HHUstcFpCwcK3KwCx2/oSPA7BZNskpM5Ng== X-Received: by 2002:a05:6214:2348:b0:6f7:d0b9:793b with SMTP id 6a1803df08f44-6fb3e672734mr928146d6.8.1749758598636; Thu, 12 Jun 2025 13:03:18 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:3::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35c6b67bsm13465536d6.95.2025.06.12.13.03.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 13:03:18 -0700 (PDT) From: Gustavo Luiz Duarte Date: Thu, 12 Jun 2025 13:02:15 -0700 Subject: [PATCH net-next v2 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: <20250612-netconsole-msgid-v2-2-d4c1abc84bac@gmail.com> References: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@gmail.com> In-Reply-To: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@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 Fri Oct 10 21:06:52 2025 Received: from mail-qv1-f47.google.com (mail-qv1-f47.google.com [209.85.219.47]) (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 7DE702E2F1B; Thu, 12 Jun 2025 20:03:23 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758605; cv=none; b=su12do5IIc5e2DWTnX0C00qqW2vFPfSdB1mxaU07uApWkvIP9qVaNrNekUnjaBTdH0tY5sK8O0xCebHE/mPQRYmbG5TQTGUaM0blKBBty4rgXQwXh5iAbBl33IBxycYOqvjhVlgAMkgoOltqKKfirBKU+wHKTwpg8GdImXsJShQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758605; c=relaxed/simple; bh=nhD7nQP1armvamJAdav9d2T+px7RNCdUFLeEb9HZweo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lZNQDkyw9QZwIkhchDYuG6nms7W+a+hieqZ5Ef7Qbim3WG9mgDE983q4UGaZTfjCNNRGN+olINscVUA/YM7qBwRNLIEU877XKXCdlaB25/s1UWJjv90SS39QzqJCIsuxiMqRCE9coLjPZHPJ5PZ0dUasOdZdlf1bEg45aU6/Sco= 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=cMwlhDGW; arc=none smtp.client-ip=209.85.219.47 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="cMwlhDGW" Received: by mail-qv1-f47.google.com with SMTP id 6a1803df08f44-6fb0ac80aaaso409946d6.3; Thu, 12 Jun 2025 13:03:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749758602; x=1750363402; 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=ss/uhQhN6lUEhvR/FJ2esBhszQQF0E4wT4q6/teIq64=; b=cMwlhDGW//LYV29l/hO/0NhoWb1BjmsBQzLdmLyr2K9+gI3Z4F2v3iAYfqFOMKWSHZ KFctZUFz+4Fnc1Yh5LQcdjo2oMSB9hB8TasfJ/+R5OAB5Wx6dX0eFvF97uXX+SO1c6n1 ogTSTO/LC5KWo7D6UDA+n94+j1CGYW2U75/5mKC5mROqdMsWxzU38QHOEA59L/Ws8wTj J+9sW/+KLw/Y9pXhFQSQEqUUom2znq5l/0DSL5m0jatvxLN2hLL0LTldVvxN9/Th0cNn SOwc5WMuScDCeX16HOzgRTKk36htkEpzBFmz5Y3mO7lkt3rB6kpHUXiZ2yR3md2NqBsS cAAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749758602; x=1750363402; 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=ss/uhQhN6lUEhvR/FJ2esBhszQQF0E4wT4q6/teIq64=; b=uH1sSgdWXWu7vai6Hx8FRTJ9JuyNLPZYJemP09PcgwHXP/0UUZr+g3A0WgyjS4IHX7 qDC6m0nq2ZOzqnxtf5O5kW6STvRi6in0uCNLwnrhNhEzqT2hPIIxA9TJGRbFGpec2mS9 m82+dkWaf460T/kj0N8gCP2VNc3pTbo/LOw+seBqMzI8bdVa3QLf5bUewxG+7P/ka3Kh 7aD4g+LpWujc65/k/HGYMzA5dmAQyWfcQ/dnWo683xpIae251eGnxHhJKSy+hE4qAC+a qecf5bvV9AFbKdM63TSJiQeDCKk/v984wSkA2h5u745K4BjN+pLQIgkAPoXC0XXsBpSw 6TQA== X-Forwarded-Encrypted: i=1; AJvYcCUQtIwBroEqnkpN91qQcSkFCxFLm5aVwVV8z513obOuwfGclbk8MdZzVM6qpBUloUXCST1Xv0+cUv18H65a@vger.kernel.org, AJvYcCWUPYMYsGY6LWWp18QBoDOHgmEPp4RBlUbdGXGhZsDgBbe36mQZbc3S5RyCqogqKg122X8ZmaNRmtcbhHXc2dY3@vger.kernel.org, AJvYcCWnFQ2STlBi0HbF6Po+mdmRYjHuKjZ+FOOsymvYM9sHRonbslRnyxXpjj12joxP8xYbJv7nVjqYEGY=@vger.kernel.org X-Gm-Message-State: AOJu0Yz3xUQOnm/QPOky7o81I6LBwmgrEBc9gcvoBf3vZMSMfXNoSYxO Ex+AxbyOKBAJ2gvV2kzYUkdvupCFw29dzpoFUO+626i78BVFGpHxmrgixjr0OzcecCQ= X-Gm-Gg: ASbGncsKiC5qn6Vwb4sHgoN8OHAFoqlLNWxkPVxCK5gX3EMO8FQwHW2T6fOYKZKI1+K 9LfmmRepd6E5kWdPc41foLEW3td39TosaW1gsGgy2Efj3sjbuV/GvF4hOIZPh5EEd81P5XmUV5K bMWtmKGZo02HLqJpZ0pdAzlO5ulFjkXyjVewdEK4HGaPdeQR6PqtFYk9pV8vALKOisZXoJnIwwJ f0UuPBPDabEu1eDziBouNrapYjzwQOVjwKaxorwn+fjMOfAP6UYU67Pl4lu0+C7NPdllETdhE5H GD3wg0sFsTOoT2D7WkZLbfTRMRln04R9pyAWYrQ/+D58dXDR7qBE+EY= X-Google-Smtp-Source: AGHT+IH9GjdEeMuR/Q5I7mjdit9VX01tOQlZz5H6NKrZw+S6Pvq9hyczKt6X5IFUSwrczAifaz1J0A== X-Received: by 2002:a05:6214:2462:b0:6fa:c22c:f10c with SMTP id 6a1803df08f44-6fb3e665ea8mr837136d6.7.1749758602131; Thu, 12 Jun 2025 13:03:22 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:5::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35b20f5csm13824086d6.21.2025.06.12.13.03.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 13:03:21 -0700 (PDT) From: Gustavo Luiz Duarte Date: Thu, 12 Jun 2025 13:02:16 -0700 Subject: [PATCH net-next v2 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: <20250612-netconsole-msgid-v2-3-d4c1abc84bac@gmail.com> References: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@gmail.com> In-Reply-To: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@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 Suggested-by: Breno Leitao --- drivers/net/netconsole.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index 3bf8777fcd01..baa9862c1bc3 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -155,6 +155,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 +1347,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 +1377,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 Fri Oct 10 21:06:52 2025 Received: from mail-qt1-f171.google.com (mail-qt1-f171.google.com [209.85.160.171]) (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 F01982E6115; Thu, 12 Jun 2025 20:03:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758608; cv=none; b=ei1snKGGfG5EtxFpbeD+FX8MYPKQ6sjHu6KJCDD1l5CWE/Wd5TAS0yqiCTv8u9yOdx0GhnpjsBazWy2iAQCLfNB3INp0vmJStUZEMF1jgXSWu0b2OcDxUZvlD+Kw+1YeAGAj809KsPhcJcLCHuWoF970NLa8mwh/y7oOq1d+4Qg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758608; c=relaxed/simple; bh=6QEznI5dDLWlKvkkHo/QuzqxbGMfjbjAro9UR7sEabw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=NI+owrPHYsgehc7d6s5s0GPmubdKmAqpqHQUxCedRdxAOvZqebaf8WynJmtiNjZxv6B+7cvnosOlpPK5WBZCzQRpte6a3kAQx/iwJYktrKHDtV5598xurWSH+enFfEcb93qXHMDla51sWvv7LuH9ytj578q9q9ekhRQpKu2gLoU= 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=jyeH2gaM; arc=none smtp.client-ip=209.85.160.171 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="jyeH2gaM" Received: by mail-qt1-f171.google.com with SMTP id d75a77b69052e-4a5901854e3so1979561cf.3; Thu, 12 Jun 2025 13:03:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749758606; x=1750363406; 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=jyeH2gaMsM0nnCQtSp86xsfS9ZWvYfVYp8vsXHi5xMUzNMr4Tc6eVgSQ1c76me2AZC n9C9iQFlAoclb22F5YPWC7nND44Kf9ImjigWYQZf13QQUPDLjZ71MMLoZwA8gN0D3ekv ZSyWv3znNCZ31wjdJoC8w2PfoPQW9tWXBZJHhWa2DnCovmYB8KUIHB2IhJvCbrSBh3wQ epWGWpE2UnfP0pdvHnmr6lQSJqMqpW17Y4MWO17A6W+QSfJkR8WIxBRjL+gP4wiSRBfG iPRzcMi7v46dsfyoCNmAv6wbRzuIb7nekLbxQhj23KnrwsvPqlhAA6FKeLW8A2m3zQ2T 1PsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749758606; x=1750363406; 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=Xxev6XffAq4eYW2rQd4xofMWwCFUKrCnpH2NmMDnStJuoJ2g5zLNBdYT9a6xoArLVY Dmjr51gHlLq763QeBDkgDdNHIraRI5K4Whmvr90aDuI1LdZ9DltWI66e/1Rvnui4ZAD/ kyw2N6lXOcvdz/TLrlX2k/wF4mSLukPzEambb1A6L5sP/EBST66ZP79UnI+PI2poQQfc 3+0HvNVtsuSz2Os/k3031QLnJVhJwFDrGV/KOZOAdveko+ndLb75rfyjYc0BbDTSxMtF TLlrAzIGnKLNXd4qqMOnAWFw4QZfTKkmljgCmvmXMMytpoAcPNIJX5ZrMzP5aaLBYkMt c4vw== X-Forwarded-Encrypted: i=1; AJvYcCUt7gZa0loHJXgpsgetH0crHURCxKkche9Q/EA3FHxUxsK38tNjuCHfpORo+IR7lgrWO+qURdkG5SCaGJeQ@vger.kernel.org, AJvYcCW9KvhN2ysAADj194ulkgTe72igi7OST+DUwbUNVP/Kw2H7wHRdDwp+uTiK+3HHz5IHKdlmSzMyX2zQxMpjDWHT@vger.kernel.org, AJvYcCXJvQjc8hjRHyRHB+o1G05rcB1TyLn0MfyQ0QnG5Rjqon4HhA7yqI5hd2H0l+Ne9cG7m5wpFnCZ0rw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz1qmJict2qd7mClVpWrajjcT+Yg04cWAsPCqDxq878CJ35C43C 8uGT+TdAHLQe0xwDy/Fe6A9AbtUb1+bVqSQOT0r7HVwH2wCAfSEpm02E X-Gm-Gg: ASbGncsX18Qhzt7gqAUgQDee+nUyvSb/R1uPBL3sMCi6XCEGbK15aHSdhfE0BMOna2P 4Bhox3PsQ6Z7zxDg6wh3IyAhCcfIDnW0mcWqOkipsfoDEmta7HarqEc/lkU7UgykKqkuo0x6t8+ VcpHdsdmJVBDYy9YdMn3zTHgNzecjKkl4VDUVA6N94vfZE/Ym76owKUc4DqvCdfol5hHz6BCmlZ gu6oGqRNCe81821ShjgNpGR6COQsBcc/o96BIu1+Bt7J5OiJJ1yH2MZfIqtHcU5qJw2CxW4aRwM RYDoEbpdwWORoJic8g43ew5KDjSz4oSdhR4IYn+25dLyQXcB/p9Z2mmq X-Google-Smtp-Source: AGHT+IEXlJsA9JHwVKpKYyaVQkMwIEHESKyeUJ+v8mSb720LphVg12UBG50EL+NjcnbhGF9OR1DQOQ== X-Received: by 2002:a05:6214:c8d:b0:6f8:daec:8b7c with SMTP id 6a1803df08f44-6fb3e602161mr1169246d6.6.1749758605749; Thu, 12 Jun 2025 13:03:25 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:71::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fb35c7ba2fsm13418386d6.104.2025.06.12.13.03.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 13:03:25 -0700 (PDT) From: Gustavo Luiz Duarte Date: Thu, 12 Jun 2025 13:02:17 -0700 Subject: [PATCH net-next v2 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: <20250612-netconsole-msgid-v2-4-d4c1abc84bac@gmail.com> References: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@gmail.com> In-Reply-To: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@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 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 Fri Oct 10 21:06:52 2025 Received: from mail-qk1-f174.google.com (mail-qk1-f174.google.com [209.85.222.174]) (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 CD7B92E6D0D; Thu, 12 Jun 2025 20:03:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758612; cv=none; b=oykDLHeFqGybBA7eosJ06LVHYtp0L98BVxAp6ehVyUyWLkePCKLa1JhbnPt7N5sWgMe8IjyS36mmGqw8b9cu8e0agy4szLegwMJAo3l8EdFynHoedKfD2SvF3C58I8PlzCVrkV2xBi8uJKZAXhkAS9K1pUG89RDkdJg0+pJU2K0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1749758612; c=relaxed/simple; bh=1fykyusYVro73+SkCEdouTI5VeesZrBsX99TGTggxRY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GAAyAvv9lIXR3cz9HD2ThZaq1wzxKon+gChUVXXxi1VS9gRNQTL5qia+sq33ISLlSHYpXpzqsL5ysojx4mu5xqIY/L6wkigRRZz6sLFSeySMdcZGyZJ+Sikqb7I3P7YpG/PICLspat9ZGSThXfsH6IMbWm/xtRdHwgRXi0HSLzM= 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=W4sHbK8R; arc=none smtp.client-ip=209.85.222.174 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="W4sHbK8R" Received: by mail-qk1-f174.google.com with SMTP id af79cd13be357-7d393a42698so13740885a.2; Thu, 12 Jun 2025 13:03:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1749758610; x=1750363410; 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=W4sHbK8Rs5KCcGme9De5sqRir3UOA9vOZUcGmoOpf2cdZ8eVtjOlxadBwoa6UdY4qA vhv59KXx9PALywRfJr53obg2XymxjiHUWtZtVr5731rN5HyxE2R1NpUM85oNbzaafcrN VrvTpUCkIrV7HSSsCtVA8D2pyJ/IMq5Gwn6Cd1Rtex/VX4UtFGsn0WQdwxybAF5AesVk LT7hYM/v4q+OwU1ZZqFzpQbQs7Z6cvfqwmfpanM950fUjwV3G69dlKjS+VUFniiIuAnj cNFRaZasw117y0uEdrX59SoR6U3rvV92aAMU7lxT/gLn2YABxYYdzqpu/62udPRs10PC sL2g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1749758610; x=1750363410; 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=FYSb8ZBs+T1hBE7+4cYhBLcBcbUsfBomS5S2hjArW3N8znEvxz2bYAgCrW6iV6cfgg NNZJCP+1wYUnCsuvxuLDQ2kdL4AbWfPrekuhFenU8xGk8R82rh4cPA8jV9qk7gpsDn7s uaywj8UzIhW6/Q9xg0s4tqsa5fp0hffB9fTdf+TwfH35F58BtgwArrHFMxky1YZffq5M WYJC20eWBLQW/CsGtCtVBh1dE0vszMTY8FtcXzcvMX9xoL16PPT+6gjTkvv0KPwpaXop Dqt9aDaCYwZQJ0ggzrcZuYR3RfUJAI+Y+zgi8MM5bFcOHl4E8pIDfgWoRb9yy/kc8vmy i9kA== X-Forwarded-Encrypted: i=1; AJvYcCUzCku/qJEjoT4lmmSJWlLQMDfvzF1PDby7z6diCIzUGlMT28rEjGicpfzSbLCTYSCEHxsFrhoAnVw=@vger.kernel.org, AJvYcCXl1hzb/7TtZYcgq1mRBp2EBAVnlSixPgi9lWp8MBDNQgigANkhltwwRwPdypncKccWOM55JgnLBxC7tbgB5yH1@vger.kernel.org, AJvYcCXpsFENXwt6XDuMBp8YzIRglxg0uGbDIZCrnOc9LSgbmYoA8xLExibsrgmpq3mJkUbF45KAZRpX02YRfoe7@vger.kernel.org X-Gm-Message-State: AOJu0Yzemp48UW2eRTE77l+NhFmWCXbXdMkhb5b+0I6XRfqrHonCSFLK h4VT5dRChQmGcbAOIhgXCj997Wl2MisvoE7U8Dnx1Zop4kL9/HWuOI1D/kEyEkYECYI= X-Gm-Gg: ASbGncv7uSNB/GwdM4f+K0mFi4sLBJxoYHT6kaFLmDKmp93cQlzBQpOmwizBJa23yGD 4X0HQj/NyvhAUMs7WLGZssRZmEdodbtGzznbH8nQvBo3TEZUMnJ6dulO29U+zxzjxL1/DJsCfEe lQwDpoDLnZfiyuBOl2xZYPaSzoAbTWET4A/B7Ot7lnZHosb1AU3GD3hlexvJQ9yyqQUqS3GboCO 6auBKHxFiiI9dD05tHpxoQHdkH9cztNgsosV+fUp64L+c4fWaVlVe8T4dMrA5zx8eVp8yC0POju 1fPKlWizcCqmKwJgpvbD9Etez1QpWPaRN7DB69i/9zhhV3QvV94L1/U= X-Google-Smtp-Source: AGHT+IEYJNouzQaBO57RIFJdSjytY+rAwJnE1qi8JXnfhXTA6dO5SUQ1nlRCfzkPu1uKMj9aLcCzVw== X-Received: by 2002:a05:620a:bc3:b0:7c5:79e8:412a with SMTP id af79cd13be357-7d3bc37d979mr35927485a.2.1749758609646; Thu, 12 Jun 2025 13:03:29 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:1::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d3b8ed35b1sm77151285a.88.2025.06.12.13.03.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Jun 2025 13:03:29 -0700 (PDT) From: Gustavo Luiz Duarte Date: Thu, 12 Jun 2025 13:02:18 -0700 Subject: [PATCH net-next v2 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: <20250612-netconsole-msgid-v2-5-d4c1abc84bac@gmail.com> References: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@gmail.com> In-Reply-To: <20250612-netconsole-msgid-v2-0-d4c1abc84bac@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