xref: /freebsd/share/man/man4/vge.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1b7e09688SBill Paul.\" Copyright (c) 2004
2b7e09688SBill Paul.\"	Bill Paul <wpaul@windriver.com>. All rights reserved.
33071824fSBill Paul.\"
43071824fSBill Paul.\" Redistribution and use in source and binary forms, with or without
53071824fSBill Paul.\" modification, are permitted provided that the following conditions
63071824fSBill Paul.\" are met:
73071824fSBill Paul.\" 1. Redistributions of source code must retain the above copyright
83071824fSBill Paul.\"    notice, this list of conditions and the following disclaimer.
93071824fSBill Paul.\" 2. Redistributions in binary form must reproduce the above copyright
103071824fSBill Paul.\"    notice, this list of conditions and the following disclaimer in the
113071824fSBill Paul.\"    documentation and/or other materials provided with the distribution.
123071824fSBill Paul.\" 3. All advertising materials mentioning features or use of this software
133071824fSBill Paul.\"    must display the following acknowledgement:
143071824fSBill Paul.\"	This product includes software developed by Bill Paul.
153071824fSBill Paul.\" 4. Neither the name of the author nor the names of any co-contributors
163071824fSBill Paul.\"    may be used to endorse or promote products derived from this software
173071824fSBill Paul.\"   without specific prior written permission.
183071824fSBill Paul.\"
193071824fSBill Paul.\" THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
203071824fSBill Paul.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
213071824fSBill Paul.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
223071824fSBill Paul.\" ARE DISCLAIMED.  IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
233071824fSBill Paul.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
243071824fSBill Paul.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
253071824fSBill Paul.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
263071824fSBill Paul.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
273071824fSBill Paul.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
283071824fSBill Paul.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
293071824fSBill Paul.\" THE POSSIBILITY OF SUCH DAMAGE.
303071824fSBill Paul.\"
31e6b71fcbSBenedict Reuschling.Dd May 29, 2011
323071824fSBill Paul.Dt VGE 4
333071824fSBill Paul.Os
343071824fSBill Paul.Sh NAME
353071824fSBill Paul.Nm vge
36bc5fa959SPyun YongHyeon.Nd "VIA Networking Technologies Velocity Gigabit Ethernet adapter driver"
373071824fSBill Paul.Sh SYNOPSIS
3816d78bb8STom RhodesTo compile this driver into the kernel,
3916d78bb8STom Rhodesplace the following lines in your
4090296834STom Rhodeskernel configuration file:
4186e3186eSTom Rhodes.Bd -ragged -offset indent
423071824fSBill Paul.Cd "device miibus"
433071824fSBill Paul.Cd "device vge"
4486e3186eSTom Rhodes.Ed
4586e3186eSTom Rhodes.Pp
4616d78bb8STom RhodesAlternatively, to load the driver as a
4716d78bb8STom Rhodesmodule at boot time, place the following line in
4886e3186eSTom Rhodes.Xr loader.conf 5 :
4986e3186eSTom Rhodes.Bd -literal -offset indent
5086e3186eSTom Rhodesif_vge_load="YES"
5186e3186eSTom Rhodes.Ed
523071824fSBill Paul.Sh DESCRIPTION
533071824fSBill PaulThe
543071824fSBill Paul.Nm
555983c3e7SChristian Bruefferdriver provides support for various NICs and embedded Ethernet interfaces
56bc5fa959SPyun YongHyeonbased on the VIA Technologies VT6120, VT6122, VT6130 and VT6132 Velocity
57bc5fa959SPyun YongHyeonFamily Gigabit Ethernet controller chips.
583071824fSBill Paul.Pp
5979649302SGavin AtkinsonThe VT6120/VT6122 is a 33/66MHz 64-bit PCI device which combines a tri-speed
60bc5fa959SPyun YongHyeonMAC with an integrated 10/100/1000 copper PHY.
6181a11242SRuslan Ermilov(Some older cards use an external PHY.)
62bc5fa959SPyun YongHyeonThe VT6130/VT6132 is the PCI express version of Velocity family.
635983c3e7SChristian BruefferThe MAC supports TCP/IP hardware
643071824fSBill Paulchecksums (IPv4 only), TCP large send, VLAN tag insertion and stripping,
653071824fSBill Paulas well as VLAN filtering, a 64-entry CAM filter and a 64-entry VLAN filter,
663071824fSBill Paul64-bit multicast hash filter, 4 separate transmit DMA queues, flow control
67e6b71fcbSBenedict Reuschlingand jumbo frames (not on VT6130/VT6132) up to 16K in size.
68bc5fa959SPyun YongHyeonThe Velocity family controllers have a 16K receive FIFO and 48K transmit FIFO.
693071824fSBill Paul.Pp
703071824fSBill PaulThe
713071824fSBill Paul.Nm
72bc5fa959SPyun YongHyeondriver takes advantage of the controller's checksum offload and VLAN
73e6b71fcbSBenedict Reuschlingtagging features, as well as the jumbo frame (except VT6130/VT6132) and CAM
74e6b71fcbSBenedict Reuschlingfilter support.
753071824fSBill PaulThe CAM filter is used for multicast address filtering to provide
765983c3e7SChristian Brueffer64 perfect multicast address filter support.
775983c3e7SChristian BruefferIf it is necessary for the interface to join more than 64 multicast
785983c3e7SChristian Brueffergroups, the driver will switch over to using the hash filter.
793071824fSBill Paul.Pp
803071824fSBill PaulThe jumbo frame support can be enabled by setting the interface MTU
813071824fSBill Paulto any value larger than the default of 1500 bytes, up to a maximum
825983c3e7SChristian Bruefferof 9000 bytes.
83e6b71fcbSBenedict ReuschlingJumbo frames are disabled on the VT6130/VT6132 controllers because the TX
84e6b71fcbSBenedict ReuschlingMAC will hang when trying to send a frame that is larger than 4K.
855983c3e7SChristian BruefferThe receive and transmit checksum offload support
863071824fSBill Paulcan be toggled on and off using the
873071824fSBill Paul.Xr ifconfig 8
883071824fSBill Paulutility.
893071824fSBill Paul.Pp
903071824fSBill PaulThe
913071824fSBill Paul.Nm
923071824fSBill Pauldriver supports the following media types:
9381a11242SRuslan Ermilov.Bl -tag -width ".Cm 10baseT/UTP"
943071824fSBill Paul.It Cm autoselect
953071824fSBill PaulEnable autoselection of the media type and options.
963071824fSBill PaulThe user can manually override
973071824fSBill Paulthe autoselected mode by adding media options to
983071824fSBill Paul.Xr rc.conf 5 .
993071824fSBill Paul.It Cm 10baseT/UTP
1003071824fSBill PaulSet 10Mbps operation.
1013071824fSBill PaulThe
1023071824fSBill Paul.Xr ifconfig 8
10381a11242SRuslan Ermilov.Cm mediaopt
1043071824fSBill Pauloption can also be used to select either
1053071824fSBill Paul.Cm full-duplex
1063071824fSBill Paulor
1073071824fSBill Paul.Cm half-duplex
1083071824fSBill Paulmodes.
1093071824fSBill Paul.It Cm 100baseTX
1103071824fSBill PaulSet 100Mbps (Fast Ethernet) operation.
1113071824fSBill PaulThe
1123071824fSBill Paul.Xr ifconfig 8
11381a11242SRuslan Ermilov.Cm mediaopt
1143071824fSBill Pauloption can also be used to select either
1153071824fSBill Paul.Cm full-duplex
1163071824fSBill Paulor
1173071824fSBill Paul.Cm half-duplex
1183071824fSBill Paulmodes.
1193071824fSBill Paul.It Cm 1000baseTX
1203071824fSBill PaulSet 1000baseTX operation over twisted pair.
12181a11242SRuslan ErmilovThe
12281a11242SRuslan Ermilov.Xr ifconfig 8
12381a11242SRuslan Ermilov.Cm mediaopt
12481a11242SRuslan Ermilovoption can also be used to select either
1253071824fSBill Paul.Cm full-duplex
12681a11242SRuslan Ermilovor
1273071824fSBill Paul.Cm half-duplex
12881a11242SRuslan Ermilovmodes.
1293071824fSBill Paul.El
1303071824fSBill Paul.Pp
1313071824fSBill PaulThe
1323071824fSBill Paul.Nm
1333071824fSBill Pauldriver supports the following media options:
13481a11242SRuslan Ermilov.Bl -tag -width ".Cm full-duplex"
1353071824fSBill Paul.It Cm full-duplex
1363071824fSBill PaulForce full duplex operation.
1373071824fSBill Paul.It Cm half-duplex
1383071824fSBill PaulForce half duplex operation.
1393071824fSBill Paul.El
1403071824fSBill Paul.Pp
1413071824fSBill PaulFor more information on configuring this device, see
1423071824fSBill Paul.Xr ifconfig 8 .
1433071824fSBill Paul.Sh HARDWARE
1443071824fSBill PaulThe
1453071824fSBill Paul.Nm
146bc5fa959SPyun YongHyeondriver supports VIA Networking VT6120, VT6122, VT6130 and VT6132 based
1473071824fSBill PaulGigabit Ethernet adapters including:
1483071824fSBill Paul.Pp
1493071824fSBill Paul.Bl -bullet -compact
1503071824fSBill Paul.It
1515983c3e7SChristian BruefferVIA Networking LAN-on-motherboard Gigabit Ethernet
152a7d5415eSBill Paul.It
1533c44fd1bSBill PaulZyXEL GN650-T 64-bit PCI Gigabit Ethernet NIC (ZX1701)
154a7d5415eSBill Paul.It
1553c44fd1bSBill PaulZyXEL GN670-T 32-bit PCI Gigabit Ethernet NIC (ZX1702)
1563071824fSBill Paul.El
1575f8249eeSPyun YongHyeon.Sh LOADER TUNABLES
1585f8249eeSPyun YongHyeonTunables can be set at the
1595f8249eeSPyun YongHyeon.Xr loader 8
1605f8249eeSPyun YongHyeonprompt before booting the kernel or stored in
1615f8249eeSPyun YongHyeon.Xr loader.conf 5 .
1625f8249eeSPyun YongHyeon.Bl -tag -width "xxxxxx"
1635f8249eeSPyun YongHyeon.It Va hw.vge.msi_disable
1645f8249eeSPyun YongHyeonThis tunable disables MSI support on the Ethernet hardware.
1655f8249eeSPyun YongHyeonThe default value is 0.
1665f8249eeSPyun YongHyeon.El
1675f8249eeSPyun YongHyeon.Sh SYSCTL VARIABLES
1685f8249eeSPyun YongHyeonThe following variables are available as both
1695f8249eeSPyun YongHyeon.Xr sysctl 8
1705f8249eeSPyun YongHyeonvariables and
1715f8249eeSPyun YongHyeon.Xr loader 8
1725f8249eeSPyun YongHyeontunables:
1735f8249eeSPyun YongHyeon.Bl -tag -width "xxxxxx"
1745f8249eeSPyun YongHyeon.It Va dev.vge.%d.int_holdoff
1755f8249eeSPyun YongHyeonMaximum number of time to delay interrupts.
1765f8249eeSPyun YongHyeonThe valid range is 0 to 5100 in units of 1us, the default is
1775f8249eeSPyun YongHyeon150 (150us).
1780dded339SGlen BarberThe resolution of timer is about 20us so finer tuning than
1795f8249eeSPyun YongHyeon20us wouldn't be available.
1805f8249eeSPyun YongHyeonThe interface should be brought down and up again before a change
1815f8249eeSPyun YongHyeontakes effect.
1825f8249eeSPyun YongHyeon.It Va dev.vge.%d.rx_coal_pkt
1835f8249eeSPyun YongHyeonMaximum number of packets to fire Rx completion interrupt.
1845f8249eeSPyun YongHyeonThe valid range is 1 to 255, the default is 64.
1855f8249eeSPyun YongHyeon.It Va dev.vge.%d.tx_coal_pkt
1865f8249eeSPyun YongHyeonMaximum number of packets to fire Tx completion interrupt.
1875f8249eeSPyun YongHyeonThe valid range is 1 to 255, the default is 128.
1885f8249eeSPyun YongHyeon.El
1893071824fSBill Paul.Sh DIAGNOSTICS
1903071824fSBill Paul.Bl -diag
191a7d5415eSBill Paul.It "vge%d: couldn't map memory"
1923071824fSBill PaulA fatal initialization error has occurred.
193a7d5415eSBill Paul.It "vge%d: couldn't map ports"
1943071824fSBill PaulA fatal initialization error has occurred.
195a7d5415eSBill Paul.It "vge%d: couldn't map interrupt"
1963071824fSBill PaulA fatal initialization error has occurred.
197a7d5415eSBill Paul.It "vge%d: failed to enable memory mapping!"
1983071824fSBill PaulThe driver failed to initialize PCI shared memory mapping.
1993071824fSBill PaulThis might
2003071824fSBill Paulhappen if the card is not in a bus-master slot.
201a7d5415eSBill Paul.It "vge%d: watchdog timeout"
2023071824fSBill PaulThe device has stopped responding to the network, or there is a problem with
2033071824fSBill Paulthe network connection (cable).
2043071824fSBill Paul.El
2053071824fSBill Paul.Sh SEE ALSO
20691dba98dSChristian Brueffer.Xr altq 4 ,
2073071824fSBill Paul.Xr arp 4 ,
2083071824fSBill Paul.Xr miibus 4 ,
2093071824fSBill Paul.Xr netintro 4 ,
2103071824fSBill Paul.Xr ng_ether 4 ,
211a6c410e7SChristian Brueffer.Xr polling 4 ,
2123071824fSBill Paul.Xr vlan 4 ,
2133071824fSBill Paul.Xr ifconfig 8
2143071824fSBill Paul.Sh HISTORY
2153071824fSBill PaulThe
2163071824fSBill Paul.Nm
2173071824fSBill Pauldevice driver first appeared in
2183071824fSBill Paul.Fx 5.3 .
2193071824fSBill Paul.Sh AUTHORS
2203071824fSBill PaulThe
2213071824fSBill Paul.Nm
2223071824fSBill Pauldriver was written by
223*6c899950SBaptiste Daroussin.An Bill Paul Aq Mt wpaul@windriver.com .
224