Two approach could achieve the goal:

   1. Utilize ramlog and implement all network stuff in userspace, like
   syslogd(https://linux.die.net/man/8/syslogd). You can even implement the
   same protocol as syslogd, so PC tools can be reused directly.
   2. Do all network stuff inside the kernel directly like Linux netconsole(
   https://docs.kernel.org/networking/netconsole.html)

The first approach is simple, but consumes more memory and can't send out
the final panic log. On the other hand, the second needs to improve the
netdev driver model and NIC driver adaptation, but fix all shortcomings in
the first one.

On Wed, Jun 4, 2025 at 5:01 AM Matteo Golin <matteo.go...@gmail.com> wrote:

> Hello everyone,
>
> I was taking a look at the different syslog output options, and I noticed
> that there are a variety of different sinks
> (character devices, CDCACM, RAM, etc). However, I was thinking that it
> would be useful to have a network sink for
> syslog, so that logs could be sent over a network interface and collected
> elsewhere. This might be useful for systems
> that have small amounts of physical storage but are network connected, or
> have a very long up-time.
>
> What do you think about an implementation of syslog for network capable
> devices that achieves this? Are there any big
> hurdles I might not be considering (like setting up a connection, using
> UDP/TCP, etc)? There would probably have to be a
> decently large buffer to avoid slowing down code with blocking send calls.
>
> What do you think?
>
> --
> Matteo Golin
>

Reply via email to