Whamcloud - gitweb
Severity : major
[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 <lnet/lnet.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=(%d)\n", str, 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         lnet_handle_me_t         me;
40         lnet_handle_eq_t         eq;
41         void                    *in_buf;
42         lnet_process_id_t        my_id;
43         lnet_process_id_t        id_local;
44         lnet_md_t                mdin;
45         lnet_md_t                mdout;
46         lnet_handle_md_t         mdin_h;
47         lnet_handle_md_t         mdout_h;
48         lnet_event_t             evnt;
49         cfs_task_t              *tsk;
50 }; /* struct pingsrv_data */
51  
52 struct pingcli_data {
53         
54         int                     count;
55         int                     size;
56         lnet_nid_t              nid;
57         int                     timeout;
58         lnet_handle_me_t        me;
59         lnet_handle_eq_t        eq;
60         char                   *inbuf;    
61         char                   *outbuf;   
62         lnet_process_id_t       myid; 
63         lnet_process_id_t       id_local; 
64         lnet_process_id_t       id_remote;
65         lnet_md_t               md_in_head;
66         lnet_md_t               md_out_head;
67         lnet_handle_md_t        md_in_head_h;
68         lnet_handle_md_t        md_out_head_h;
69         lnet_event_t            ev;
70         cfs_task_t              *tsk;
71 }; /* struct pingcli_data */
72
73
74 #endif /* __KERNEL__ */
75
76 #endif /* _KPING_INCLUDED */