OpenCores
URL https://opencores.org/ocsvn/test_project/test_project/trunk

Subversion Repositories test_project

[/] [test_project/] [trunk/] [linux_sd_driver/] [include/] [linux/] [sunrpc/] [xprtrdma.h] - Blame information for rev 62

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 62 marcus.erl
/*
2
 * Copyright (c) 2003-2007 Network Appliance, Inc. All rights reserved.
3
 *
4
 * This software is available to you under a choice of one of two
5
 * licenses.  You may choose to be licensed under the terms of the GNU
6
 * General Public License (GPL) Version 2, available from the file
7
 * COPYING in the main directory of this source tree, or the BSD-type
8
 * license below:
9
 *
10
 * Redistribution and use in source and binary forms, with or without
11
 * modification, are permitted provided that the following conditions
12
 * are met:
13
 *
14
 *      Redistributions of source code must retain the above copyright
15
 *      notice, this list of conditions and the following disclaimer.
16
 *
17
 *      Redistributions in binary form must reproduce the above
18
 *      copyright notice, this list of conditions and the following
19
 *      disclaimer in the documentation and/or other materials provided
20
 *      with the distribution.
21
 *
22
 *      Neither the name of the Network Appliance, Inc. nor the names of
23
 *      its contributors may be used to endorse or promote products
24
 *      derived from this software without specific prior written
25
 *      permission.
26
 *
27
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
 */
39
 
40
#ifndef _LINUX_SUNRPC_XPRTRDMA_H
41
#define _LINUX_SUNRPC_XPRTRDMA_H
42
 
43
/*
44
 * RPC transport identifier for RDMA
45
 */
46
#define XPRT_TRANSPORT_RDMA     256
47
 
48
/*
49
 * rpcbind (v3+) RDMA netid.
50
 */
51
#define RPCBIND_NETID_RDMA      "rdma"
52
 
53
/*
54
 * Constants. Max RPC/NFS header is big enough to account for
55
 * additional marshaling buffers passed down by Linux client.
56
 *
57
 * RDMA header is currently fixed max size, and is big enough for a
58
 * fully-chunked NFS message (read chunks are the largest). Note only
59
 * a single chunk type per message is supported currently.
60
 */
61
#define RPCRDMA_MIN_SLOT_TABLE  (2U)
62
#define RPCRDMA_DEF_SLOT_TABLE  (32U)
63
#define RPCRDMA_MAX_SLOT_TABLE  (256U)
64
 
65
#define RPCRDMA_DEF_INLINE  (1024)      /* default inline max */
66
 
67
#define RPCRDMA_INLINE_PAD_THRESH  (512)/* payload threshold to pad (bytes) */
68
 
69
#define RDMA_RESOLVE_TIMEOUT    (5*HZ)  /* TBD 5 seconds */
70
#define RDMA_CONNECT_RETRY_MAX  (2)     /* retries if no listener backlog */
71
 
72
/* memory registration strategies */
73
#define RPCRDMA_PERSISTENT_REGISTRATION (1)
74
 
75
enum rpcrdma_memreg {
76
        RPCRDMA_BOUNCEBUFFERS = 0,
77
        RPCRDMA_REGISTER,
78
        RPCRDMA_MEMWINDOWS,
79
        RPCRDMA_MEMWINDOWS_ASYNC,
80
        RPCRDMA_MTHCAFMR,
81
        RPCRDMA_ALLPHYSICAL,
82
        RPCRDMA_LAST
83
};
84
 
85
#endif /* _LINUX_SUNRPC_XPRTRDMA_H */

powered by: WebSVN 2.1.0

© copyright 1999-2025 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.