mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-23 05:43:47 +07:00
53d6eb08e9
Print `bpftool net` output to stdout instead of stderr. Only errors
should be printed to stderr. Regular output should go to stdout and this
is what all other subcommands of bpftool do, including --json and
--pretty formats of `bpftool net` itself.
Fixes: commit f6f3bac08f
("tools/bpf: bpftool: add net support")
Signed-off-by: Andrey Ignatov <rdna@fb.com>
Acked-by: Yonghong Song <yhs@fb.com>
Acked-by: Song Liu <songliubraving@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
96 lines
1.8 KiB
C
96 lines
1.8 KiB
C
// SPDX-License-Identifier: GPL-2.0+
|
|
// Copyright (C) 2018 Facebook
|
|
|
|
#ifndef _NETLINK_DUMPER_H_
|
|
#define _NETLINK_DUMPER_H_
|
|
|
|
#define NET_START_OBJECT \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_start_object(json_wtr); \
|
|
}
|
|
|
|
#define NET_START_OBJECT_NESTED(name) \
|
|
{ \
|
|
if (json_output) { \
|
|
jsonw_name(json_wtr, name); \
|
|
jsonw_start_object(json_wtr); \
|
|
} else { \
|
|
fprintf(stdout, "%s {", name); \
|
|
} \
|
|
}
|
|
|
|
#define NET_START_OBJECT_NESTED2 \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_start_object(json_wtr); \
|
|
else \
|
|
fprintf(stdout, "{"); \
|
|
}
|
|
|
|
#define NET_END_OBJECT_NESTED \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_end_object(json_wtr); \
|
|
else \
|
|
fprintf(stdout, "}"); \
|
|
}
|
|
|
|
#define NET_END_OBJECT \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_end_object(json_wtr); \
|
|
}
|
|
|
|
#define NET_END_OBJECT_FINAL \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_end_object(json_wtr); \
|
|
else \
|
|
fprintf(stdout, "\n"); \
|
|
}
|
|
|
|
#define NET_START_ARRAY(name, fmt_str) \
|
|
{ \
|
|
if (json_output) { \
|
|
jsonw_name(json_wtr, name); \
|
|
jsonw_start_array(json_wtr); \
|
|
} else { \
|
|
fprintf(stdout, fmt_str, name); \
|
|
} \
|
|
}
|
|
|
|
#define NET_END_ARRAY(endstr) \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_end_array(json_wtr); \
|
|
else \
|
|
fprintf(stdout, "%s", endstr); \
|
|
}
|
|
|
|
#define NET_DUMP_UINT(name, fmt_str, val) \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_uint_field(json_wtr, name, val); \
|
|
else \
|
|
fprintf(stdout, fmt_str, val); \
|
|
}
|
|
|
|
#define NET_DUMP_STR(name, fmt_str, str) \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_string_field(json_wtr, name, str);\
|
|
else \
|
|
fprintf(stdout, fmt_str, str); \
|
|
}
|
|
|
|
#define NET_DUMP_STR_ONLY(str) \
|
|
{ \
|
|
if (json_output) \
|
|
jsonw_string(json_wtr, str); \
|
|
else \
|
|
fprintf(stdout, "%s ", str); \
|
|
}
|
|
|
|
#endif
|