1# 2# This file and its contents are supplied under the terms of the 3# Common Development and Distribution License ("CDDL"), version 1.0. 4# You may only use this file in accordance with the terms of version 5# 1.0 of the CDDL. 6# 7# A full copy of the text of the CDDL should have accompanied this 8# source. A copy of the CDDL is also available via the Internet at 9# http://www.illumos.org/license/CDDL. 10# 11 12# 13# Copyright 2018, Joyent, Inc. 14# Copyright 2020, The University of Queensland 15# 16 17# 18# Driver.conf file for Mellanox Connect-X 4/5/6. 19# See mlxcx(7D) for valid options. 20# 21 22# 23# Sizing of event and completion queues. 24# 25# The number of entries on each queue will be (1 << *_size_shift) -- so 26# a value of 9 would mean 512 entries. 27# 28#eq_size_shift = 9; 29#cq_size_shift = 10; 30 31# 32# Sizing of send and receive queues. 33# 34# Note that this determines the size of the RX and TX rings that mlxcx will 35# advertise to MAC. It also determines how many packet buffers we will allocate 36# when starting the interface. 37# 38#sq_size_shift = 11; 39#rq_size_shift = 10; 40 41# 42# Number and configuration of TX groups and rings. 43# 44#tx_ngroups = 1; 45#tx_nrings_per_group = 64; 46 47# 48# Number and configuration of RX groups and rings. 49# 50#rx_ngroups_large = 2; 51#rx_nrings_per_large_group = 16; 52#rx_ngroups_small = 256; 53#rx_nrings_per_small_group = 4; 54 55# 56# Number of flow table entries allocated to root flow tables. 57# 58# This places an upper ceiling on how many MAC addresses can be filtered into 59# groups across the whole NIC. If you have a lot of VNICs you might want to 60# raise this (and probably also rx_ngroups_small). 61# 62#ftbl_root_size_shift = 12; 63 64# 65# Number of flow table entries allocated to each L1 VLAN filtering table. 66# 67# This places a limit on the number of VLANs that one MAC address can be 68# associated with before falling back to software classification. Two entries 69# are always reserved for the non-VLAN catch-all and promisc entries. 70# 71# Note: illumos MAC today only supports giving a single VLAN per MAC address 72# to hardware drivers anyway, so setting this higher is pointless until that 73# changes. 74# 75#ftbl_vlan_size_shift = 4; 76 77# 78# Interrupt and completion moderation. 79# 80#cqemod_period_usec = 50; 81#cqemod_count = <80% of cq_size>; 82#intrmod_period_usec = 10; 83 84# 85# Minimum packet size before we use a ddi_dma_bind_addr() rather than bcopy() 86# of the packet data. DMA binds are expensive and involve taking locks in the 87# PCI nexus driver, so it's seldom worth doing them for small packets. 88# 89#tx_bind_threshold = 2048; 90 91# 92# Interval between periodic double-checks of queue status against hardware 93# state. This is used to detect hardware stalls or errors, as well as guard 94# against driver bugs. 95# 96# If set to too high a frequency, checks may impact NIC performance. Can be 97# set to zero to disable periodic checking entirely. 98# 99#eq_check_interval_sec = 30; 100#cq_check_interval_sec = 300; 101#wq_check_interval_sec = 300; 102