blob: 3c3d1bcb872834fdedb0cbe6d3fbd3980dc5b31a (
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
118
119
|
#
# This file and its contents are supplied under the terms of the
# Common Development and Distribution License ("CDDL"), version 1.0.
# You may only use this file in accordance with the terms of version
# 1.0 of the CDDL.
#
# A full copy of the text of the CDDL should have accompanied this
# source. A copy of the CDDL is also available via the Internet at
# http://www.illumos.org/license/CDDL.
#
#
# Copyright 2018, Joyent, Inc.
# Copyright 2020, The University of Queensland
# Copyright 2020 RackTop Systems, Inc.
#
#
# Driver.conf file for Mellanox Connect-X 4/5/6.
# See mlxcx(4D) for valid options.
#
#
# Sizing of event and completion queues.
#
# The number of entries on each queue will be (1 << *_size_shift) -- so
# a value of 10 would mean 1024 entries.
#
#eq_size_shift = 9;
# The default for devices with a maximum supported speed up to 10Gb/s
#cq_size_shift = 10;
#
# The default for devices with a maximum supported speed above 10Gb/s
#cq_size_shift = 12;
#
# Sizing of send and receive queues.
#
# Note that this determines the size of the RX and TX rings that mlxcx will
# advertise to MAC. It also determines how many packet buffers we will allocate
# when starting the interface.
#
# The defaults for devices with a maximum supported speed up to 10Gb/s
#sq_size_shift = 11;
#rq_size_shift = 10;
#
# The defaults for devices with a maximum supported speed above 10Gb/s
#sq_size_shift = 13;
#rq_size_shift = 12;
#
# Number and configuration of TX groups and rings.
#
#tx_ngroups = 1;
#tx_nrings_per_group = 64;
#
# Number and configuration of RX groups and rings.
#
#rx_ngroups_large = 2;
#rx_nrings_per_large_group = 16;
#rx_ngroups_small = 256;
#rx_nrings_per_small_group = 4;
#
# Number of flow table entries allocated to root flow tables.
#
# This places an upper ceiling on how many MAC addresses can be filtered into
# groups across the whole NIC. If you have a lot of VNICs you might want to
# raise this (and probably also rx_ngroups_small).
#
#ftbl_root_size_shift = 12;
#
# Number of flow table entries allocated to each L1 VLAN filtering table.
#
# This places a limit on the number of VLANs that one MAC address can be
# associated with before falling back to software classification. Two entries
# are always reserved for the non-VLAN catch-all and promisc entries.
#
# Note: illumos MAC today only supports giving a single VLAN per MAC address
# to hardware drivers anyway, so setting this higher is pointless until that
# changes.
#
#ftbl_vlan_size_shift = 4;
#
# Interrupt and completion moderation.
#
#cqemod_period_usec = 50;
#cqemod_count = <80% of cq_size>;
#intrmod_period_usec = 10;
#
# Minimum packet size before we use a ddi_dma_bind_addr() rather than bcopy()
# of the packet data. DMA binds are expensive and involve taking locks in the
# PCI nexus driver, so it's seldom worth doing them for small packets.
#
#tx_bind_threshold = 2048;
#
# Interval between periodic double-checks of queue status against hardware
# state. This is used to detect hardware stalls or errors, as well as guard
# against driver bugs.
#
# If set to too high a frequency, checks may impact NIC performance. Can be
# set to zero to disable periodic checking entirely.
#
#eq_check_interval_sec = 30;
#cq_check_interval_sec = 300;
#wq_check_interval_sec = 300;
#
# To provide some level of moderation and aid latencies, after
# "rx_limit_per_completion" packets are received in a single completion
# event, the interrupt handler will pass the chain up the receive stack.
#
#rx_limit_per_completion = 256;
|