|
9 | 9 | #include <linux/tracepoint.h>
|
10 | 10 | #include <net/ipv6.h>
|
11 | 11 |
|
| 12 | +#define tcp_state_names \ |
| 13 | + EM(TCP_ESTABLISHED) \ |
| 14 | + EM(TCP_SYN_SENT) \ |
| 15 | + EM(TCP_SYN_RECV) \ |
| 16 | + EM(TCP_FIN_WAIT1) \ |
| 17 | + EM(TCP_FIN_WAIT2) \ |
| 18 | + EM(TCP_TIME_WAIT) \ |
| 19 | + EM(TCP_CLOSE) \ |
| 20 | + EM(TCP_CLOSE_WAIT) \ |
| 21 | + EM(TCP_LAST_ACK) \ |
| 22 | + EM(TCP_LISTEN) \ |
| 23 | + EM(TCP_CLOSING) \ |
| 24 | + EMe(TCP_NEW_SYN_RECV) \ |
| 25 | + |
| 26 | +/* enums need to be exported to user space */ |
| 27 | +#undef EM |
| 28 | +#undef EMe |
| 29 | +#define EM(a) TRACE_DEFINE_ENUM(a); |
| 30 | +#define EMe(a) TRACE_DEFINE_ENUM(a); |
| 31 | + |
| 32 | +tcp_state_names |
| 33 | + |
| 34 | +#undef EM |
| 35 | +#undef EMe |
| 36 | +#define EM(a) tcp_state_name(a), |
| 37 | +#define EMe(a) tcp_state_name(a) |
| 38 | + |
12 | 39 | #define tcp_state_name(state) { state, #state }
|
13 | 40 | #define show_tcp_state_name(val) \
|
14 |
| - __print_symbolic(val, \ |
15 |
| - tcp_state_name(TCP_ESTABLISHED), \ |
16 |
| - tcp_state_name(TCP_SYN_SENT), \ |
17 |
| - tcp_state_name(TCP_SYN_RECV), \ |
18 |
| - tcp_state_name(TCP_FIN_WAIT1), \ |
19 |
| - tcp_state_name(TCP_FIN_WAIT2), \ |
20 |
| - tcp_state_name(TCP_TIME_WAIT), \ |
21 |
| - tcp_state_name(TCP_CLOSE), \ |
22 |
| - tcp_state_name(TCP_CLOSE_WAIT), \ |
23 |
| - tcp_state_name(TCP_LAST_ACK), \ |
24 |
| - tcp_state_name(TCP_LISTEN), \ |
25 |
| - tcp_state_name(TCP_CLOSING), \ |
26 |
| - tcp_state_name(TCP_NEW_SYN_RECV)) |
| 41 | + __print_symbolic(val, tcp_state_names) |
27 | 42 |
|
28 | 43 | /*
|
29 | 44 | * tcp event with arguments sk and skb
|
|
0 commit comments