xref: /freebsd/share/man/man4/msk.4 (revision 7aa383846770374466b1dcb2cefd71bde9acf463)
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 April 30, 2010
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 560SX Gigabit Ethernet
162.It
163D-Link 560T Gigabit Ethernet
164.It
165Marvell Yukon 88E8021CU Gigabit Ethernet
166.It
167Marvell Yukon 88E8021 SX/LX Gigabit Ethernet
168.It
169Marvell Yukon 88E8022CU Gigabit Ethernet
170.It
171Marvell Yukon 88E8022 SX/LX Gigabit Ethernet
172.It
173Marvell Yukon 88E8061CU Gigabit Ethernet
174.It
175Marvell Yukon 88E8061 SX/LX Gigabit Ethernet
176.It
177Marvell Yukon 88E8062CU Gigabit Ethernet
178.It
179Marvell Yukon 88E8062 SX/LX Gigabit Ethernet
180.It
181Marvell Yukon 88E8035 Fast Ethernet
182.It
183Marvell Yukon 88E8036 Fast Ethernet
184.It
185Marvell Yukon 88E8038 Fast Ethernet
186.It
187Marvell Yukon 88E8039 Fast Ethernet
188.It
189Marvell Yukon 88E8040 Fast Ethernet
190.It
191Marvell Yukon 88E8040T Fast Ethernet
192.It
193Marvell Yukon 88E8042 Fast Ethernet
194.It
195Marvell Yukon 88E8048 Fast Ethernet
196.It
197Marvell Yukon 88E8050 Gigabit Ethernet
198.It
199Marvell Yukon 88E8052 Gigabit Ethernet
200.It
201Marvell Yukon 88E8053 Gigabit Ethernet
202.It
203Marvell Yukon 88E8055 Gigabit Ethernet
204.It
205Marvell Yukon 88E8056 Gigabit Ethernet
206.It
207Marvell Yukon 88E8057 Gigabit Ethernet
208.It
209Marvell Yukon 88E8058 Gigabit Ethernet
210.It
211Marvell Yukon 88E8059 Gigabit Ethernet
212.It
213Marvell Yukon 88E8070 Gigabit Ethernet
214.It
215Marvell Yukon 88E8071 Gigabit Ethernet
216.It
217Marvell Yukon 88E8072 Gigabit Ethernet
218.It
219SysKonnect SK-9Sxx Gigabit Ethernet
220.It
221SysKonnect SK-9Exx Gigabit Ethernet
222.El
223.Sh LOADER TUNABLES
224Tunables can be set at the
225.Xr loader 8
226prompt before booting the kernel or stored in
227.Xr loader.conf 5 .
228.Bl -tag -width indent
229.It Va hw.msk.msi_disable
230This tunable disables MSI support on the Ethernet hardware.
231The default value is 0.
232.El
233.Sh SYSCTL VARIABLES
234The following variables are available as both
235.Xr sysctl 8
236variables and
237.Xr loader 8
238tunables:
239.Bl -tag -width indent
240.It Va dev.mskc.%d.int_holdoff
241Maximum number of time to delay interrupts.
242The valid range is 0 to 34359738 for 125MHz clock in units of 1us,
243the default is 100 (100us).
244The interface need to be brought down and up again before a change
245takes effect.
246.It Va dev.mskc.%d.process_limit
247Maximum amount of Rx events to be processed in the event loop before
248rescheduling a taskqueue.
249The accepted range is 30 to 256, the default value is 128 events.
250The interface does not need to be brought down and up again before
251a change takes effect.
252.El
253.Sh SEE ALSO
254.Xr altq 4 ,
255.Xr arp 4 ,
256.Xr miibus 4 ,
257.Xr netintro 4 ,
258.Xr ng_ether 4 ,
259.Xr vlan 4 ,
260.Xr ifconfig 8
261.Sh HISTORY
262The
263.Nm
264driver was written by
265.An Pyun YongHyeon
266.Aq yongari@FreeBSD.org
267and it is based on
268.Xr sk 4
269and Marvell's
270.Fx
271driver.
272It first appeared in
273.Fx 7.0
274and
275.Fx 6.3 .
276