Whamcloud - gitweb
b=3031
[fs/lustre-release.git] / lnet / tests / ping.h
1 #ifndef _KPING_INCLUDED
2 #define _KPING_INCLUDED
3
4 #include <libcfs/portals_utils.h>
5 #include <portals/p30.h>
6
7
8 #define PTL_PING_IN_SIZE                256     // n packets per buffer
9 #define PTL_PING_IN_BUFFERS             2       // n fallback buffers
10
11 #define PTL_PING_CLIENT                 4
12 #define PTL_PING_SERVER                 5
13
14 #define PING_HEADER_MAGIC               0xDEADBEEF
15 #define PING_BULK_MAGIC                 0xCAFEBABE
16
17 #define PING_HEAD_BITS                  0x00000001
18 #define PING_BULK_BITS                  0x00000002
19 #define PING_IGNORE_BITS                0xFFFFFFFC
20
21 #define PTL_PING_ACK                    0x01
22 #define PTL_PING_VERBOSE                0x02
23 #define PTL_PING_VERIFY                 0x04
24 #define PTL_PING_PREALLOC               0x08
25
26
27 #define NEXT_PRIMARY_BUFFER(index)              \
28         (((index + 1) >= PTL_PING_IN_BUFFERS) ? 0 : (index + 1))
29
30 #define PDEBUG(str, err)                        \
31         CERROR ("%s: error=%s (%d)\n", str, ptl_err_str[err], err)
32
33
34 /* Ping data to be passed via the ioctl to kernel space */
35
36 #if __KERNEL__
37
38 struct pingsrv_data {
39         
40         ptl_handle_ni_t         ni;
41         ptl_handle_me_t         me;
42         ptl_handle_eq_t         eq;
43         void                   *in_buf;
44         ptl_process_id_t        my_id;
45         ptl_process_id_t        id_local;
46         ptl_md_t                mdin;
47         ptl_md_t                mdout;
48         ptl_handle_md_t         mdin_h;
49         ptl_handle_md_t         mdout_h;
50         ptl_event_t             evnt;
51         cfs_task_t              *tsk;
52 }; /* struct pingsrv_data */
53  
54 struct pingcli_data {
55         
56         struct portal_ioctl_data *args;
57         ptl_handle_me_t         me;
58         ptl_handle_eq_t         eq;
59         char                   *inbuf;    
60         char                   *outbuf;   
61         ptl_process_id_t        myid; 
62         ptl_process_id_t        id_local; 
63         ptl_process_id_t        id_remote;
64         ptl_md_t                md_in_head;
65         ptl_md_t                md_out_head;
66         ptl_handle_md_t         md_in_head_h;
67         ptl_handle_md_t         md_out_head_h;
68         ptl_event_t             ev;
69         cfs_task_t              *tsk;
70 }; /* struct pingcli_data */
71
72
73 #endif /* __KERNEL__ */
74
75 #endif /* _KPING_INCLUDED */