nxge.conf revision c1f9c6e59030a6092e438aa2c597295c52ec6eba
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# CDDL HEADER START
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# The contents of this file are subject to the terms of the
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Common Development and Distribution License (the "License").
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# You may not use this file except in compliance with the License.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# or http://www.opensolaris.org/os/licensing.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# See the License for the specific language governing permissions
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# and limitations under the License.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# When distributing Covered Code, include this CDDL HEADER in each
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# If applicable, add the following below this CDDL HEADER, with the
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# fields enclosed by brackets "[]" replaced with your own identifying
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# information: Portions Copyright [yyyy] [name of copyright owner]
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# CDDL HEADER END
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#########################################################################
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Use is subject to license terms.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# driver.conf file for Sun NIU 10Gb/1Gb Ethernet Driver (nxge)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#---------------Link Configuration ----------------------
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# The link parameters depend on the type of the card
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# and the port.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 10 gigabit related parameters ( i.e adv_10gfdx_cap)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# apply only to 10gigabit ports.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Half duplex is not supported on any NIU card.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv-autoneg-cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise auto-negotiation capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv-autoneg-cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_10gfdx_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise 10gbps Full duplex capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_10gfdx_cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_1000fdx_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise 1gbps Full duplex capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_1000fdx_cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_100fdx_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise 100mbps Full duplex capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_100fdx_cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_10fdx_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise 10mbps Full duplex capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_10fdx_cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_asmpause_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise Asymmetric pause capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 0
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_asmpause_cap = 0;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_pause_cap
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Advertise pause capability.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# default is 1
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# adv_pause_cap = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#------- Jumbo frame support ---------------------------------
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# To enable jumbo support for all nxge interfaces,
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# To disable jumbo support for all nxge interfaces,
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 0;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Default is 0. See the example at the end of this file for
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# enabling or disabling jumbo for a particular nxge interface.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#------- Receive DMA Configuration ----------------------------
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# rxdma-intr-time
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Interrupts after this number of NIU hardware ticks have
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# elapsed since the last packet was received.
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# (Default = 8, Minimum = 1).
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# rxdma-intr-pkts
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Interrupt after this number of packets have arrived since
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# the last packet was serviced.
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# (Default = 32, Minimum = 8).
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# Default Interrupt Blanking parameters:
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# rxdma-intr-time = 8;
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# rxdma-intr-pkts = 32;
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera#
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# To turn off interrupt blanking, use the minimum values for both
7b26d9ff58e6ee1f319b41c922c7ac8d3cb4804cSantwona Behera# rxdma-intr-time and rxdma-intr-pkts.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#------- Classification and Load Distribution Configuration ------
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# class-opt-****-***
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# These parameters define how each IP class is configured.
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# They control how the flow template is constructed and how
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# packets are distributed within RDC groups.
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# supported classes:
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# class-opt-ipv4-tcp class-opt-ipv4-udp class-opt-ipv4-sctp
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# class-opt-ipv4-ah class-opt-ipv6-tcp class-opt-ipv6-udp
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# class-opt-ipv6-sctp class-opt-ipv6-ah
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Configuration bits (Thes following bits will be decoded
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# by the driver as hex format).
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0010: use MAC Port (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0020: use L2DA (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0040: use VLAN (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0080: use proto (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0100: use IP src addr (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0200: use IP dest addr (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0400: use Src Port (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# 0800: use Dest Port (for flow key)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# The following uses L2DA, VLAN, IP proto, IP src and dest and TCP
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# src and dest port for computing the flow key for IPv4 TCP packets.
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera#
c1f9c6e59030a6092e438aa2c597295c52ec6ebaSantwona Behera# class-opt-ipv4-tcp = 0xfe0;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#------- Software LSO (large segment offload) support --------
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# To enable software LSO for all nxge interfaces,
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#soft-lso-enable = 1;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# To disable software LSO for all nxge interfaces,
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#soft-lso-enable = 0;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# Default software LSO is set to 0.
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# Please refer to examples at the end of this file for
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# enabling or disabling software LSO for a particular nxge interface.
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# ------- How to set parameters for a particular interface --------
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# The example below shows how to locate the device path and set a
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# parameter for a particular nxge interface. (Using jumbo support as
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# an example)
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# Use the following command to find out the device paths for nxge,
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# more /etc/path_to_inst | grep nxge
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# For example, if you see,
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# "/pci@7c0/pci@0/pci@8/network@0" 0 "nxge"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# "/pci@7c0/pci@0/pci@8/network@0,1" 1 "nxge"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# "/pci@7c0/pci@0/pci@8/network@0,2" 2 "nxge"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# "/pci@7c0/pci@0/pci@8/network@0,3" 3 "nxge"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# then you can enable jumbo for ports 0 and 1 and disable jumbo for ports 2
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# and 3 as follows,
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml#
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,1"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 1;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,2"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 0;
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,3"
6f45ec7b0b964c3be967c4880e8867ac1e7763a5ml# accept_jumbo = 0;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# Use the above path_to_inst file as an example to enable software LSO
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# for port 0 and 1, and disable software LSO for port 2 and 3.
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# soft-lso-enable = 1;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,1"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# soft-lso-enable = 1;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,2"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# soft-lso-enable = 0;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# name = "pciex108e,abcd" parent = "/pci@7c0/pci@0/pci@8" unit-address = "0,3"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# soft-lso-enable = 0;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# If the path_to_inst file is:
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# "/niu@80/network@0" 0 "nxge"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# "/niu@80/network@1" 1 "nxge"
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml# Enable software lso for port 0, and disable software LSO for port 1
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#name="SUNW,niusl" parent="/niu@80" unit-address="0" soft-lso-enable=1;
3d16f8e771544ca454864650bbe6fa545a2d7dd2ml#name="SUNW,niusl" parent="/niu@80" unit-address="1" soft-lso-enable=0;