1 /*
2  * Copyright (c) 2016-2019 The Linux Foundation. All rights reserved.
3  *
4  * Permission to use, copy, modify, and/or distribute this software for
5  * any purpose with or without fee is hereby granted, provided that the
6  * above copyright notice and this permission notice appear in all
7  * copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
10  * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
11  * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
12  * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
13  * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
14  * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
15  * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
16  * PERFORMANCE OF THIS SOFTWARE.
17  */
18 
19 #ifndef _RX_FLOW_SEARCH_ENTRY_H_
20 #define _RX_FLOW_SEARCH_ENTRY_H_
21 #if !defined(__ASSEMBLER__)
22 #endif
23 
24 
25 // ################ START SUMMARY #################
26 //
27 //	Dword	Fields
28 //	0	src_ip_127_96[31:0]
29 //	1	src_ip_95_64[31:0]
30 //	2	src_ip_63_32[31:0]
31 //	3	src_ip_31_0[31:0]
32 //	4	dest_ip_127_96[31:0]
33 //	5	dest_ip_95_64[31:0]
34 //	6	dest_ip_63_32[31:0]
35 //	7	dest_ip_31_0[31:0]
36 //	8	src_port[15:0], dest_port[31:16]
37 //	9	l4_protocol[7:0], valid[8], reserved_9[29:9], reo_destination_handler[31:30]
38 //	10	metadata[31:0]
39 //	11	reo_destination_indication[4:0], msdu_drop[5], reserved_11[7:6], msdu_count[31:8]
40 //	12	msdu_byte_count[31:0]
41 //	13	timestamp[31:0]
42 //
43 // ################ END SUMMARY #################
44 
45 #define NUM_OF_DWORDS_RX_FLOW_SEARCH_ENTRY 14
46 
47 struct rx_flow_search_entry {
48              uint32_t src_ip_127_96                   : 32; //[31:0]
49              uint32_t src_ip_95_64                    : 32; //[31:0]
50              uint32_t src_ip_63_32                    : 32; //[31:0]
51              uint32_t src_ip_31_0                     : 32; //[31:0]
52              uint32_t dest_ip_127_96                  : 32; //[31:0]
53              uint32_t dest_ip_95_64                   : 32; //[31:0]
54              uint32_t dest_ip_63_32                   : 32; //[31:0]
55              uint32_t dest_ip_31_0                    : 32; //[31:0]
56              uint32_t src_port                        : 16, //[15:0]
57                       dest_port                       : 16; //[31:16]
58              uint32_t l4_protocol                     :  8, //[7:0]
59                       valid                           :  1, //[8]
60                       reserved_9                      : 21, //[29:9]
61                       reo_destination_handler         :  2; //[31:30]
62              uint32_t metadata                        : 32; //[31:0]
63              uint32_t reo_destination_indication      :  5, //[4:0]
64                       msdu_drop                       :  1, //[5]
65                       reserved_11                     :  2, //[7:6]
66                       msdu_count                      : 24; //[31:8]
67              uint32_t msdu_byte_count                 : 32; //[31:0]
68              uint32_t timestamp                       : 32; //[31:0]
69 };
70 
71 /*
72 
73 src_ip_127_96
74 
75 			Uppermost 32 bits of source IPv6 address or prefix as
76 			per Common Parser register field IP_DA_SA_PREFIX (with the
77 			first byte in the MSB and the last byte in the LSB, i.e.
78 			requiring a byte-swap for little-endian SW w.r.t. the byte
79 			order in an IPv6 packet)
80 
81 			<legal all>
82 
83 src_ip_95_64
84 
85 			Next 32 bits of source IPv6 address or prefix (requiring
86 			a byte-swap for little-endian SW) <legal all>
87 
88 src_ip_63_32
89 
90 			Next 32 bits of source IPv6 address or lowest 32 bits of
91 			prefix (requiring a byte-swap for little-endian SW)
92 
93 			<legal all>
94 
95 src_ip_31_0
96 
97 			Lowest 32 bits of source IPv6 address, or source IPv4
98 			address (requiring a byte-swap for little-endian SW w.r.t.
99 			the byte order in an IPv6 or IPv4 packet)
100 
101 			<legal all>
102 
103 dest_ip_127_96
104 
105 			Uppermost 32 bits of destination IPv6 address or prefix
106 			as per Common Parser register field IP_DA_SA_PREFIX (with
107 			the first byte in the MSB and the last byte in the LSB, i.e.
108 			requiring a byte-swap for little-endian SW w.r.t. the byte
109 			order as in an IPv6 packet)
110 
111 			<legal all>
112 
113 dest_ip_95_64
114 
115 			Next 32 bits of destination IPv6 address or prefix
116 			(requiring a byte-swap for little-endian SW)
117 
118 			<legal all>
119 
120 dest_ip_63_32
121 
122 			Next 32 bits of destination IPv6 address or lowest 32
123 			bits of prefix (requiring a byte-swap for little-endian SW)
124 
125 			<legal all>
126 
127 dest_ip_31_0
128 
129 			Lowest 32 bits of destination IPv6 address, or
130 			destination IPv4 address (requiring a byte-swap for
131 			little-endian SW w.r.t. the byte order in an IPv6 or IPv4
132 			packet)
133 
134 			<legal all>
135 
136 src_port
137 
138 			LSB of SPI in case of ESP/AH
139 
140 			else source port in case of TCP/UDP without IPsec,
141 
142 			else zeros in case of ICMP (with the first/third byte in
143 			the MSB and the second/fourth byte in the LSB, i.e.
144 			requiring a byte-swap for little-endian SW w.r.t. the byte
145 			order as in an IPv6 or IPv4 packet)  <legal all>
146 
147 dest_port
148 
149 			MSB of SPI in case of ESP/AH
150 
151 			else destination port in case of TCP/UDP without IPsec,
152 
153 			else zeros in case of ICMP (with the first byte in the
154 			MSB and the second byte in the LSB, i.e. requiring a
155 			byte-swap for little-endian SW w.r.t. the byte order as in
156 			an IPv6 or IPv4 packet)
157 
158 			<legal all>
159 
160 l4_protocol
161 
162 			IPsec or L4 protocol
163 
164 
165 
166 			<enum 1 ICMPV4>
167 
168 			<enum 6 TCP>
169 
170 			<enum 17 UDP>
171 
172 			<enum 50 ESP>
173 
174 			<enum 51 AH>
175 
176 			<enum 58 ICMPV6>
177 
178 			<legal 1, 6, 17, 50, 51, 58>
179 
180 valid
181 
182 			Indicates validity of entry
183 
184 			<legal all>
185 
186 reserved_9
187 
188 			<legal 0>
189 
190 reo_destination_handler
191 
192 			Indicates how to decide the REO destination indication
193 
194 			<enum 0 RXFT_USE_FT> Follow this entry
195 
196 			<enum 1 RXFT_USE_ASPT> Use address search+peer table
197 			entry
198 
199 			<enum 2 RXFT_USE_FT2> Follow this entry
200 
201 			<enum 3 RXFT_USE_CCE> Use CCE super-rule
202 
203 			<legal all>
204 
205 metadata
206 
207 			Value to be passed to SW if this flow search entry
208 			matches
209 
210 			<legal all>
211 
212 reo_destination_indication
213 
214 			The ID of the REO exit ring where the MSDU frame shall
215 			push after (MPDU level) reordering has finished.
216 
217 
218 
219 			<enum 0 reo_destination_tcl> Reo will push the frame
220 			into the REO2TCL ring
221 
222 			<enum 1 reo_destination_sw1> Reo will push the frame
223 			into the REO2SW1 ring
224 
225 			<enum 2 reo_destination_sw2> Reo will push the frame
226 			into the REO2SW1 ring
227 
228 			<enum 3 reo_destination_sw3> Reo will push the frame
229 			into the REO2SW1 ring
230 
231 			<enum 4 reo_destination_sw4> Reo will push the frame
232 			into the REO2SW1 ring
233 
234 			<enum 5 reo_destination_release> Reo will push the frame
235 			into the REO_release ring
236 
237 			<enum 6 reo_destination_fw> Reo will push the frame into
238 			the REO2FW ring
239 
240 			<enum 7 reo_destination_7> REO remaps this
241 
242 			<enum 8 reo_destination_8> REO remaps this <enum 9
243 			reo_destination_9> REO remaps this <enum 10
244 			reo_destination_10> REO remaps this
245 
246 			<enum 11 reo_destination_11> REO remaps this
247 
248 			<enum 12 reo_destination_12> REO remaps this <enum 13
249 			reo_destination_13> REO remaps this
250 
251 			<enum 14 reo_destination_14> REO remaps this
252 
253 			<enum 15 reo_destination_15> REO remaps this
254 
255 			<enum 16 reo_destination_16> REO remaps this
256 
257 			<enum 17 reo_destination_17> REO remaps this
258 
259 			<enum 18 reo_destination_18> REO remaps this
260 
261 			<enum 19 reo_destination_19> REO remaps this
262 
263 			<enum 20 reo_destination_20> REO remaps this
264 
265 			<enum 21 reo_destination_21> REO remaps this
266 
267 			<enum 22 reo_destination_22> REO remaps this
268 
269 			<enum 23 reo_destination_23> REO remaps this
270 
271 			<enum 24 reo_destination_24> REO remaps this
272 
273 			<enum 25 reo_destination_25> REO remaps this
274 
275 			<enum 26 reo_destination_26> REO remaps this
276 
277 			<enum 27 reo_destination_27> REO remaps this
278 
279 			<enum 28 reo_destination_28> REO remaps this
280 
281 			<enum 29 reo_destination_29> REO remaps this
282 
283 			<enum 30 reo_destination_30> REO remaps this
284 
285 			<enum 31 reo_destination_31> REO remaps this
286 
287 
288 
289 			<legal all>
290 
291 msdu_drop
292 
293 			Overriding indication to REO to forward to REO release
294 			ring
295 
296 			<legal all>
297 
298 reserved_11
299 
300 			<legal 0>
301 
302 msdu_count
303 
304 			Number of Rx MSDUs matching this flow
305 
306 			<legal all>
307 
308 msdu_byte_count
309 
310 			Number of bytes in Rx MSDUs matching this flow
311 
312 			<legal all>
313 
314 timestamp
315 
316 			Time of last reception (as measured at Rx OLE) matching
317 			this flow
318 
319 			<legal all>
320 */
321 
322 
323 /* Description		RX_FLOW_SEARCH_ENTRY_0_SRC_IP_127_96
324 
325 			Uppermost 32 bits of source IPv6 address or prefix as
326 			per Common Parser register field IP_DA_SA_PREFIX (with the
327 			first byte in the MSB and the last byte in the LSB, i.e.
328 			requiring a byte-swap for little-endian SW w.r.t. the byte
329 			order in an IPv6 packet)
330 
331 			<legal all>
332 */
333 #define RX_FLOW_SEARCH_ENTRY_0_SRC_IP_127_96_OFFSET                  0x00000000
334 #define RX_FLOW_SEARCH_ENTRY_0_SRC_IP_127_96_LSB                     0
335 #define RX_FLOW_SEARCH_ENTRY_0_SRC_IP_127_96_MASK                    0xffffffff
336 
337 /* Description		RX_FLOW_SEARCH_ENTRY_1_SRC_IP_95_64
338 
339 			Next 32 bits of source IPv6 address or prefix (requiring
340 			a byte-swap for little-endian SW) <legal all>
341 */
342 #define RX_FLOW_SEARCH_ENTRY_1_SRC_IP_95_64_OFFSET                   0x00000004
343 #define RX_FLOW_SEARCH_ENTRY_1_SRC_IP_95_64_LSB                      0
344 #define RX_FLOW_SEARCH_ENTRY_1_SRC_IP_95_64_MASK                     0xffffffff
345 
346 /* Description		RX_FLOW_SEARCH_ENTRY_2_SRC_IP_63_32
347 
348 			Next 32 bits of source IPv6 address or lowest 32 bits of
349 			prefix (requiring a byte-swap for little-endian SW)
350 
351 			<legal all>
352 */
353 #define RX_FLOW_SEARCH_ENTRY_2_SRC_IP_63_32_OFFSET                   0x00000008
354 #define RX_FLOW_SEARCH_ENTRY_2_SRC_IP_63_32_LSB                      0
355 #define RX_FLOW_SEARCH_ENTRY_2_SRC_IP_63_32_MASK                     0xffffffff
356 
357 /* Description		RX_FLOW_SEARCH_ENTRY_3_SRC_IP_31_0
358 
359 			Lowest 32 bits of source IPv6 address, or source IPv4
360 			address (requiring a byte-swap for little-endian SW w.r.t.
361 			the byte order in an IPv6 or IPv4 packet)
362 
363 			<legal all>
364 */
365 #define RX_FLOW_SEARCH_ENTRY_3_SRC_IP_31_0_OFFSET                    0x0000000c
366 #define RX_FLOW_SEARCH_ENTRY_3_SRC_IP_31_0_LSB                       0
367 #define RX_FLOW_SEARCH_ENTRY_3_SRC_IP_31_0_MASK                      0xffffffff
368 
369 /* Description		RX_FLOW_SEARCH_ENTRY_4_DEST_IP_127_96
370 
371 			Uppermost 32 bits of destination IPv6 address or prefix
372 			as per Common Parser register field IP_DA_SA_PREFIX (with
373 			the first byte in the MSB and the last byte in the LSB, i.e.
374 			requiring a byte-swap for little-endian SW w.r.t. the byte
375 			order as in an IPv6 packet)
376 
377 			<legal all>
378 */
379 #define RX_FLOW_SEARCH_ENTRY_4_DEST_IP_127_96_OFFSET                 0x00000010
380 #define RX_FLOW_SEARCH_ENTRY_4_DEST_IP_127_96_LSB                    0
381 #define RX_FLOW_SEARCH_ENTRY_4_DEST_IP_127_96_MASK                   0xffffffff
382 
383 /* Description		RX_FLOW_SEARCH_ENTRY_5_DEST_IP_95_64
384 
385 			Next 32 bits of destination IPv6 address or prefix
386 			(requiring a byte-swap for little-endian SW)
387 
388 			<legal all>
389 */
390 #define RX_FLOW_SEARCH_ENTRY_5_DEST_IP_95_64_OFFSET                  0x00000014
391 #define RX_FLOW_SEARCH_ENTRY_5_DEST_IP_95_64_LSB                     0
392 #define RX_FLOW_SEARCH_ENTRY_5_DEST_IP_95_64_MASK                    0xffffffff
393 
394 /* Description		RX_FLOW_SEARCH_ENTRY_6_DEST_IP_63_32
395 
396 			Next 32 bits of destination IPv6 address or lowest 32
397 			bits of prefix (requiring a byte-swap for little-endian SW)
398 
399 			<legal all>
400 */
401 #define RX_FLOW_SEARCH_ENTRY_6_DEST_IP_63_32_OFFSET                  0x00000018
402 #define RX_FLOW_SEARCH_ENTRY_6_DEST_IP_63_32_LSB                     0
403 #define RX_FLOW_SEARCH_ENTRY_6_DEST_IP_63_32_MASK                    0xffffffff
404 
405 /* Description		RX_FLOW_SEARCH_ENTRY_7_DEST_IP_31_0
406 
407 			Lowest 32 bits of destination IPv6 address, or
408 			destination IPv4 address (requiring a byte-swap for
409 			little-endian SW w.r.t. the byte order in an IPv6 or IPv4
410 			packet)
411 
412 			<legal all>
413 */
414 #define RX_FLOW_SEARCH_ENTRY_7_DEST_IP_31_0_OFFSET                   0x0000001c
415 #define RX_FLOW_SEARCH_ENTRY_7_DEST_IP_31_0_LSB                      0
416 #define RX_FLOW_SEARCH_ENTRY_7_DEST_IP_31_0_MASK                     0xffffffff
417 
418 /* Description		RX_FLOW_SEARCH_ENTRY_8_SRC_PORT
419 
420 			LSB of SPI in case of ESP/AH
421 
422 			else source port in case of TCP/UDP without IPsec,
423 
424 			else zeros in case of ICMP (with the first/third byte in
425 			the MSB and the second/fourth byte in the LSB, i.e.
426 			requiring a byte-swap for little-endian SW w.r.t. the byte
427 			order as in an IPv6 or IPv4 packet)  <legal all>
428 */
429 #define RX_FLOW_SEARCH_ENTRY_8_SRC_PORT_OFFSET                       0x00000020
430 #define RX_FLOW_SEARCH_ENTRY_8_SRC_PORT_LSB                          0
431 #define RX_FLOW_SEARCH_ENTRY_8_SRC_PORT_MASK                         0x0000ffff
432 
433 /* Description		RX_FLOW_SEARCH_ENTRY_8_DEST_PORT
434 
435 			MSB of SPI in case of ESP/AH
436 
437 			else destination port in case of TCP/UDP without IPsec,
438 
439 			else zeros in case of ICMP (with the first byte in the
440 			MSB and the second byte in the LSB, i.e. requiring a
441 			byte-swap for little-endian SW w.r.t. the byte order as in
442 			an IPv6 or IPv4 packet)
443 
444 			<legal all>
445 */
446 #define RX_FLOW_SEARCH_ENTRY_8_DEST_PORT_OFFSET                      0x00000020
447 #define RX_FLOW_SEARCH_ENTRY_8_DEST_PORT_LSB                         16
448 #define RX_FLOW_SEARCH_ENTRY_8_DEST_PORT_MASK                        0xffff0000
449 
450 /* Description		RX_FLOW_SEARCH_ENTRY_9_L4_PROTOCOL
451 
452 			IPsec or L4 protocol
453 
454 
455 
456 			<enum 1 ICMPV4>
457 
458 			<enum 6 TCP>
459 
460 			<enum 17 UDP>
461 
462 			<enum 50 ESP>
463 
464 			<enum 51 AH>
465 
466 			<enum 58 ICMPV6>
467 
468 			<legal 1, 6, 17, 50, 51, 58>
469 */
470 #define RX_FLOW_SEARCH_ENTRY_9_L4_PROTOCOL_OFFSET                    0x00000024
471 #define RX_FLOW_SEARCH_ENTRY_9_L4_PROTOCOL_LSB                       0
472 #define RX_FLOW_SEARCH_ENTRY_9_L4_PROTOCOL_MASK                      0x000000ff
473 
474 /* Description		RX_FLOW_SEARCH_ENTRY_9_VALID
475 
476 			Indicates validity of entry
477 
478 			<legal all>
479 */
480 #define RX_FLOW_SEARCH_ENTRY_9_VALID_OFFSET                          0x00000024
481 #define RX_FLOW_SEARCH_ENTRY_9_VALID_LSB                             8
482 #define RX_FLOW_SEARCH_ENTRY_9_VALID_MASK                            0x00000100
483 
484 /* Description		RX_FLOW_SEARCH_ENTRY_9_RESERVED_9
485 
486 			<legal 0>
487 */
488 #define RX_FLOW_SEARCH_ENTRY_9_RESERVED_9_OFFSET                     0x00000024
489 #define RX_FLOW_SEARCH_ENTRY_9_RESERVED_9_LSB                        9
490 #define RX_FLOW_SEARCH_ENTRY_9_RESERVED_9_MASK                       0x3ffffe00
491 
492 /* Description		RX_FLOW_SEARCH_ENTRY_9_REO_DESTINATION_HANDLER
493 
494 			Indicates how to decide the REO destination indication
495 
496 			<enum 0 RXFT_USE_FT> Follow this entry
497 
498 			<enum 1 RXFT_USE_ASPT> Use address search+peer table
499 			entry
500 
501 			<enum 2 RXFT_USE_FT2> Follow this entry
502 
503 			<enum 3 RXFT_USE_CCE> Use CCE super-rule
504 
505 			<legal all>
506 */
507 #define RX_FLOW_SEARCH_ENTRY_9_REO_DESTINATION_HANDLER_OFFSET        0x00000024
508 #define RX_FLOW_SEARCH_ENTRY_9_REO_DESTINATION_HANDLER_LSB           30
509 #define RX_FLOW_SEARCH_ENTRY_9_REO_DESTINATION_HANDLER_MASK          0xc0000000
510 
511 /* Description		RX_FLOW_SEARCH_ENTRY_10_METADATA
512 
513 			Value to be passed to SW if this flow search entry
514 			matches
515 
516 			<legal all>
517 */
518 #define RX_FLOW_SEARCH_ENTRY_10_METADATA_OFFSET                      0x00000028
519 #define RX_FLOW_SEARCH_ENTRY_10_METADATA_LSB                         0
520 #define RX_FLOW_SEARCH_ENTRY_10_METADATA_MASK                        0xffffffff
521 
522 /* Description		RX_FLOW_SEARCH_ENTRY_11_REO_DESTINATION_INDICATION
523 
524 			The ID of the REO exit ring where the MSDU frame shall
525 			push after (MPDU level) reordering has finished.
526 
527 
528 
529 			<enum 0 reo_destination_tcl> Reo will push the frame
530 			into the REO2TCL ring
531 
532 			<enum 1 reo_destination_sw1> Reo will push the frame
533 			into the REO2SW1 ring
534 
535 			<enum 2 reo_destination_sw2> Reo will push the frame
536 			into the REO2SW1 ring
537 
538 			<enum 3 reo_destination_sw3> Reo will push the frame
539 			into the REO2SW1 ring
540 
541 			<enum 4 reo_destination_sw4> Reo will push the frame
542 			into the REO2SW1 ring
543 
544 			<enum 5 reo_destination_release> Reo will push the frame
545 			into the REO_release ring
546 
547 			<enum 6 reo_destination_fw> Reo will push the frame into
548 			the REO2FW ring
549 
550 			<enum 7 reo_destination_7> REO remaps this
551 
552 			<enum 8 reo_destination_8> REO remaps this <enum 9
553 			reo_destination_9> REO remaps this <enum 10
554 			reo_destination_10> REO remaps this
555 
556 			<enum 11 reo_destination_11> REO remaps this
557 
558 			<enum 12 reo_destination_12> REO remaps this <enum 13
559 			reo_destination_13> REO remaps this
560 
561 			<enum 14 reo_destination_14> REO remaps this
562 
563 			<enum 15 reo_destination_15> REO remaps this
564 
565 			<enum 16 reo_destination_16> REO remaps this
566 
567 			<enum 17 reo_destination_17> REO remaps this
568 
569 			<enum 18 reo_destination_18> REO remaps this
570 
571 			<enum 19 reo_destination_19> REO remaps this
572 
573 			<enum 20 reo_destination_20> REO remaps this
574 
575 			<enum 21 reo_destination_21> REO remaps this
576 
577 			<enum 22 reo_destination_22> REO remaps this
578 
579 			<enum 23 reo_destination_23> REO remaps this
580 
581 			<enum 24 reo_destination_24> REO remaps this
582 
583 			<enum 25 reo_destination_25> REO remaps this
584 
585 			<enum 26 reo_destination_26> REO remaps this
586 
587 			<enum 27 reo_destination_27> REO remaps this
588 
589 			<enum 28 reo_destination_28> REO remaps this
590 
591 			<enum 29 reo_destination_29> REO remaps this
592 
593 			<enum 30 reo_destination_30> REO remaps this
594 
595 			<enum 31 reo_destination_31> REO remaps this
596 
597 
598 
599 			<legal all>
600 */
601 #define RX_FLOW_SEARCH_ENTRY_11_REO_DESTINATION_INDICATION_OFFSET    0x0000002c
602 #define RX_FLOW_SEARCH_ENTRY_11_REO_DESTINATION_INDICATION_LSB       0
603 #define RX_FLOW_SEARCH_ENTRY_11_REO_DESTINATION_INDICATION_MASK      0x0000001f
604 
605 /* Description		RX_FLOW_SEARCH_ENTRY_11_MSDU_DROP
606 
607 			Overriding indication to REO to forward to REO release
608 			ring
609 
610 			<legal all>
611 */
612 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_DROP_OFFSET                     0x0000002c
613 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_DROP_LSB                        5
614 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_DROP_MASK                       0x00000020
615 
616 /* Description		RX_FLOW_SEARCH_ENTRY_11_RESERVED_11
617 
618 			<legal 0>
619 */
620 #define RX_FLOW_SEARCH_ENTRY_11_RESERVED_11_OFFSET                   0x0000002c
621 #define RX_FLOW_SEARCH_ENTRY_11_RESERVED_11_LSB                      6
622 #define RX_FLOW_SEARCH_ENTRY_11_RESERVED_11_MASK                     0x000000c0
623 
624 /* Description		RX_FLOW_SEARCH_ENTRY_11_MSDU_COUNT
625 
626 			Number of Rx MSDUs matching this flow
627 
628 			<legal all>
629 */
630 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_COUNT_OFFSET                    0x0000002c
631 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_COUNT_LSB                       8
632 #define RX_FLOW_SEARCH_ENTRY_11_MSDU_COUNT_MASK                      0xffffff00
633 
634 /* Description		RX_FLOW_SEARCH_ENTRY_12_MSDU_BYTE_COUNT
635 
636 			Number of bytes in Rx MSDUs matching this flow
637 
638 			<legal all>
639 */
640 #define RX_FLOW_SEARCH_ENTRY_12_MSDU_BYTE_COUNT_OFFSET               0x00000030
641 #define RX_FLOW_SEARCH_ENTRY_12_MSDU_BYTE_COUNT_LSB                  0
642 #define RX_FLOW_SEARCH_ENTRY_12_MSDU_BYTE_COUNT_MASK                 0xffffffff
643 
644 /* Description		RX_FLOW_SEARCH_ENTRY_13_TIMESTAMP
645 
646 			Time of last reception (as measured at Rx OLE) matching
647 			this flow
648 
649 			<legal all>
650 */
651 #define RX_FLOW_SEARCH_ENTRY_13_TIMESTAMP_OFFSET                     0x00000034
652 #define RX_FLOW_SEARCH_ENTRY_13_TIMESTAMP_LSB                        0
653 #define RX_FLOW_SEARCH_ENTRY_13_TIMESTAMP_MASK                       0xffffffff
654 
655 
656 #endif // _RX_FLOW_SEARCH_ENTRY_H_
657