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.h | |
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.h')
-rw-r--r-- | flow.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -43,4 +43,18 @@ union flow; void flow_table_compact(struct ctx *c, union flow *hole); +void flow_log_(const struct flow_common *f, int pri, const char *fmt, ...) + __attribute__((format(printf, 3, 4))); + +#define flow_log(f_, pri, ...) flow_log_(&(f_)->f, (pri), __VA_ARGS__) + +#define flow_dbg(f, ...) flow_log((f), LOG_DEBUG, __VA_ARGS__) +#define flow_err(f, ...) flow_log((f), LOG_ERR, __VA_ARGS__) + +#define flow_trace(f, ...) \ + do { \ + if (log_trace) \ + flow_dbg((f), __VA_ARGS__); \ + } while (0) + #endif /* FLOW_H */ |