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