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