1*ddae5d62SMichael J. Ruhl // SPDX-License-Identifier: GPL-2.0 or Linux-OpenIB
2*ddae5d62SMichael J. Ruhl /* Copyright (c) 2019 Intel Corporation */
3*ddae5d62SMichael J. Ruhl #define CREATE_TRACE_POINTS
4*ddae5d62SMichael J. Ruhl #include "trace.h"
5*ddae5d62SMichael J. Ruhl 
print_ip_addr(struct trace_seq * p,u32 * addr,u16 port,bool ipv4)6*ddae5d62SMichael J. Ruhl const char *print_ip_addr(struct trace_seq *p, u32 *addr, u16 port, bool ipv4)
7*ddae5d62SMichael J. Ruhl {
8*ddae5d62SMichael J. Ruhl 	const char *ret = trace_seq_buffer_ptr(p);
9*ddae5d62SMichael J. Ruhl 
10*ddae5d62SMichael J. Ruhl 	if (ipv4) {
11*ddae5d62SMichael J. Ruhl 		__be32 myaddr = htonl(*addr);
12*ddae5d62SMichael J. Ruhl 
13*ddae5d62SMichael J. Ruhl 		trace_seq_printf(p, "%pI4:%d", &myaddr, htons(port));
14*ddae5d62SMichael J. Ruhl 	} else {
15*ddae5d62SMichael J. Ruhl 		trace_seq_printf(p, "%pI6:%d", addr, htons(port));
16*ddae5d62SMichael J. Ruhl 	}
17*ddae5d62SMichael J. Ruhl 	trace_seq_putc(p, 0);
18*ddae5d62SMichael J. Ruhl 
19*ddae5d62SMichael J. Ruhl 	return ret;
20*ddae5d62SMichael J. Ruhl }
21*ddae5d62SMichael J. Ruhl 
parse_iw_event_type(enum iw_cm_event_type iw_type)22*ddae5d62SMichael J. Ruhl const char *parse_iw_event_type(enum iw_cm_event_type iw_type)
23*ddae5d62SMichael J. Ruhl {
24*ddae5d62SMichael J. Ruhl 	switch (iw_type) {
25*ddae5d62SMichael J. Ruhl 	case IW_CM_EVENT_CONNECT_REQUEST:
26*ddae5d62SMichael J. Ruhl 		return "IwRequest";
27*ddae5d62SMichael J. Ruhl 	case IW_CM_EVENT_CONNECT_REPLY:
28*ddae5d62SMichael J. Ruhl 		return "IwReply";
29*ddae5d62SMichael J. Ruhl 	case IW_CM_EVENT_ESTABLISHED:
30*ddae5d62SMichael J. Ruhl 		return "IwEstablished";
31*ddae5d62SMichael J. Ruhl 	case IW_CM_EVENT_DISCONNECT:
32*ddae5d62SMichael J. Ruhl 		return "IwDisconnect";
33*ddae5d62SMichael J. Ruhl 	case IW_CM_EVENT_CLOSE:
34*ddae5d62SMichael J. Ruhl 		return "IwClose";
35*ddae5d62SMichael J. Ruhl 	}
36*ddae5d62SMichael J. Ruhl 
37*ddae5d62SMichael J. Ruhl 	return "Unknown";
38*ddae5d62SMichael J. Ruhl }
39*ddae5d62SMichael J. Ruhl 
parse_cm_event_type(enum irdma_cm_event_type cm_type)40*ddae5d62SMichael J. Ruhl const char *parse_cm_event_type(enum irdma_cm_event_type cm_type)
41*ddae5d62SMichael J. Ruhl {
42*ddae5d62SMichael J. Ruhl 	switch (cm_type) {
43*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_ESTABLISHED:
44*ddae5d62SMichael J. Ruhl 		return "CmEstablished";
45*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_MPA_REQ:
46*ddae5d62SMichael J. Ruhl 		return "CmMPA_REQ";
47*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_MPA_CONNECT:
48*ddae5d62SMichael J. Ruhl 		return "CmMPA_CONNECT";
49*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_MPA_ACCEPT:
50*ddae5d62SMichael J. Ruhl 		return "CmMPA_ACCEPT";
51*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_MPA_REJECT:
52*ddae5d62SMichael J. Ruhl 		return "CmMPA_REJECT";
53*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_MPA_ESTABLISHED:
54*ddae5d62SMichael J. Ruhl 		return "CmMPA_ESTABLISHED";
55*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_CONNECTED:
56*ddae5d62SMichael J. Ruhl 		return "CmConnected";
57*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_RESET:
58*ddae5d62SMichael J. Ruhl 		return "CmReset";
59*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_ABORTED:
60*ddae5d62SMichael J. Ruhl 		return "CmAborted";
61*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_EVENT_UNKNOWN:
62*ddae5d62SMichael J. Ruhl 		return "none";
63*ddae5d62SMichael J. Ruhl 	}
64*ddae5d62SMichael J. Ruhl 	return "Unknown";
65*ddae5d62SMichael J. Ruhl }
66*ddae5d62SMichael J. Ruhl 
parse_cm_state(enum irdma_cm_node_state state)67*ddae5d62SMichael J. Ruhl const char *parse_cm_state(enum irdma_cm_node_state state)
68*ddae5d62SMichael J. Ruhl {
69*ddae5d62SMichael J. Ruhl 	switch (state) {
70*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_UNKNOWN:
71*ddae5d62SMichael J. Ruhl 		return "UNKNOWN";
72*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_INITED:
73*ddae5d62SMichael J. Ruhl 		return "INITED";
74*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_LISTENING:
75*ddae5d62SMichael J. Ruhl 		return "LISTENING";
76*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_SYN_RCVD:
77*ddae5d62SMichael J. Ruhl 		return "SYN_RCVD";
78*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_SYN_SENT:
79*ddae5d62SMichael J. Ruhl 		return "SYN_SENT";
80*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_ONE_SIDE_ESTABLISHED:
81*ddae5d62SMichael J. Ruhl 		return "ONE_SIDE_ESTABLISHED";
82*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_ESTABLISHED:
83*ddae5d62SMichael J. Ruhl 		return "ESTABLISHED";
84*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_ACCEPTING:
85*ddae5d62SMichael J. Ruhl 		return "ACCEPTING";
86*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_MPAREQ_SENT:
87*ddae5d62SMichael J. Ruhl 		return "MPAREQ_SENT";
88*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_MPAREQ_RCVD:
89*ddae5d62SMichael J. Ruhl 		return "MPAREQ_RCVD";
90*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_MPAREJ_RCVD:
91*ddae5d62SMichael J. Ruhl 		return "MPAREJ_RECVD";
92*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_OFFLOADED:
93*ddae5d62SMichael J. Ruhl 		return "OFFLOADED";
94*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_FIN_WAIT1:
95*ddae5d62SMichael J. Ruhl 		return "FIN_WAIT1";
96*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_FIN_WAIT2:
97*ddae5d62SMichael J. Ruhl 		return "FIN_WAIT2";
98*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_CLOSE_WAIT:
99*ddae5d62SMichael J. Ruhl 		return "CLOSE_WAIT";
100*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_TIME_WAIT:
101*ddae5d62SMichael J. Ruhl 		return "TIME_WAIT";
102*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_LAST_ACK:
103*ddae5d62SMichael J. Ruhl 		return "LAST_ACK";
104*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_CLOSING:
105*ddae5d62SMichael J. Ruhl 		return "CLOSING";
106*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_LISTENER_DESTROYED:
107*ddae5d62SMichael J. Ruhl 		return "LISTENER_DESTROYED";
108*ddae5d62SMichael J. Ruhl 	case IRDMA_CM_STATE_CLOSED:
109*ddae5d62SMichael J. Ruhl 		return "CLOSED";
110*ddae5d62SMichael J. Ruhl 	}
111*ddae5d62SMichael J. Ruhl 	return ("Bad state");
112*ddae5d62SMichael J. Ruhl }
113