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 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 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 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 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