15 #ifndef SRC_VNET_SESSION_SESSION_DEBUG_H_ 16 #define SRC_VNET_SESSION_SESSION_DEBUG_H_ 22 #define foreach_session_dbg_evt \ 26 typedef enum _session_evt_dbg
28 #define _(sym, str) SESSION_EVT_##sym, 35 #define DEC_SESSION_ETD(_s, _e, _size) \ 40 transport_proto_vft_t *vft = \ 41 session_get_transport_vft (_s->session_type); \ 42 transport_connection_t *_tc = \ 43 vft->get_connection (_s->connection_index, _s->thread_index); \ 44 ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, \ 48 #define SESSION_EVT_DEQ_HANDLER(_s, _body) \ 50 ELOG_TYPE_DECLARE (_e) = \ 52 .format = "deq: id %d len %d rd %d wnd %d", \ 53 .format_args = "i4i4i4i4", \ 55 DEC_SESSION_ETD(_s, _e, 4); \ 56 do { _body; } while (0); \ 59 #define SESSION_EVT_ENQ_HANDLER(_s, _body) \ 61 ELOG_TYPE_DECLARE (_e) = \ 63 .format = "enq: id %d length %d", \ 64 .format_args = "i4i4", \ 66 DEC_SESSION_ETD(_s, _e, 2); \ 67 do { _body; } while (0); \ 70 #define CONCAT_HELPER(_a, _b) _a##_b 71 #define CC(_a, _b) CONCAT_HELPER(_a, _b) 73 #define SESSION_EVT_DBG(_s, _evt, _body) CC(_evt, _HANDLER)(_s, _body) 76 #define SESSION_EVT_DBG(_s, _evt, _body)
#define foreach_session_dbg_evt
enum _session_evt_dbg session_evt_dbg_e