diff options
author | David Gibson <david@gibson.dropbear.id.au> | 2023-11-30 13:02:13 +1100 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2023-12-04 09:51:12 +0100 |
commit | eb8b1a233beee1e11eb700e2201becc34f913f9e (patch) | |
tree | 61cb2f037758c5b2dbdd4f16d9c4e5143610938b /flow.c | |
parent | 96590b056087bc634cb3c6bb7d7e1a1b85b7bb08 (diff) | |
download | passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar.gz passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar.bz2 passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar.lz passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar.xz passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.tar.zst passt-eb8b1a233beee1e11eb700e2201becc34f913f9e.zip |
flow, tcp: Add logging helpers for connection related messages
Most of the messages logged by the TCP code (be they errors, debug or
trace messages) are related to a specific connection / flow. We're fairly
consistent about prefixing these with the type of connection and the
connection / flow index. However there are a few places where we put the
index later in the message or omit it entirely. The template with the
prefix is also a little bulky to carry around for every message,
particularly for spliced connections.
To help keep this consistent, introduce some helpers to log messages
linked to a specific flow. It takes the flow as a parameter and adds a
uniform prefix to each message. This makes things slightly neater now, but
more importantly will help keep formatting consistent as we add more things
to the flow table.
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'flow.c')
-rw-r--r-- | flow.c | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -66,3 +66,21 @@ void flow_table_compact(struct ctx *c, union flow *hole) memset(from, 0, sizeof(*from)); } + +/** flow_log_ - Log flow-related message + * @f: flow the message is related to + * @pri: Log priority + * @fmt: Format string + * @...: printf-arguments + */ +void flow_log_(const struct flow_common *f, int pri, const char *fmt, ...) +{ + char msg[BUFSIZ]; + va_list args; + + va_start(args, fmt); + (void)vsnprintf(msg, sizeof(msg), fmt, args); + va_end(args); + + logmsg(pri, "Flow %u (%s): %s", flow_idx(f), FLOW_TYPE(f), msg); +} |