xref: /dflybsd-src/share/man/man4/jme.4 (revision 4c3cb79ad5504188a54d8c4de2fca25bb24fecfc)
1a49d95d4SSepherosa Ziehau.\" Copyright (c) 2008 Pyun YongHyeon
2a49d95d4SSepherosa Ziehau.\" All rights reserved.
3a49d95d4SSepherosa Ziehau.\"
4a49d95d4SSepherosa Ziehau.\" Redistribution and use in source and binary forms, with or without
5a49d95d4SSepherosa Ziehau.\" modification, are permitted provided that the following conditions
6a49d95d4SSepherosa Ziehau.\" are met:
7a49d95d4SSepherosa Ziehau.\" 1. Redistributions of source code must retain the above copyright
8a49d95d4SSepherosa Ziehau.\"    notice, this list of conditions and the following disclaimer.
9a49d95d4SSepherosa Ziehau.\" 2. Redistributions in binary form must reproduce the above copyright
10a49d95d4SSepherosa Ziehau.\"    notice, this list of conditions and the following disclaimer in the
11a49d95d4SSepherosa Ziehau.\"    documentation and/or other materials provided with the distribution.
12a49d95d4SSepherosa Ziehau.\"
13a49d95d4SSepherosa Ziehau.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14a49d95d4SSepherosa Ziehau.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15a49d95d4SSepherosa Ziehau.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16a49d95d4SSepherosa Ziehau.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17a49d95d4SSepherosa Ziehau.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18a49d95d4SSepherosa Ziehau.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19a49d95d4SSepherosa Ziehau.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20a49d95d4SSepherosa Ziehau.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21a49d95d4SSepherosa Ziehau.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22a49d95d4SSepherosa Ziehau.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23a49d95d4SSepherosa Ziehau.\" SUCH DAMAGE.
24a49d95d4SSepherosa Ziehau.\"
25a49d95d4SSepherosa Ziehau.\" $FreeBSD: src/share/man/man4/jme.4,v 1.1 2008/05/27 01:59:17 yongari Exp $
26a49d95d4SSepherosa Ziehau.\"
27*4c3cb79aSSepherosa Ziehau.Dd May 29, 2017
28a49d95d4SSepherosa Ziehau.Dt JME 4
29a49d95d4SSepherosa Ziehau.Os
30a49d95d4SSepherosa Ziehau.Sh NAME
31a49d95d4SSepherosa Ziehau.Nm jme
32a49d95d4SSepherosa Ziehau.Nd JMicron Gigabit/Fast Ethernet driver
33a49d95d4SSepherosa Ziehau.Sh SYNOPSIS
34a49d95d4SSepherosa ZiehauTo compile this driver into the kernel,
35a49d95d4SSepherosa Ziehauplace the following lines in your
36a49d95d4SSepherosa Ziehaukernel configuration file:
37a49d95d4SSepherosa Ziehau.Bd -ragged -offset indent
38a49d95d4SSepherosa Ziehau.Cd "device miibus"
39a49d95d4SSepherosa Ziehau.Cd "device jme"
40a49d95d4SSepherosa Ziehau.Ed
41a49d95d4SSepherosa Ziehau.Pp
42a49d95d4SSepherosa ZiehauAlternatively, to load the driver as a
43a49d95d4SSepherosa Ziehaumodule at boot time, place the following line in
44a49d95d4SSepherosa Ziehau.Xr loader.conf 5 :
45a49d95d4SSepherosa Ziehau.Bd -literal -offset indent
46a49d95d4SSepherosa Ziehauif_jme_load="YES"
47a49d95d4SSepherosa Ziehau.Ed
48a49d95d4SSepherosa Ziehau.Sh DESCRIPTION
49a49d95d4SSepherosa ZiehauThe
50a49d95d4SSepherosa Ziehau.Nm
51a49d95d4SSepherosa Ziehaudevice driver provides support for JMicron JMC250 PCI Express
52a49d95d4SSepherosa ZiehauGigabit Ethernet controllers and JMicron JMC260 PCI Express Fast
53a49d95d4SSepherosa ZiehauEthernet controllers.
54a49d95d4SSepherosa Ziehau.Pp
55a49d95d4SSepherosa ZiehauAll LOMs supported by the
56a49d95d4SSepherosa Ziehau.Nm
57a49d95d4SSepherosa Ziehaudriver have TCP/UDP/IP checksum offload for both transmit and receive,
584bf35bf0SSepherosa ZiehauTCP segmentation offload (TSO),
594bf35bf0SSepherosa Ziehaureceive side scaling (RSS),
604bf35bf0SSepherosa Ziehaumultiple vector MSI-X,
61a49d95d4SSepherosa Ziehauhardware VLAN tag stripping/insertion features,
62a49d95d4SSepherosa Ziehau.\" Wake On Lan (WOL)
63a49d95d4SSepherosa Ziehauan interrupt coalescing/moderation mechanism as well as
64a49d95d4SSepherosa Ziehaua 64-bit multicast hash filter.
6524b45c76SSascha WildnerUp to 4 reception queues can be enabled.
6624b45c76SSascha WildnerBy default, the
674bf35bf0SSepherosa Ziehau.Nm
6824b45c76SSascha Wildnerdriver will try enabling as many reception queues as allowed by
694bf35bf0SSepherosa Ziehauthe number of CPUs in the system.
70a49d95d4SSepherosa Ziehau.Pp
71a49d95d4SSepherosa ZiehauThe JMC250 also supports Jumbo Frames (up to 9216 bytes), which can be
72a49d95d4SSepherosa Ziehauconfigured via the interface MTU setting.
73a49d95d4SSepherosa ZiehauSelecting an MTU larger than 1500 bytes with the
74a49d95d4SSepherosa Ziehau.Xr ifconfig 8
75a49d95d4SSepherosa Ziehauutility configures the adapter to receive and transmit Jumbo Frames.
76a49d95d4SSepherosa Ziehau.Pp
77a49d95d4SSepherosa ZiehauThe
78a49d95d4SSepherosa Ziehau.Nm
79a49d95d4SSepherosa Ziehaudriver supports the following media types:
80a49d95d4SSepherosa Ziehau.Bl -tag -width ".Cm 10baseT/UTP"
81a49d95d4SSepherosa Ziehau.It Cm autoselect
82a49d95d4SSepherosa ZiehauEnable autoselection of the media type and options.
83a49d95d4SSepherosa ZiehauThe user can manually override
84a49d95d4SSepherosa Ziehauthe autoselected mode by adding media options to
85a49d95d4SSepherosa Ziehau.Xr rc.conf 5 .
86a49d95d4SSepherosa Ziehau.It Cm 10baseT/UTP
87a49d95d4SSepherosa ZiehauSet 10Mbps operation.
88a49d95d4SSepherosa Ziehau.It Cm 100baseTX
89a49d95d4SSepherosa ZiehauSet 100Mbps (Fast Ethernet) operation.
90a49d95d4SSepherosa Ziehau.It Cm 1000baseT
91a49d95d4SSepherosa ZiehauSet 1000baseT operation over twisted pair.
92a49d95d4SSepherosa Ziehau.El
93a49d95d4SSepherosa Ziehau.Pp
94a49d95d4SSepherosa ZiehauThe
95a49d95d4SSepherosa Ziehau.Nm
96a49d95d4SSepherosa Ziehaudriver supports the following media options:
97a49d95d4SSepherosa Ziehau.Bl -tag -width ".Cm full-duplex"
98a49d95d4SSepherosa Ziehau.It Cm full-duplex
99a49d95d4SSepherosa ZiehauForce full duplex operation.
100a49d95d4SSepherosa Ziehau.It Cm half-duplex
101a49d95d4SSepherosa ZiehauForce half duplex operation.
102a49d95d4SSepherosa Ziehau.El
103a49d95d4SSepherosa Ziehau.Pp
104a49d95d4SSepherosa ZiehauFor more information on configuring this device, see
105a49d95d4SSepherosa Ziehau.Xr ifconfig 8 .
1069de40864SSepherosa ZiehauThe
1079de40864SSepherosa Ziehau.Nm
1089de40864SSepherosa Ziehaudriver supports
1099de40864SSepherosa Ziehau.Xr polling 4 .
1105cee4cf5SSascha Wildner.Ss Loader Tunables
1114bf35bf0SSepherosa ZiehauBy default, the driver will use MSI-X if it is supported.
11224b45c76SSascha WildnerThis behavior can be turned off by setting the following tunable:
1134bf35bf0SSepherosa Ziehau.Em ( X
1144bf35bf0SSepherosa Ziehauis the device unit number):
1154bf35bf0SSepherosa Ziehau.Bd -literal -offset indent
1164bf35bf0SSepherosa Ziehauhw.jme.msix.enable=0
1174bf35bf0SSepherosa Ziehauhw.jmeX.msix.enable=0
1184bf35bf0SSepherosa Ziehau.Ed
1194bf35bf0SSepherosa Ziehau.Pp
1204bf35bf0SSepherosa ZiehauIf MSI-X is disabled,
1214bf35bf0SSepherosa Ziehauthe driver will use MSI if it is supported.
12224b45c76SSascha WildnerThis behavior can be turned off by setting the following tunable:
1235cee4cf5SSascha Wildner.Bd -literal -offset indent
1245cee4cf5SSascha Wildnerhw.jme.msi.enable=0
1254bf35bf0SSepherosa Ziehauhw.jmeX.msi.enable=0
1265cee4cf5SSascha Wildner.Ed
1274bf35bf0SSepherosa Ziehau.Pp
1284bf35bf0SSepherosa ZiehauIf MSI is used,
12924b45c76SSascha WildnerMSI's target CPU can be changed by the following tunable:
1304bf35bf0SSepherosa Ziehau.Bd -literal -offset indent
1314bf35bf0SSepherosa Ziehauhw.jmeX.msi.cpu
1324bf35bf0SSepherosa Ziehau.Ed
1334bf35bf0SSepherosa Ziehau.Pp
13424b45c76SSascha WildnerThe maximum allowed value for this tunable is the number of CPUs minus one.
1354bf35bf0SSepherosa Ziehau.Pp
13624b45c76SSascha WildnerNumber of reception queues that can be enabled:
1374bf35bf0SSepherosa Ziehau.Bd -literal -offset indent
1384bf35bf0SSepherosa Ziehauhw.jme.rx_ring_count
1394bf35bf0SSepherosa Ziehauhw.jmeX.rx_ring_count
1404bf35bf0SSepherosa Ziehau.Ed
1414bf35bf0SSepherosa Ziehau.Pp
142*4c3cb79aSSepherosa ZiehauMaximum allowed value for these tunables is 4.
14324b45c76SSascha WildnerSetting these tunables to 0 allows driver to enable as many reception queues
1444bf35bf0SSepherosa Ziehauas allowed by the number of CPUs.
1454bf35bf0SSepherosa Ziehau.Pp
14624b45c76SSascha WildnerNumber of reception descriptors that can be used:
1474bf35bf0SSepherosa Ziehau.Bd -literal -offset indent
1484bf35bf0SSepherosa Ziehauhw.jme.rx_desc_count
1494bf35bf0SSepherosa Ziehauhw.jmeX.rx_desc_count
1504bf35bf0SSepherosa Ziehau.Ed
1514bf35bf0SSepherosa Ziehau.Pp
15224b45c76SSascha WildnerMaximum allowed value for these tunables is 1024.
1534bf35bf0SSepherosa Ziehau.Pp
15424b45c76SSascha WildnerNumber of transmission descriptors that can be used:
1554bf35bf0SSepherosa Ziehau.Bd -literal -offset indent
1564bf35bf0SSepherosa Ziehauhw.jme.tx_desc_count
1574bf35bf0SSepherosa Ziehauhw.jmeX.tx_desc_count
1584bf35bf0SSepherosa Ziehau.Ed
1594bf35bf0SSepherosa Ziehau.Pp
16024b45c76SSascha WildnerMaximum allowed value for these tunables is 1024.
16174554d4aSSepherosa Ziehau.Ss MIB Variables
16274554d4aSSepherosa ZiehauA number of per-interface variables are implemented in the
16326595b18SSascha Wildner.Va dev.jme. Ns Em X
16474554d4aSSepherosa Ziehaubranch of the
16574554d4aSSepherosa Ziehau.Xr sysctl 3
16674554d4aSSepherosa ZiehauMIB.
16774554d4aSSepherosa Ziehau.Bl -tag -width "rx_ring_count"
168a49d95d4SSepherosa Ziehau.It Va tx_coal_to
16974554d4aSSepherosa ZiehauMaximum amount of time to delay for TX completion interrupt in
170a49d95d4SSepherosa Ziehauunits of 1us.
1714bf35bf0SSepherosa ZiehauThe accepted range is 1 to 65535, the default is 250 (250us).
172a49d95d4SSepherosa Ziehau.It Va tx_coal_pkt
17374554d4aSSepherosa ZiehauMaximum number of packets to fire TX completion interrupt.
1744bf35bf0SSepherosa ZiehauThe accepted range is 0 to 255, the default is 128.
17574554d4aSSepherosa ZiehauPacket count based TX interrupt coalescing could be disabled
17674554d4aSSepherosa Ziehauby setting this variable to 0.
177a49d95d4SSepherosa Ziehau.It Va rx_coal_to
17874554d4aSSepherosa ZiehauMaximum amount of time to delay for RX completion interrupt in
179a49d95d4SSepherosa Ziehauunits of 1us.
1804bf35bf0SSepherosa ZiehauThe accepted range is 1 to 65535, the default is 150 (150us).
181a49d95d4SSepherosa Ziehau.It Va rx_coal_pkt
18274554d4aSSepherosa ZiehauMaximum number of packets to fire RX completion interrupt.
18374554d4aSSepherosa ZiehauThe accepted range is 0 to 255, the default is 64.
18474554d4aSSepherosa ZiehauPacket count based RX interrupt coalescing could be disabled
18574554d4aSSepherosa Ziehauby setting this variable to 0.
18674554d4aSSepherosa Ziehau.It Va rx_desc_count
18774554d4aSSepherosa ZiehauNumber of RX descriptors per-ring (read-only).
18850208d2cSSascha WildnerUse the tunable
18950208d2cSSascha Wildner.Va hw.jme.rx_desc_count
19050208d2cSSascha Wildnerto configure it.
19174554d4aSSepherosa Ziehau.It Va tx_desc_count
19274554d4aSSepherosa ZiehauNumber of TX descriptors (read-only).
19350208d2cSSascha WildnerUse the tunable
19450208d2cSSascha Wildner.Va hw.jme.tx_desc_count
19550208d2cSSascha Wildnerto configure it.
19674554d4aSSepherosa Ziehau.It Va rx_ring_count
19774554d4aSSepherosa ZiehauNumber of RX rings (read-only).
19850208d2cSSascha WildnerUse the tunable
19950208d2cSSascha Wildner.Va hw.jme.rx_ring_count
20050208d2cSSascha Wildnerto configure it.
2014bf35bf0SSepherosa Ziehau.It Va tx_wreg
20224b45c76SSascha WildnerThe number of transmission descriptors should be setup
2034bf35bf0SSepherosa Ziehaubefore the hardware register is written.
2044bf35bf0SSepherosa ZiehauSetting this value too high will have negative effect on
2054bf35bf0SSepherosa Ziehautransmission timeliness.
2064bf35bf0SSepherosa ZiehauSetting this value too low will hurt overall transmission
2074bf35bf0SSepherosa Ziehaudue to the frequent hardware register writing.
208a49d95d4SSepherosa Ziehau.El
209a49d95d4SSepherosa Ziehau.Sh SEE ALSO
210a49d95d4SSepherosa Ziehau.Xr altq 4 ,
211a49d95d4SSepherosa Ziehau.Xr arp 4 ,
212f7972ad0SSascha Wildner.Xr ifmedia 4 ,
213a49d95d4SSepherosa Ziehau.Xr miibus 4 ,
214a49d95d4SSepherosa Ziehau.Xr netintro 4 ,
215a49d95d4SSepherosa Ziehau.Xr ng_ether 4 ,
2169de40864SSepherosa Ziehau.Xr polling 4 ,
217a49d95d4SSepherosa Ziehau.Xr vlan 4 ,
218a49d95d4SSepherosa Ziehau.Xr ifconfig 8
219a49d95d4SSepherosa Ziehau.Sh HISTORY
220a49d95d4SSepherosa ZiehauThe
221a49d95d4SSepherosa Ziehau.Nm
222a49d95d4SSepherosa Ziehaudriver was written by
223b2a6f486SFranco Fichtner.An Pyun YongHyeon Aq Mt yongari@FreeBSD.org .
224a49d95d4SSepherosa ZiehauIt first appeared in
225a49d95d4SSepherosa Ziehau.Fx 7.1
226a49d95d4SSepherosa Ziehauand was imported into
227a49d95d4SSepherosa Ziehau.Dx 2.1 .
228b2a6f486SFranco Fichtner.An Sepherosa Ziehau
229b2a6f486SFranco Fichtneradded the receive side scaling and
2304bf35bf0SSepherosa Ziehaumultiple vector MSI-X support to
2314bf35bf0SSepherosa Ziehau.Dx .
232