1 #ifndef _KPING_INCLUDED
2 #define _KPING_INCLUDED
4 #include <libcfs/portals_utils.h>
5 #include <portals/p30.h>
8 #define PTL_PING_IN_SIZE 256 // n packets per buffer
9 #define PTL_PING_IN_BUFFERS 2 // n fallback buffers
11 #define PTL_PING_CLIENT 4
12 #define PTL_PING_SERVER 5
14 #define PING_HEADER_MAGIC 0xDEADBEEF
15 #define PING_BULK_MAGIC 0xCAFEBABE
17 #define PING_HEAD_BITS 0x00000001
18 #define PING_BULK_BITS 0x00000002
19 #define PING_IGNORE_BITS 0xFFFFFFFC
21 #define PTL_PING_ACK 0x01
22 #define PTL_PING_VERBOSE 0x02
23 #define PTL_PING_VERIFY 0x04
24 #define PTL_PING_PREALLOC 0x08
27 #define NEXT_PRIMARY_BUFFER(index) \
28 (((index + 1) >= PTL_PING_IN_BUFFERS) ? 0 : (index + 1))
30 #define PDEBUG(str, err) \
31 CERROR ("%s: error=%s (%d)\n", str, ptl_err_str[err], err)
34 /* Ping data to be passed via the ioctl to kernel space */
44 ptl_process_id_t my_id;
45 ptl_process_id_t id_local;
48 ptl_handle_md_t mdin_h;
49 ptl_handle_md_t mdout_h;
52 }; /* struct pingsrv_data */
56 struct portal_ioctl_data *args;
61 ptl_process_id_t myid;
62 ptl_process_id_t id_local;
63 ptl_process_id_t id_remote;
66 ptl_handle_md_t md_in_head_h;
67 ptl_handle_md_t md_out_head_h;
70 }; /* struct pingcli_data */
73 #endif /* __KERNEL__ */
75 #endif /* _KPING_INCLUDED */