xref: /illumos-gate/usr/src/uts/common/io/igb/igb.conf (revision 1f5207b7604fb44407eb4342aff613f7c4508508)
1#
2# CDDL HEADER START
3#
4# The contents of this file are subject to the terms of the
5# Common Development and Distribution License (the "License").
6# You may not use this file except in compliance with the License.
7#
8# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9# or http://www.opensolaris.org/os/licensing.
10# See the License for the specific language governing permissions
11# and limitations under the License.
12#
13# When distributing Covered Code, include this CDDL HEADER in each
14# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
15# If applicable, add the following below this CDDL HEADER, with the
16# fields enclosed by brackets "[]" replaced with your own identifying
17# information: Portions Copyright [yyyy] [name of copyright owner]
18#
19# CDDL HEADER END
20#
21#
22# Copyright(c) 2007-2010 Intel Corporation. All rights reserved.
23#
24# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
25#
26#
27#
28# Driver.conf file for Intel 1Gb ethernet driver (igb)
29#
30# -------------------- Link Configuration --------------------
31# The parameters of link configuration:
32#
33# adv_autoneg_cap
34#	Advertise capability of auto-negotiation.
35#	Allowed values:	0, 1
36#	Default value:	1
37#
38# adv_1000fdx_cap
39#	Advertise capability of 1000Mbps full duplex
40#	Allowed values:	0, 1
41#	Default value:	1
42#
43# adv_100fdx_cap
44#	Advertise capability of 100Mbps full duplex
45#	Allowed values:	0, 1
46#	Default value:	1
47#
48# adv_100hdx_cap
49#	Advertise capability of 100Mbps half duplex
50#	Allowed values:	0, 1
51#	Default value:	1
52#
53# adv_10fdx_cap
54#	Advertise capability of 10Mbps full duplex
55#	Allowed values:	0, 1
56#	Default value:	1
57#
58# adv_10hdx_cap
59#	Advertise capability of 10Mbps half duplex
60#	Allowed values:	0, 1
61#	Default value:	1
62#
63# There are two methods to configure the link:
64#	autonegotiation or forced link
65#
66# The parameter "adv_autoneg_cap" is used to enable autonegotiation or disable
67# it (forced link mode).
68#
69# If autonegotiation is enabled (the default mode), all the "adv_*_cap"
70# parameters control which capabilities are advertised to the partner. The
71# default is to advertise all the capabilities that the hardware supports.
72# The advertised capabilities can also be restricted to a subset. It is not
73# possible to advertise a capability that the hardware does not support.
74#
75# The autonegotiation process will then automatically select the fastest speed/
76# duplex mode supported by both partners.
77#
78# If autonegotiation is disabled (forced link mode), the link speed/duplex is
79# determined by the first link capability that is enabled, in highest-to-lowest
80# speed/duplex order.
81#
82# For example, if adv_1000fdx_cap is enabled, all other values will be ignored;
83# to force 10hdx mode, all the faster modes must be explicitly disabled.
84#
85# Note:
86# 1. 1000M half duplex is not supported with igb.
87# 2. 1000M speed is not supported with the forced link mode (the value of
88#    adv_1000fdx_cap will be ignored).
89# 3. The forced link mode may result in a non-working link or a half duplex
90#    link. If forced link mode is used, both the partners should be forced to
91#    the same link/speed mode.
92#
93# adv_autoneg_cap	= 1;
94# adv_1000fdx_cap	= 1;
95# adv_100fdx_cap	= 1;
96# adv_100hdx_cap	= 1;
97# adv_10fdx_cap		= 1;
98# adv_10hdx_cap		= 1;
99#
100# -------------------- Jumbo Frame --------------------
101# default_mtu
102#	The size of the default MTU (payload without the ethernet header)
103#	Allowed values:	1500 - 9000
104#	Default value:	1500
105#
106# default_mtu		= 1500;
107#
108# -------------------- Flow Control --------------------
109# flow_control
110#	Ethernet flow control
111#	Allowed values:	0 - Disable
112#			1 - Receive only
113#			2 - Transmit only
114#			3 - Receive and transmit
115#			4 - Use NVROM-programmed factory default setting
116#	default value:	3
117#
118# flow_control		= 3;
119#
120# -------------------- Transmit/Receive Queues --------------------
121#
122# tx_ring_size
123#	The number of the transmit descriptors per transmit queue
124#	Allowed values:	64 - 4096
125#	Default value:	512
126#
127# rx_ring_size
128#	The number of the receive descriptors per receive queue
129#	Allowed values:	64 - 4096
130#	Default value:	512
131#
132# mr_enable
133#	Enable multiple rx queues and tx queues
134#	Allowed values:	0, 1
135#	Default value:	0
136#
137# rx_group_number
138#	The number of the receive ring groups
139#	Allowed values:	1 - 4
140#	Default value:	1
141#
142# Note: If the specified values of the rx_group_number are not supported by
143# hardware, the rx_group_number will be downgrade to an acceptable value.
144#
145# -------- How to set parameters for a particular interface ---------
146# The example below shows how to locate the device path and set a parameter
147# for a particular igb interface. (Using flow_control as an example)
148#
149# Use the following command to find out the device paths for igb,
150#       more /etc/path_to_inst | grep igb
151#
152# For example, if you see,
153#	"/pci@0,0/pci10de,5d@d/pci8086,0@0" 0 "igb"
154#	"/pci@0,0/pci10de,5d@d/pci8086,0@0,1" 1 "igb"
155#
156# name = "pciex8086,10a7" parent = "/pci@0,0/pci10de,5d@d" unit-address = "0"
157# flow_control = 1;
158# name = "pciex8086,10a7" parent = "/pci@0,0/pci10de,5d@d" unit-address = "0,1"
159# flow_control = 3;
160