Re: [PATCH] tcp: Export to userspace the TCP state names for the trace events

From: Steven Rostedt
Date: Fri Nov 10 2017 - 10:07:09 EST


On Fri, 10 Nov 2017 12:56:06 +0800
Yafang Shao <laoar.shao@xxxxxxxxx> wrote:

> Could the macro tcp_state_name() be renamed ï
> If <trace/events/tcp.h> is included in include/net/tcp.h, it will

Ideally, you don't want to include trace/events/*.h headers in other
headers, as they can have side effects if those headers are included in
other trace/events/*.h headers.

> cause compile error, because there's another function tcp_state_name()
> defined in net/netfilter/ipvs/ip_vs_proto_tcp.c.
> static const char * tcp_state_name(int state)
> {
>
> if (state >= IP_VS_TCP_S_LAST)
>
> return "ERR!";
>
> return tcp_state_name_table[state] ? tcp_state_name_table[state] : "?";
>
> }

But that said, I didn't make up the trace_state_name(), it was already
there in net-next before this patch.

But yeah, in actuality, I would have just done:

#define EM(a) { a, #a },
#define EMe(a) { a, #a }

directly. Which we can still do.

-- Steve