-
Notifications
You must be signed in to change notification settings - Fork 25
/
dataplane-drivers-default.conf
252 lines (224 loc) · 5.06 KB
/
dataplane-drivers-default.conf
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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
#
# This file contains the dataplane driver config. Multiple drivers can
# be specified and the 'default' driver must be specified. This is used
# when there is no better match found. The default driver should be last.
#
# The configurable fields per driver are:
# for each driver are:
# max_rxq=
# The max number of rxqs to use for an interface of this type.
# mandatory
#
# max_txq=
# The max number of txqs to use for an interface of this type. This in only
# used if not running in direct-transmit mode.
# optional
#
# rx_desc=
# The number of rx_buffers per queue with a max of 65k, should be a power of 2.
# mandatory
#
# tx_desc=
# The number of tx_buffers per queue with a max of 65k, should be a power of 2.
# mandatory
#
# extra=
# Extra buffers per rx queue, if required, with a max of 65k,
# and should be a power of 2.
# mandatory
#
# virtual=yes
# A virtual device
# optional
#
# limit-txq=yes
# number of rxq == number of txq
# optional
#
# disable_direct=yes
# Do not do direct transmit. Always go through tx thread.
#
# tx_pkt_ring_size=
# If running with separate txq, the size of the ring that the rx thread
# enqueues to for tx processing. Default = 2048
#
# use_all_rxq=yes
# Use all of the rxqs the interface is capable of using. Used for
# devices that have no control over how many queues are used for RX
# at runtime. When this is enabled max_rxq is ignored.
# optional
#
# use_all_txq=yes
# Use all of the txqs the interface is capable of using. Used for
# devices that have no control over how many queues are used for TX
# at runtime. When this is enabled max_txq is ignored.
# optional
#
# In theory a 40G i/f should require 4x queues of 10G i/f,
# like ixgbe, so this should be 8. However, in practice PCIe
# 3.0 x8 transfer limits mean that line rate for 64byte
# packets isn't achievable, so give enough queues to support
# 128byte packets at line rate which is the max rate stated
# by the hardware tech docs presumably (although this likely
# includes some margin for error).
[i40e_40]
max_rxq=4
rx_desc=2048
tx_desc=128
[i40e_25]
max_rxq=4
rx_desc=2048
tx_desc=128
[i40e]
max_rxq=2
rx_desc=2048
tx_desc=128
[mlx4_100]
max_rxq=10
rx_desc=2048
tx_desc=128
[mlx4_40]
max_rxq=4
rx_desc=2048
tx_desc=128
[mlx4]
max_rxq=2
rx_desc=2048
tx_desc=128
[mlx5_100]
max_rxq=16
rx_desc=2048
tx_desc=1024
tx_desc_vm_multiplier=4
rx_offloads=keep_crc
tx_offloads=!dev_tx_offload_vlan_insert
[mlx5_40]
max_rxq=4
rx_desc=2048
tx_desc=128
tx_offloads=!dev_tx_offload_vlan_insert
[mlx5]
max_rxq=2
rx_desc=2048
tx_desc=128
tx_offloads=!dev_tx_offload_vlan_insert
[mlx5_pci_100]
max_rxq=16
rx_desc=2048
tx_desc=1024
tx_desc_vm_multiplier=4
rx_offloads=keep_crc
tx_offloads=!dev_tx_offload_vlan_insert
[mlx5_pci_40]
max_rxq=4
rx_desc=2048
tx_desc=128
tx_offloads=!dev_tx_offload_vlan_insert
[mlx5_pci]
max_rxq=2
rx_desc=2048
tx_desc=128
tx_offloads=!dev_tx_offload_vlan_insert
[nicvf]
max_rxq=4
rx_desc=2048
tx_desc=128
[fm10k]
max_rxq=2
rx_desc=2048
tx_desc=128
# The ixgbe LSC interrupt is tells the driver that the link status
# is changing. The current DPDK driver schedules an event in the
# near future to check the status. However, empircal testing has
# shown that the delay is too short. Instead of trying to pick
# some idea delay time, use the polling bheavior instead.
[ixgbe]
max_rxq=2
rx_desc=2048
tx_desc=512
dev_flags=!rte_eth_dev_intr_lsc
[bnx2x]
max_rxq=2
rx_desc=1024
tx_desc=128
limit-txq=yes
[bnxt]
max_rxq=5
rx_desc=2048
tx_desc=128
[vmxnet3]
max_rxq=2
rx_desc=512
tx_desc=512
extra=512
virtual=yes
[virtio]
max_rxq=2
rx_desc=256
tx_desc=256
virtual=yes
limit-txq=yes
rx_mq_mode=eth_mq_rx_none
[igb]
max_rxq=1
rx_desc=256
tx_desc=256
# use_all_txq needs to be set for the vhost PMD so that the
# dataplane has an equal number of TX and RX queues
[vhost]
rx_desc=256
tx_desc=256
virtual=yes
use_all_rxq=yes
use_all_txq=yes
# tx_desc for bonding needs to be >= DEFAULT ring size,
# or 4096, for vmxnet3 and <= MAX ring size, or 4096,
# for all drivers.
# 2048 rx_desc plus 2048 extra allocs 8192 mbufs.
# 8192+512(tx_desc)+2048(PKT_RING_SIZE), with
# DATAPLANE_SLAVE_MULTIPLIER, mbufs is 18944 and aligns
# to the next power of 2, it is 32768 mbufs.
#
# net_bonding can't advertise DEV_TX_OFFLOAD_MULTI_SEGS
# until after the first member is added. However, if we
# are able to configure the member it doesn't matter.
[bonding]
max_rxq=2
rx_desc=2048
tx_desc=512
extra=2048
virtual=yes
limit-txq=yes
tx_offloads=!dev_tx_offload_multi_segs
# limit-txq must be configured to yes because the unaccelerated
# version of the netvsc PMD assumes you will always have the
# same number of RX and TX queues.
[netvsc]
max_rxq=2
rx_desc=2048
tx_desc=2048
virtual=yes
limit-txq=yes
# If a netvsc is backed by a VF, use this profile instead.
[netvsc_vf]
max_rxq=8
rx_desc=2048
tx_desc=128
# unit testing only; no tx_offloads necessary.
[net_ring]
max_rxq=2
rx_desc=512
tx_desc=128
tx_offloads=!dev_tx_offload_multi_segs,!dev_tx_offload_vlan_insert
[cxgbe]
max_rxq=2
rx_desc=2048
tx_desc=512
[ena]
max_rxq=4
rx_desc=2048
tx_desc=512
[default]
max_rxq=2
rx_desc=512
tx_desc=128