xref: /freebsd/share/man/man4/vte.4 (revision bc96366c864c07ef352edb92017357917c75b36c)
1.\" Copyright (c) 2010 Pyun YongHyeon
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd December 30, 2010
28.Dt VTE 4
29.Os
30.Sh NAME
31.Nm vte
32.Nd Vortex86 RDC R6040 Fast Ethernet driver
33.Sh SYNOPSIS
34To compile this driver into the kernel,
35place the following lines in your
36kernel configuration file:
37.Bd -ragged -offset indent
38.Cd "device miibus"
39.Cd "device vte"
40.Ed
41.Pp
42Alternatively, to load the driver as a
43module at boot time, place the following line in
44.Xr loader.conf 5 :
45.Bd -literal -offset indent
46if_vte_load="YES"
47.Ed
48.Sh DESCRIPTION
49The
50.Nm
51device driver provides support for RDC R6040 Fast Ethernet controller
52which is commonly found on Vortex86 System On a Chip (SoC).
53.Pp
54The RDC R6040 has integrated 10/100 PHY for 10/100Mbps support in full
55or half-duplex.
56The controller supports interrupt moderation mechanism, a 64-bit multicast
57hash filter, VLAN over-size frame and four station addresses.
58The
59.Nm
60device driver uses three station addresses out of four as perfect
61multicast filter.
62.Pp
63The
64.Nm
65driver supports the following media types:
66.Bl -tag -width ".Cm 10baseT/UTP"
67.It Cm autoselect
68Enable autoselection of the media type and options.
69The user can manually override
70the autoselected mode by adding media options to
71.Xr rc.conf 5 .
72.It Cm 10baseT/UTP
73Set 10Mbps operation.
74.It Cm 100baseTX
75Set 100Mbps (Fast Ethernet) operation.
76.El
77.Pp
78The
79.Nm
80driver supports the following media options:
81.Bl -tag -width ".Cm full-duplex"
82.It Cm full-duplex
83Force full duplex operation.
84.It Cm half-duplex
85Force half duplex operation.
86.El
87.Pp
88For more information on configuring this device, see
89.Xr ifconfig 8 .
90.Sh HARDWARE
91The
92.Nm
93device driver provides support for the following Ethernet controllers:
94.Pp
95.Bl -bullet -compact
96.It
97DM&P Vortex86 RDC R6040 Fast Ethernet controller
98.El
99.Sh LOADER TUNABLES
100Tunables can be set at the
101.Xr loader 8
102prompt before booting the kernel or stored in
103.Xr loader.conf 5 .
104.Bl -tag -width "xxxxxx"
105.It Va hw.vte.tx_deep_copy
106The RDC R6040 controller has no auto-padding support for short
107frames and the controller's DMA engine does not have capability to
108handle multiple buffers for a TX frame such that driver has to
109create a single contiguous TX buffer.
110This hardware limitation leads to poor TX performance since most of
111CPU cycles are wasted on both de-fragmenting mbuf chains and padding.
112This tunable enables deep copy operation for TX frames such that
113driver will spend less CPU cycles in de-fragmentation with the
114cost of extra TX buffer memory.
115The default value is 1 to use deep copy.
116.El
117.Sh SYSCTL VARIABLES
118The following variables are available as both
119.Xr sysctl 8
120variables and
121.Xr loader 8
122tunables:
123.Bl -tag -width "xxxxxx"
124.It Va dev.vte.%d.rx_mod
125Maximum number of packets to fire RX completion interrupt.
126The accepted range is 0 to 15, the default is 15.
127.It Va dev.vte.%d.tx_mod
128Maximum number of packets to fire TX completion interrupt.
129The accepted range is 0 to 15, the default is 15.
130.It Va dev.vte.%d.stats
131Show hardware MAC statistics maintained in driver.
132.El
133.Sh SEE ALSO
134.Xr altq 4 ,
135.Xr arp 4 ,
136.Xr miibus 4 ,
137.Xr netintro 4 ,
138.Xr ng_ether 4 ,
139.Xr vlan 4 ,
140.Xr ifconfig 8
141.Rs
142.%T "DM&P Electronics Inc. Vortex86"
143.%U http://www.dmp.com.tw
144.Re
145.Sh HISTORY
146The
147.Nm
148driver was written by
149.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org .
150It first appeared in
151.Fx 8.3 .
152