Enhance observability of netconsole. Packet sends can fail.
Start tracking at least two failure possibilities: ENOMEM and
NET_XMIT_DROP for every target. Stats are exposed via an additional
attribute in CONFIGFS.
The exposed statistics allows easier debugging of cases when netconsole
messages were not seen by receivers, eliminating the guesswork if the
sender thinks that messages in question were sent out.
Stats are not reset on enable/disable/change remote ip/etc, they
belong to the netcons target itself.
Reported-by: Breno Leitao <leitao@debian.org>
Closes: https://lore.kernel.org/all/ZsWoUzyK5du9Ffl+@gmail.com/
Signed-off-by: Maksym Kutsevol <max@kutsevol.com>
---
Changelog:
v5:
* Don't align the struct.
* Rename netpoll_send_udp_count_errs to send_udp.
* Link to v4: https://lore.kernel.org/r/20241027-netcons-add-udp-send-fail-statistics-to-netconsole-v4-0-a8065a43c897@kutsevol.com
v4:
* Rebased after
https://lore.kernel.org/netdev/20241017095028.3131508-1-leitao@debian.org/
was merged
* cc doc maintainers.
* adhere to 80 columns. Learn that checkpatch defaults to 100. Okay :)
v3:
* https://lore.kernel.org/netdev/20240912173608.1821083-2-max@kutsevol.com/
* cleanup the accidental slip of debugging addons.
* use IS_ENABLED() instead of #ifdef. Always have stats field.
v2:
* https://lore.kernel.org/netdev/20240828214524.1867954-2-max@kutsevol.com/
* fixed commit message wording and reported-by reference.
* not hiding netconsole_target_stats when CONFIG_NETCONSOLE_DYNAMIC
is not enabled.
* rename stats attribute in configfs to transmit_errors and make it
a single u64 value, which is a sum of errors that occured.
* make a wrapper function to count errors instead of a return result
classifier one.
* use u64_stats_sync.h to manage stats.
v1:
* https://lore.kernel.org/netdev/20240824215130.2134153-2-max@kutsevol.com/
---
Maksym Kutsevol (2):
netpoll: Make netpoll_send_udp return status instead of void
netcons: Add udp send fail statistics to netconsole
Documentation/networking/netconsole.rst | 5 +--
drivers/net/netconsole.c | 61 +++++++++++++++++++++++++++++++--
include/linux/netpoll.h | 2 +-
net/core/netpoll.c | 6 ++--
4 files changed, 65 insertions(+), 9 deletions(-)
---
base-commit: 65ae975e97d5aab3ee9dc5ec701b12090572ed43
change-id: 20241027-netcons-add-udp-send-fail-statistics-to-netconsole-dc9a5a9f9139
Best regards,
--
Maksym Kutsevol <max@kutsevol.com>