-
Notifications
You must be signed in to change notification settings - Fork 21
Open
Labels
enhancementNew feature or requestNew feature or requesttriagedThe issue is triaged by the maintainers.The issue is triaged by the maintainers.
Milestone
Description
Apparently, in libs\ebpf_ext\ebpf_ext_tracelog.c no #define EBPF_EXT_****_KEYWORD_SWITCH(...) uses the keyword for the switch parameter, but no caller of those macros passes it.
Like done in the ebpf-for-windows repo, explicitly specifying the keyword parameter would make understanding the flow easier.
For example:
#define EBPF_EXT_LOG_MESSAGE_STRING_KEYWORD_SWITCH(trace_level, message, string_value) \
switch (keyword) { \
CASE_BASE: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_BASE, message, string_value); \
break; \
CASE_BIND: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_BIND, message, string_value); \
break; \
CASE_EXT: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_EXT, message, string_value); \
break; \
CASE_SOCK_ADDR: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_SOCK_ADDR, message, string_value); \
break; \
CASE_SOCK_OPS: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_SOCK_OPS, message, string_value); \
break; \
CASE_XDP: \
_EBPF_EXT_LOG_MESSAGE_STRING(trace_level, KEYWORD_XDP, message, string_value); \
break; \
default: \
ebpf_assert(!"Invalid keyword"); \
break; \
}
__declspec(noinline) void ebpf_ext_log_message_string(
ebpf_ext_tracelog_level_t trace_level,
ebpf_ext_tracelog_keyword_t keyword,
_In_z_ const char* message,
_In_z_ const char* string_value)
{
switch (trace_level) {
CASE_LOG_ALWAYS:
EBPF_EXT_LOG_MESSAGE_STRING_KEYWORD_SWITCH(LEVEL_LOG_ALWAYS, message, string_value);
break;
...
}Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesttriagedThe issue is triaged by the maintainers.The issue is triaged by the maintainers.