1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
.\"
.\" Copyright (c) 2006 Sam Leffler, Errno Consulting
.\"
.\" All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\" notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\" notice, this list of conditions and the following disclaimer in the
.\" documentation and/or other materials provided with the distribution.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR
.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT,
.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
.\" $FreeBSD$
.\"
.Dd December 4, 2006
.Dt NPE 4
.Os
.Sh NAME
.Nm npe
.Nd "Intel XScale Network Processing Engine (NPE) Ethernet device driver"
.Sh SYNOPSIS
To compile this driver into the kernel,
place the following lines in your
kernel configuration file:
.Bd -ragged -offset indent
.Cd "device npe"
.Cd "device npe_fw"
.Cd "device firmware"
.Cd "device qmgr"
.Cd "device miibus"
.Ed
.Sh DESCRIPTION
The
.Nm
driver provides support for Ethernet adapters based on the Intel
XScale Network Processing Engine (NPE).
The NPE must be loaded with firmware that is typically distributed
with boards that have this part.
Otherwise the firmware may be obtained at no cost from the Intel web site.
.Pp
The
.Nm
driver supports the following media types:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It autoselect
Enable autoselection of the media type and options
.It 10baseT/UTP
Set 10Mbps operation
.It 100baseTX
Set 100Mbps (Fast Ethernet) operation
.El
.Pp
The
.Nm
driver supports the following media options:
.Pp
.Bl -tag -width xxxxxxxxxxxxxxxxxxxx
.It full-duplex
Set full duplex operation
.El
.Pp
The
.Nm
driver supports polled operation when the system is
configured with device polling support,
.Xr polling 4 .
Note that for multi-port configurations polling and interrupt-style
operation should not be combined as one of the hardware queues
is shared by all ports.
.Pp
For further information on configuring this device, see
.Xr ifconfig 8 .
.\".Pp
.\"The
.\".Nm
.\"driver supports reception and transmission of extended frames
.\"for
.\".Xr vlan 4 .
.\"This capability of
.\".Nm
.\"can be controlled by means of the
.\".Cm vlanmtu
.\"parameter
.\"to
.\".Xr ifconfig 8 .
.Sh HARDWARE
.Nm
adapters exist only on boards that have an XScale processor.
.Sh DIAGNOSTICS
.Bl -diag
.It "npe%d: unit %d not supported"
The unit is larger than the maximum number built into the driver.
This should not happen as
.Nm
devices are not really probed for; they are statically enumerated.
.It "npe%d: Cannot find my PHY."
The associated PHY didn't appear while probing the MII bus.
The relationship between PHY's and NPE's is statically defined
in the driver and may require alterations to the driver for new boards.
.It "npe%d: unable to allocate memory for %s ... buffers"
There is not enough memory available for allocation.
The driver pre-allocated memory during attach so this should not happen.
.It "npe%d: remember to fix rx q setup"
See BUGS below.
.It "npe%d: free mbuf at entry %u"
An mbuf was unexpectedly found on the device queue; the index of
the queue entry is printed.
.It "npe%d: too many fragments %u"
A frame was dropped on transmit because it was too fragmented and
the logic to de-fragment failed.
This should not happen.
.It "npe%d: device timeout"
The device has stopped responding to the network, or there is a problem with
the network connection (cable).
.El
.Pp
Other diagnostics exist and are not listed here;
they should be self-explanatory.
.Sh SEE ALSO
.Xr arp 4 ,
.Xr miibus 4 ,
.Xr netintro 4 ,
.Xr polling 4 ,
.Xr qmgr 4 ,
.\".Xr vlan 4 ,
.Xr ifconfig 8
.Sh HISTORY
The
.Nm
device driver first appeared in
.Fx 6.3 .
.SH CAVEATS
This driver has been tested only with dual-port boards using the IXP425
such as the Gateworks Avila 2348.
Some changes to the driver may be required for other configurations.
.SH BUGS
The hardware queues are not properly flushed when the interface
is marked down.
.Pp
The assignment of receive traffic classes to hardware queues
is presently incomplete.
Only the first 4 classes are assigned while there are 8 total.
The driver will print "remember to fix rx q setup" on startup as a
reminder.
For the moment it is not a problem as all traffic arrives classified
with class 0.
|