Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
nes_context.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2006 - 2011 Intel Corporation. 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
8  * OpenIB.org BSD license below:
9  *
10  * Redistribution and use in source and binary forms, with or
11  * without modification, are permitted provided that the following
12  * conditions are met:
13  *
14  * - Redistributions of source code must retain the above
15  * copyright notice, this list of conditions and the following
16  * disclaimer.
17  *
18  * - Redistributions in binary form must reproduce the above
19  * copyright notice, this list of conditions and the following
20  * disclaimer in the documentation and/or other materials
21  * provided with the distribution.
22  *
23  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
24  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
25  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
26  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
27  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
28  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
29  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
30  * SOFTWARE.
31  */
32 
33 #ifndef NES_CONTEXT_H
34 #define NES_CONTEXT_H
35 
81 };
82 
83 /* QP Context Misc Field */
84 
85 #define NES_QPCONTEXT_MISC_IWARP_VER_MASK 0x00000003
86 #define NES_QPCONTEXT_MISC_IWARP_VER_SHIFT 0
87 #define NES_QPCONTEXT_MISC_EFB_SIZE_MASK 0x000000C0
88 #define NES_QPCONTEXT_MISC_EFB_SIZE_SHIFT 6
89 #define NES_QPCONTEXT_MISC_RQ_SIZE_MASK 0x00000300
90 #define NES_QPCONTEXT_MISC_RQ_SIZE_SHIFT 8
91 #define NES_QPCONTEXT_MISC_SQ_SIZE_MASK 0x00000c00
92 #define NES_QPCONTEXT_MISC_SQ_SIZE_SHIFT 10
93 #define NES_QPCONTEXT_MISC_PCI_FCN_MASK 0x00007000
94 #define NES_QPCONTEXT_MISC_PCI_FCN_SHIFT 12
95 #define NES_QPCONTEXT_MISC_DUP_ACKS_MASK 0x00070000
96 #define NES_QPCONTEXT_MISC_DUP_ACKS_SHIFT 16
97 
114 };
115 
121 };
122 
123 /* QP Context Misc2 Fields */
124 #define NES_QPCONTEXT_MISC2_TTL_MASK 0x000000ff
125 #define NES_QPCONTEXT_MISC2_TTL_SHIFT 0
126 #define NES_QPCONTEXT_MISC2_HOP_LIMIT_MASK 0x000000ff
127 #define NES_QPCONTEXT_MISC2_HOP_LIMIT_SHIFT 0
128 #define NES_QPCONTEXT_MISC2_LIMIT_MASK 0x00000300
129 #define NES_QPCONTEXT_MISC2_LIMIT_SHIFT 8
130 #define NES_QPCONTEXT_MISC2_NIC_INDEX_MASK 0x0000fc00
131 #define NES_QPCONTEXT_MISC2_NIC_INDEX_SHIFT 10
132 #define NES_QPCONTEXT_MISC2_SRC_IP_MASK 0x001f0000
133 #define NES_QPCONTEXT_MISC2_SRC_IP_SHIFT 16
134 #define NES_QPCONTEXT_MISC2_TOS_MASK 0xff000000
135 #define NES_QPCONTEXT_MISC2_TOS_SHIFT 24
136 #define NES_QPCONTEXT_MISC2_TRAFFIC_CLASS_MASK 0xff000000
137 #define NES_QPCONTEXT_MISC2_TRAFFIC_CLASS_SHIFT 24
138 
139 /* QP Context Tcp State/Flow Label Fields */
140 #define NES_QPCONTEXT_TCPFLOW_FLOW_LABEL_MASK 0x000fffff
141 #define NES_QPCONTEXT_TCPFLOW_FLOW_LABEL_SHIFT 0
142 #define NES_QPCONTEXT_TCPFLOW_TCP_STATE_MASK 0xf0000000
143 #define NES_QPCONTEXT_TCPFLOW_TCP_STATE_SHIFT 28
144 
149 };
150 
151 /* QP Context PD Index/wscale Fields */
152 #define NES_QPCONTEXT_PDWSCALE_RCV_WSCALE_MASK 0x0000000f
153 #define NES_QPCONTEXT_PDWSCALE_RCV_WSCALE_SHIFT 0
154 #define NES_QPCONTEXT_PDWSCALE_SND_WSCALE_MASK 0x00000f00
155 #define NES_QPCONTEXT_PDWSCALE_SND_WSCALE_SHIFT 8
156 #define NES_QPCONTEXT_PDWSCALE_PDINDEX_MASK 0xffff0000
157 #define NES_QPCONTEXT_PDWSCALE_PDINDEX_SHIFT 16
158 
159 /* QP Context Keepalive Fields */
160 #define NES_QPCONTEXT_KEEPALIVE_DELTA_MASK 0x0000ffff
161 #define NES_QPCONTEXT_KEEPALIVE_DELTA_SHIFT 0
162 #define NES_QPCONTEXT_KEEPALIVE_PROBE_CNT_MASK 0x00ff0000
163 #define NES_QPCONTEXT_KEEPALIVE_PROBE_CNT_SHIFT 16
164 #define NES_QPCONTEXT_KEEPALIVE_INTV_MASK 0xff000000
165 #define NES_QPCONTEXT_KEEPALIVE_INTV_SHIFT 24
166 
167 /* QP Context ORD/IRD Fields */
168 #define NES_QPCONTEXT_ORDIRD_ORDSIZE_MASK 0x0000007f
169 #define NES_QPCONTEXT_ORDIRD_ORDSIZE_SHIFT 0
170 #define NES_QPCONTEXT_ORDIRD_IRDSIZE_MASK 0x00030000
171 #define NES_QPCONTEXT_ORDIRD_IRDSIZE_SHIFT 16
172 #define NES_QPCONTEXT_ORDIRD_IWARP_MODE_MASK 0x30000000
173 #define NES_QPCONTEXT_ORDIRD_IWARP_MODE_SHIFT 28
174 
181 };
182 
190 };
191 
192 
193 #endif /* NES_CONTEXT_H */