xref: /illumos-gate/usr/src/uts/common/io/nxge/nxge.conf (revision 48056c53)
16f45ec7bSml#
26f45ec7bSml# CDDL HEADER START
36f45ec7bSml#
46f45ec7bSml# The contents of this file are subject to the terms of the
56f45ec7bSml# Common Development and Distribution License (the "License").
66f45ec7bSml# You may not use this file except in compliance with the License.
76f45ec7bSml#
86f45ec7bSml# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
96f45ec7bSml# or http://www.opensolaris.org/os/licensing.
106f45ec7bSml# See the License for the specific language governing permissions
116f45ec7bSml# and limitations under the License.
126f45ec7bSml#
136f45ec7bSml# When distributing Covered Code, include this CDDL HEADER in each
146f45ec7bSml# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
156f45ec7bSml# If applicable, add the following below this CDDL HEADER, with the
166f45ec7bSml# fields enclosed by brackets "[]" replaced with your own identifying
176f45ec7bSml# information: Portions Copyright [yyyy] [name of copyright owner]
186f45ec7bSml#
196f45ec7bSml# CDDL HEADER END
206f45ec7bSml#
216f45ec7bSml#########################################################################
226f45ec7bSml#
237b26d9ffSSantwona Behera# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
246f45ec7bSml# Use is subject to license terms.
256f45ec7bSml#
266f45ec7bSml#
276f45ec7bSml# driver.conf file for Sun NIU 10Gb/1Gb Ethernet Driver (nxge)
286f45ec7bSml#
296f45ec7bSml#
306f45ec7bSml#---------------Link Configuration ----------------------
316f45ec7bSml#	The link parameters depend on the type of the card
326f45ec7bSml#	and the port.
336f45ec7bSml#	10 gigabit related parameters ( i.e adv_10gfdx_cap)
346f45ec7bSml#	apply only to 10gigabit ports.
356f45ec7bSml#	Half duplex is not supported on any NIU card.
366f45ec7bSml#
376f45ec7bSml# 	adv-autoneg-cap
386f45ec7bSml#		Advertise auto-negotiation capability.
396f45ec7bSml#		default is 1
406f45ec7bSml# adv-autoneg-cap = 1;
416f45ec7bSml#
426f45ec7bSml#	adv_10gfdx_cap
436f45ec7bSml#		Advertise 10gbps Full duplex  capability.
446f45ec7bSml#		default is 1
456f45ec7bSml# adv_10gfdx_cap = 1;
466f45ec7bSml#
476f45ec7bSml#	adv_1000fdx_cap
486f45ec7bSml#		Advertise 1gbps Full duplex  capability.
496f45ec7bSml#		default is 1
506f45ec7bSml# adv_1000fdx_cap = 1;
516f45ec7bSml#
526f45ec7bSml#	adv_100fdx_cap
536f45ec7bSml#		Advertise 100mbps Full duplex  capability.
546f45ec7bSml#		default is 1
556f45ec7bSml# adv_100fdx_cap = 1;
566f45ec7bSml#
576f45ec7bSml#	adv_10fdx_cap
586f45ec7bSml#		Advertise 10mbps Full duplex  capability.
596f45ec7bSml#		default is 1
606f45ec7bSml# adv_10fdx_cap = 1;
616f45ec7bSml#
626f45ec7bSml#	adv_asmpause_cap
636f45ec7bSml#		Advertise Asymmetric pause capability.
646f45ec7bSml#		default is 0
656f45ec7bSml# adv_asmpause_cap = 0;
666f45ec7bSml#
676f45ec7bSml#	adv_pause_cap
686f45ec7bSml#		Advertise pause capability.
696f45ec7bSml#		default is 1
706f45ec7bSml# adv_pause_cap = 1;
716f45ec7bSml#
726f45ec7bSml#------- Receive DMA Configuration ----------------------------
736f45ec7bSml#
746f45ec7bSml#  rxdma-intr-time
756f45ec7bSml#	Interrupts after this number of NIU hardware ticks have
766f45ec7bSml#	elapsed since the last packet was received.
777b26d9ffSSantwona Behera#	(Default = 8, Minimum = 1).
786f45ec7bSml#
796f45ec7bSml# rxdma-intr-pkts
806f45ec7bSml#	Interrupt after this number of packets have arrived since
817b26d9ffSSantwona Behera#	the last packet was serviced.
827b26d9ffSSantwona Behera#	(Default = 32, Minimum = 8).
836f45ec7bSml#
847b26d9ffSSantwona Behera# Default Interrupt Blanking parameters:
856f45ec7bSml#
866f45ec7bSml# rxdma-intr-time = 8;
877b26d9ffSSantwona Behera# rxdma-intr-pkts = 32;
887b26d9ffSSantwona Behera#
897b26d9ffSSantwona Behera# To turn off interrupt blanking, use the minimum values for both
907b26d9ffSSantwona Behera# rxdma-intr-time and rxdma-intr-pkts.
916f45ec7bSml#
926f45ec7bSml#
936f45ec7bSml#------- Classification and Load Distribution Configuration ------
946f45ec7bSml#
956f45ec7bSml# class-opt-****-***
96*c1f9c6e5SSantwona Behera# 	These parameters define how each IP class is configured.
97*c1f9c6e5SSantwona Behera# 	They control how the flow template is constructed and how
98*c1f9c6e5SSantwona Behera#	packets are distributed within RDC groups.
996f45ec7bSml#
1006f45ec7bSml#	supported classes:
1016f45ec7bSml#	class-opt-ipv4-tcp class-opt-ipv4-udp class-opt-ipv4-sctp
1026f45ec7bSml#	class-opt-ipv4-ah class-opt-ipv6-tcp class-opt-ipv6-udp
1036f45ec7bSml#	class-opt-ipv6-sctp class-opt-ipv6-ah
1046f45ec7bSml#
1056f45ec7bSml#	Configuration bits (Thes following bits will be decoded
1066f45ec7bSml#	by the driver as hex format).
1076f45ec7bSml#
1086f45ec7bSml# 	0010:		use MAC Port (for flow key)
1096f45ec7bSml#	0020:		use L2DA (for flow key)
1106f45ec7bSml#	0040:		use VLAN (for flow key)
1116f45ec7bSml#	0080:		use proto (for flow key)
1126f45ec7bSml#	0100:		use IP src addr (for flow key)
1136f45ec7bSml#	0200:		use IP dest addr (for flow key)
1146f45ec7bSml#	0400:		use Src Port (for flow key)
1156f45ec7bSml#	0800:		use Dest Port (for flow key)
1166f45ec7bSml#
117*c1f9c6e5SSantwona Behera# The following uses L2DA, VLAN, IP proto, IP src and dest and TCP
118*c1f9c6e5SSantwona Behera# src and dest port for computing the flow key for IPv4 TCP packets.
119*c1f9c6e5SSantwona Behera#
120*c1f9c6e5SSantwona Behera# class-opt-ipv4-tcp = 0xfe0;
1216f45ec7bSml#
1223d16f8e7Sml#------- Software LSO (large segment offload) support --------
1233d16f8e7Sml# To enable software LSO for all nxge interfaces,
1243d16f8e7Sml#soft-lso-enable = 1;
1253d16f8e7Sml#
1263d16f8e7Sml# To disable software LSO for all nxge interfaces,
1273d16f8e7Sml#soft-lso-enable = 0;
1283d16f8e7Sml#
1293d16f8e7Sml# Default software LSO is set to 0.
1303d16f8e7Sml# Please refer to examples at the end of this file for
1313d16f8e7Sml# enabling or disabling software LSO for a particular nxge interface.
1323d16f8e7Sml#
1333d16f8e7Sml#
1346f45ec7bSml# ------- How to set parameters for a particular interface --------
1356f45ec7bSml# The example below shows how to locate the device path and set a
1366f45ec7bSml# parameter for a particular nxge interface. (Using jumbo support as
1376f45ec7bSml# an example)
1386f45ec7bSml#
1396f45ec7bSml# Use the following command to find out the device paths for nxge,
1406f45ec7bSml#       more /etc/path_to_inst | grep nxge
1416f45ec7bSml#
1426f45ec7bSml# For example, if you see,
1436f45ec7bSml#       "/pci@7c0/pci@0/pci@8/network@0" 0 "nxge"
1446f45ec7bSml#       "/pci@7c0/pci@0/pci@8/network@0,1" 1 "nxge"
1456f45ec7bSml#       "/pci@7c0/pci@0/pci@8/network@0,2" 2 "nxge"
1466f45ec7bSml#       "/pci@7c0/pci@0/pci@8/network@0,3" 3 "nxge"
1476f45ec7bSml#
1483d16f8e7Sml# Use the above path_to_inst file as an example to enable software LSO
1493d16f8e7Sml# for port 0 and 1, and disable software LSO for port 2 and 3.
1503d16f8e7Sml#
1513d16f8e7Sml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0"
1523d16f8e7Sml# soft-lso-enable = 1;
1533d16f8e7Sml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,1"
1543d16f8e7Sml# soft-lso-enable = 1;
1553d16f8e7Sml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,2"
1563d16f8e7Sml# soft-lso-enable = 0;
1573d16f8e7Sml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,3"
1583d16f8e7Sml# soft-lso-enable = 0;
1593d16f8e7Sml#
1603d16f8e7Sml#
1613d16f8e7Sml# If the path_to_inst file is:
1623d16f8e7Sml#
1633d16f8e7Sml#	"/niu@80/network@0" 0 "nxge"
1643d16f8e7Sml#	"/niu@80/network@1" 1 "nxge"
1653d16f8e7Sml#
1663d16f8e7Sml# Enable software lso for port 0, and disable software LSO for port 1
1673d16f8e7Sml#
1683d16f8e7Sml#name="SUNW,niusl" parent="/niu@80" unit-address="0" soft-lso-enable=1;
1693d16f8e7Sml#name="SUNW,niusl" parent="/niu@80" unit-address="1" soft-lso-enable=0;
170