blob: 96c63af146413cfd615bb88c6208c5001e1614c6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
/* Copyright (c) 2016, Linaro Limited
* All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef ODP_CONFIG_INTERNAL_H_
#define ODP_CONFIG_INTERNAL_H_
#ifdef __cplusplus
extern "C" {
#endif
/*
* Maximum number of pools
*/
#define ODP_CONFIG_POOLS 16
/*
* Maximum number of queues
*/
#define ODP_CONFIG_QUEUES 1024
/*
* Maximum number of packet IO resources
*/
#define ODP_CONFIG_PKTIO_ENTRIES 64
/*
* Minimum buffer alignment
*
* This defines the minimum supported buffer alignment. Requests for values
* below this will be rounded up to this value.
*/
#define ODP_CONFIG_BUFFER_ALIGN_MIN 16
/*
* Maximum buffer alignment
*
* This defines the maximum supported buffer alignment. Requests for values
* above this will fail.
*/
#define ODP_CONFIG_BUFFER_ALIGN_MAX (4 * 1024)
/*
* Default packet headroom
*
* This defines the minimum number of headroom bytes that newly created packets
* have by default. The default apply to both ODP packet input and user
* allocated packets. Implementations may reserve a larger than minimum headroom
* size e.g. due to HW or a protocol specific alignment requirement.
*
* @internal In linux-generic implementation:
* The default value (66) allows a 1500-byte packet to be received into a single
* segment with Ethernet offset alignment and room for some header expansion.
*/
#define ODP_CONFIG_PACKET_HEADROOM 66
/*
* Default packet tailroom
*
* This defines the minimum number of tailroom bytes that newly created packets
* have by default. The default apply to both ODP packet input and user
* allocated packets. Implementations are free to add to this as desired
* without restriction. Note that most implementations will automatically
* consider any unused portion of the last segment of a packet as tailroom
*/
#define ODP_CONFIG_PACKET_TAILROOM 0
/*
* Maximum number of segments per packet
*/
#define ODP_CONFIG_PACKET_MAX_SEGS 6
/*
* Minimum packet segment length
*
* This defines the minimum packet segment buffer length in bytes. The user
* defined segment length (seg_len in odp_pool_param_t) will be rounded up into
* this value.
*/
#define ODP_CONFIG_PACKET_SEG_LEN_MIN 1598
/*
* Maximum packet segment length
*
* This defines the maximum packet segment buffer length in bytes. The user
* defined segment length (seg_len in odp_pool_param_t) must not be larger than
* this.
*/
#define ODP_CONFIG_PACKET_SEG_LEN_MAX (64 * 1024)
/*
* Maximum packet buffer length
*
* This defines the maximum number of bytes that can be stored into a packet
* (maximum return value of odp_packet_buf_len(void)). Attempts to allocate
* (including default head- and tailrooms) or extend packets to sizes larger
* than this limit will fail.
*
* @internal In linux-generic implementation:
* - The value MUST be an integral number of segments
* - The value SHOULD be large enough to accommodate jumbo packets (9K)
*/
#define ODP_CONFIG_PACKET_BUF_LEN_MAX (ODP_CONFIG_PACKET_SEG_LEN_MIN * 6)
/* Maximum number of shared memory blocks.
*
* This the the number of separate SHM areas that can be reserved concurrently
*/
#define ODP_CONFIG_SHM_BLOCKS (ODP_CONFIG_POOLS + 48)
#ifdef __cplusplus
}
#endif
#endif
|