diff options
author | Florin Coras <fcoras@cisco.com> | 2023-03-13 14:33:37 -0700 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2023-03-14 16:12:54 +0000 |
commit | 0d712c1a967b72b3e9134adad7b032989da999b8 (patch) | |
tree | 3a98fb0bce8a19f0d8343c7a1591fb3e6440b497 /src/vnet/session/transport.c | |
parent | 02aa2ca0934dbbed7440bd8225f39dde95610206 (diff) |
session: format transport connection flags
Type: improvement
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id87c41c472898d4f66b0771f18f822d1069bbfd0
Diffstat (limited to 'src/vnet/session/transport.c')
-rw-r--r-- | src/vnet/session/transport.c | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/src/vnet/session/transport.c b/src/vnet/session/transport.c index 8b3dacfe309..06954c04ccc 100644 --- a/src/vnet/session/transport.c +++ b/src/vnet/session/transport.c @@ -69,6 +69,35 @@ format_transport_proto_short (u8 * s, va_list * args) return s; } +const char *transport_flags_str[] = { +#define _(sym, str) str, + foreach_transport_connection_flag +#undef _ +}; + +u8 * +format_transport_flags (u8 *s, va_list *args) +{ + transport_connection_flags_t flags; + int i, last = -1; + + flags = va_arg (*args, transport_connection_flags_t); + + for (i = 0; i < TRANSPORT_CONNECTION_N_FLAGS; i++) + if (flags & (1 << i)) + last = i; + + for (i = 0; i < last; i++) + { + if (flags & (1 << i)) + s = format (s, "%s, ", transport_flags_str[i]); + } + if (last >= 0) + s = format (s, "%s", transport_flags_str[last]); + + return s; +} + u8 * format_transport_connection (u8 * s, va_list * args) { @@ -93,8 +122,8 @@ format_transport_connection (u8 * s, va_list * args) if (transport_connection_is_tx_paced (tc)) s = format (s, "%Upacer: %U\n", format_white_space, indent, format_transport_pacer, &tc->pacer, tc->thread_index); - s = format (s, "%Utransport: flags 0x%x\n", format_white_space, indent, - tc->flags); + s = format (s, "%Utransport: flags: %U\n", format_white_space, indent, + format_transport_flags, tc->flags); } return s; } |