xref: /freebsd/share/man/man4/msk.4 (revision 35a04710d7286aa9538917fd7f8e417dbee95b82)
1.\" Copyright (c) 2006 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 November 20, 2007
28.Dt MSK 4
29.Os
30.Sh NAME
31.Nm msk
32.Nd Marvell/SysKonnect Yukon II Gigabit Ethernet adapter 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 msk"
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_msk_load="YES"
47.Ed
48.Sh DESCRIPTION
49The
50.Nm
51device driver provides support for various NICs based on the
52Marvell/SysKonnect Yukon II Gigabit Ethernet controller chip.
53.Pp
54All NICs supported by the
55.Nm
56driver have TCP/UDP/IP checksum offload for transmit, TCP
57segmentation offload (TSO), hardware VLAN tag stripping/insertion
58features and an interrupt moderation mechanism as well as a 64-bit
59multicast hash filter.
60The Yukon II supports TBI (ten bit interface) and GMII
61transceivers, which means it can be used with either copper or
621000baseX fiber applications.
63.Pp
64The Yukon II also supports Jumbo Frames (up to 9022 bytes), which can be
65configured via the interface MTU setting.
66Selecting an MTU larger than 1500 bytes with the
67.Xr ifconfig 8
68utility configures the adapter to receive and transmit Jumbo Frames.
69.Pp
70The
71.Nm
72driver supports the following media types:
73.Bl -tag -width ".Cm 10baseT/UTP"
74.It Cm autoselect
75Enable autoselection of the media type and options.
76The user can manually override
77the autoselected mode by adding media options to
78.Xr rc.conf 5 .
79.It Cm 10baseT/UTP
80Set 10Mbps operation.
81The
82.Xr ifconfig 8
83.Cm mediaopt
84option can also be used to select either
85.Cm full-duplex
86or
87.Cm half-duplex
88modes.
89.It Cm 100baseTX
90Set 100Mbps (Fast Ethernet) operation.
91The
92.Xr ifconfig 8
93.Cm mediaopt
94option can also be used to select either
95.Cm full-duplex
96or
97.Cm half-duplex
98modes.
99.It Cm 1000baseTX
100Set 1000baseTX operation over twisted pair.
101The
102.Xr ifconfig 8
103.Cm mediaopt
104option can also be used to select either
105.Cm full-duplex
106or
107.Cm half-duplex
108modes.
109.It Cm 1000baseSX
110Set 1000Mbps (Gigabit Ethernet) operation.
111Both
112.Cm full-duplex
113and
114.Cm half-duplex
115modes are supported.
116.El
117.Pp
118The
119.Nm
120driver supports the following media options:
121.Bl -tag -width ".Cm full-duplex"
122.It Cm full-duplex
123Force full duplex operation.
124.It Cm half-duplex
125Force half duplex operation.
126.El
127.Pp
128The
129.Nm
130driver also supports one special link option for 1000baseTX cards:
131.Bl -tag -width ".Cm link0"
132.It Cm link0
133With 1000baseTX cards, establishing a link between two ports requires
134that one port is configured as master and the other one as slave.
135With autonegotiation,
136the master/slave settings will be chosen automatically.
137However when manually selecting the link state, it is necessary to
138force one side of the link to be a master and the other a slave.
139The
140.Nm
141driver configures the ports as slaves by default.
142Setting the
143.Cm link0
144flag with
145.Xr ifconfig 8
146will set a port as a master instead.
147.El
148.Pp
149For more information on configuring this device, see
150.Xr ifconfig 8 .
151.Sh HARDWARE
152The
153.Nm
154driver provides support for various NICs based on the Marvell/SysKonnect
155Yukon II based Gigabit Ethernet controller chips, including:
156.Pp
157.Bl -bullet -compact
158.It
159D-Link 550SX Gigabit Ethernet
160.It
161D-Link 560T Gigabit Ethernet
162.It
163Marvell Yukon 88E8021CU Gigabit Ethernet
164.It
165Marvell Yukon 88E8021 SX/LX Gigabit Ethernet
166.It
167Marvell Yukon 88E8022CU Gigabit Ethernet
168.It
169Marvell Yukon 88E8022 SX/LX Gigabit Ethernet
170.It
171Marvell Yukon 88E8061CU Gigabit Ethernet
172.It
173Marvell Yukon 88E8061 SX/LX Gigabit Ethernet
174.It
175Marvell Yukon 88E8062CU Gigabit Ethernet
176.It
177Marvell Yukon 88E8062 SX/LX Gigabit Ethernet
178.It
179Marvell Yukon 88E8035 Gigabit Ethernet
180.It
181Marvell Yukon 88E8036 Gigabit Ethernet
182.It
183Marvell Yukon 88E8038 Gigabit Ethernet
184.It
185Marvell Yukon 88E8050 Gigabit Ethernet
186.It
187Marvell Yukon 88E8052 Gigabit Ethernet
188.It
189Marvell Yukon 88E8053 Gigabit Ethernet
190.It
191Marvell Yukon 88E8055 Gigabit Ethernet
192.It
193Marvell Yukon 88E8056 Gigabit Ethernet
194.It
195Marvell Yukon 88E8058 Gigabit Ethernet
196.It
197SysKonnect SK-9Sxx Gigabit Ethernet
198.It
199SysKonnect SK-9Exx Gigabit Ethernet
200.El
201.Sh LOADER TUNABLES
202Tunables can be set at the
203.Xr loader 8
204prompt before booting the kernel or stored in
205.Xr loader.conf 5 .
206.Bl -tag -width indent
207.It Va hw.msk.msi_disable
208This tunable disables MSI support on the Ethernet hardware.
209The default value is 0.
210.El
211.Sh SYSCTL VARIABLES
212The following variables are available as both
213.Xr sysctl 8
214variables and
215.Xr loader 8
216tunables:
217.Bl -tag -width indent
218.It Va dev.mskc.%d.process_limit
219Maximum amount of Rx events to be processed in the event loop before
220rescheduling a taskqueue.
221The accepted range is 30 to 256, the default value is 128 events.
222The interface does not need to be brought down and up again before
223a change takes effect.
224.El
225.Sh SEE ALSO
226.Xr altq 4 ,
227.Xr arp 4 ,
228.Xr miibus 4 ,
229.Xr netintro 4 ,
230.Xr ng_ether 4 ,
231.Xr vlan 4 ,
232.Xr ifconfig 8
233.Sh HISTORY
234The
235.Nm
236driver was written by
237.An Pyun YongHyeon
238.Aq yongari@FreeBSD.org
239and it is based on
240.Xr sk 4
241and Marvell's
242.Fx
243driver.
244It first appeared in
245.Fx 7.0
246and
247.Fx 6.3 .
248