10 #include "internal/internal.h"
13 const char *
const l3proto2str[AF_MAX] = {
18 const char *
const proto2str[IPPROTO_MAX] = {
19 [IPPROTO_TCP] =
"tcp",
20 [IPPROTO_UDP] =
"udp",
21 [IPPROTO_UDPLITE] =
"udplite",
22 [IPPROTO_ICMP] =
"icmp",
23 [IPPROTO_ICMPV6] =
"icmpv6",
24 [IPPROTO_SCTP] =
"sctp",
25 [IPPROTO_GRE] =
"gre",
26 [IPPROTO_DCCP] =
"dccp",
29 const char *
const states[TCP_CONNTRACK_MAX] = {
30 [TCP_CONNTRACK_NONE] =
"NONE",
31 [TCP_CONNTRACK_SYN_SENT] =
"SYN_SENT",
32 [TCP_CONNTRACK_SYN_RECV] =
"SYN_RECV",
33 [TCP_CONNTRACK_ESTABLISHED] =
"ESTABLISHED",
34 [TCP_CONNTRACK_FIN_WAIT] =
"FIN_WAIT",
35 [TCP_CONNTRACK_CLOSE_WAIT] =
"CLOSE_WAIT",
36 [TCP_CONNTRACK_LAST_ACK] =
"LAST_ACK",
37 [TCP_CONNTRACK_TIME_WAIT] =
"TIME_WAIT",
38 [TCP_CONNTRACK_CLOSE] =
"CLOSE",
39 [TCP_CONNTRACK_SYN_SENT2] =
"SYN_SENT2",
42 const char *
const sctp_states[SCTP_CONNTRACK_MAX] = {
43 [SCTP_CONNTRACK_NONE] =
"NONE",
44 [SCTP_CONNTRACK_CLOSED] =
"CLOSED",
45 [SCTP_CONNTRACK_COOKIE_WAIT] =
"COOKIE_WAIT",
46 [SCTP_CONNTRACK_COOKIE_ECHOED] =
"COOKIE_ECHOED",
47 [SCTP_CONNTRACK_ESTABLISHED] =
"ESTABLISHED",
48 [SCTP_CONNTRACK_SHUTDOWN_SENT] =
"SHUTDOWN_SENT",
49 [SCTP_CONNTRACK_SHUTDOWN_RECD] =
"SHUTDOWN_RECD",
50 [SCTP_CONNTRACK_SHUTDOWN_ACK_SENT] =
"SHUTDOWN_ACK_SENT",
53 const char *
const dccp_states[DCCP_CONNTRACK_MAX] = {
54 [DCCP_CONNTRACK_NONE] =
"NONE",
55 [DCCP_CONNTRACK_REQUEST] =
"REQUEST",
56 [DCCP_CONNTRACK_RESPOND] =
"RESPOND",
57 [DCCP_CONNTRACK_PARTOPEN] =
"PARTOPEN",
58 [DCCP_CONNTRACK_OPEN] =
"OPEN",
59 [DCCP_CONNTRACK_CLOSEREQ] =
"CLOSEREQ",
60 [DCCP_CONNTRACK_CLOSING] =
"CLOSING",
61 [DCCP_CONNTRACK_TIMEWAIT] =
"TIMEWAIT",
62 [DCCP_CONNTRACK_IGNORE] =
"IGNORE",
63 [DCCP_CONNTRACK_INVALID] =
"INVALID",
66 int __snprintf_conntrack(
char *buf,
68 const struct nf_conntrack *ct,
70 unsigned int msg_output,
78 size = __snprintf_conntrack_default(buf, len, ct, type, flags, map);
81 size = __snprintf_conntrack_xml(buf, len, ct, type, flags, map);
89 buf[size+1 > len ? len-1 : size] =
'\0';