xref: /illumos-gate/usr/src/uts/common/io/igb/igb.conf (revision c1374a13e412c4ec42cba867e57347a0e049a822)
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-2009 Intel Corporation. All rights reserved.
23#
24# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
25# Use is subject to license terms.
26#
27#
28#
29# Driver.conf file for Intel 1Gb ethernet driver (igb)
30#
31# -------------------- Link Configuration --------------------
32# The parameters of link configuration:
33#
34# adv_cap_autoneg
35#	Advertise capability of auto-negotiation.
36#	Allowed values:	0, 1
37#	Default value:	1
38#
39# adv_cap_1000fdx
40#	Advertise capability of 1000Mbps full duplex
41#	Allowed values:	0, 1
42#	Default value:	1
43#
44# adv_cap_100fdx
45#	Advertise capability of 100Mbps full duplex
46#	Allowed values:	0, 1
47#	Default value:	1
48#
49# adv_cap_100hdx
50#	Advertise capability of 100Mbps half duplex
51#	Allowed values:	0, 1
52#	Default value:	1
53#
54# adv_cap_10fdx
55#	Advertise capability of 10Mbps full duplex
56#	Allowed values:	0, 1
57#	Default value:	1
58#
59# adv_cap_10hdx
60#	Advertise capability of 10Mbps half duplex
61#	Allowed values:	0, 1
62#	Default value:	1
63#
64# There are two methods to configure the link:
65#	autonegotiation or forced link
66#
67# The parameter "adv_cap_autoneg" is used to enable autonegotiation or disable
68# it (forced link mode).
69#
70# If autonegotiation is enabled (the default mode), all the "adv_cap_*"
71# parameters control which capabilities are advertised to the partner. The
72# default is to advertise all the capabilities that the hardware supports.
73# The advertised capabilities can also be restricted to a subset. It is not
74# possible to advertise a capability that the hardware does not support.
75#
76# The autonegotiation process will then automatically select the fastest speed/
77# duplex mode supported by both partners.
78#
79# If autonegotiation is disabled (forced link mode), the link speed/duplex is
80# determined by the first link capability that is enabled, in highest-to-lowest
81# speed/duplex order.
82#
83# For example, if adv_cap_1000fdx is enabled, all other values will be ignored;
84# to force 10hdx mode, all the faster modes must be explicitly disabled.
85#
86# Note:
87# 1. 1000M half duplex is not supported with igb.
88# 2. 1000M speed is not supported with the forced link mode (the value of
89#    adv_cap_1000fdx will be ignored).
90# 3. The forced link mode may result in a non-working link or a half duplex
91#    link. If forced link mode is used, both the partners should be forced to
92#    the same link/speed mode.
93#
94# adv_cap_autoneg	= 1;
95# adv_cap_1000fdx	= 1;
96# adv_cap_100fdx	= 1;
97# adv_cap_100hdx	= 1;
98# adv_cap_10fdx		= 1;
99# adv_cap_10hdx		= 1;
100#
101# -------------------- Jumbo Frame --------------------
102# default_mtu
103#	The size of the default MTU (payload without the ethernet header)
104#	Allowed values:	1500 - 9000
105#	Default value:	1500
106#
107# default_mtu		= 1500;
108#
109# -------------------- Flow Control --------------------
110# flow_control
111#	Ethernet flow control
112#	Allowed values:	0 - Disable
113#			1 - Receive only
114#			2 - Transmit only
115#			3 - Receive and transmit
116#			4 - Use NVROM-programmed factory default setting
117#	default value:	3
118#
119# flow_control		= 3;
120#
121# -------------------- Transmit/Receive Queues --------------------
122#
123# tx_ring_size
124#	The number of the transmit descriptors per transmit queue
125#	Allowed values:	64 - 4096
126#	Default value:	512
127#
128# rx_ring_size
129#	The number of the receive descriptors per receive queue
130#	Allowed values:	64 - 4096
131#	Default value:	512
132#
133# mr_enable
134#	Enable multiple rx queues and tx queues
135#	Allowed values:	0, 1
136#	Default value:	0
137#
138# rx_group_number
139#	The number of the receive ring groups
140#	Allowed values:	1 - 4
141#	Default value:	1
142#
143# Note: If the specified values of the rx_group_number are not supported by
144# hardware, the rx_group_number will be downgrade to an acceptable value.
145#
146# -------- How to set parameters for a particular interface ---------
147# The example below shows how to locate the device path and set a parameter
148# for a particular igb interface. (Using flow_control as an example)
149#
150# Use the following command to find out the device paths for igb,
151#       more /etc/path_to_inst | grep igb
152#
153# For example, if you see,
154#	"/pci@0,0/pci10de,5d@d/pci8086,0@0" 0 "igb"
155#	"/pci@0,0/pci10de,5d@d/pci8086,0@0,1" 1 "igb"
156#
157# name = "pciex8086,10a7" parent = "/pci@0,0/pci10de,5d@d" unit-address = "0"
158# flow_control = 1;
159# name = "pciex8086,10a7" parent = "/pci@0,0/pci10de,5d@d" unit-address = "0,1"
160# flow_control = 3;
161