1SK98LIN(4) Kernel Interfaces Manual SK98LIN(4)
2
3
4
6 sk98lin - Marvell/SysKonnect Gigabit Ethernet driver v6.21
7
9 insmod sk98lin.o [Speed_A=i,j,...] [Speed_B=i,j,...]
10 [AutoNeg_A=i,j,...] [AutoNeg_B=i,j,...] [DupCap_A=i,j,...] [Dup‐
11 Cap_B=i,j,...] [FlowCtrl_A=i,j,...] [FlowCtrl_B=i,j,...]
12 [Role_A=i,j,...] [Role_B=i,j,...] [ConType=i,j,...] [Modera‐
13 tion=i,j,...] [IntsPerSec=i,j,...] [PrefPort=i,j,...] [Rlmt‐
14 Mode=i,j,...]
15
17 sk98lin is the Gigabit Ethernet driver for Marvell and SysKonnect net‐
18 work adapter cards. It supports SysKonnect SK-98xx/SK-95xx compliant
19 Gigabit Ethernet Adapter and any Yukon compliant chipset.
20
21 When loading the driver using insmod, parameters for the network
22 adapter cards might be stated as a sequence of comma separated com‐
23 mands. If for instance two network adapters are installed and AutoNe‐
24 gotiation on Port A of the first adapter should be ON, but on the Port
25 A of the second adapter switched OFF, one must enter:
26
27 insmod sk98lin.o AutoNeg_A=On,Off
28
29 After sk98lin is bound to one or more adapter cards and the /proc
30 filesystem is mounted on your system, a dedicated statistics file will
31 be created in folder /proc/net/sk98lin for all ports of the installed
32 network adapter cards. Those files are named eth[x] whereas x is the
33 number of the interface that has been assigned to a dedicated port by
34 the system.
35
36 If loading is finished, any desired IP address can be assigned to the
37 respective eth[x] interface using the ifconfig(8) command. This causes
38 the adapter to connect to the Ethernet and to display a status message
39 on the console saying "ethx: network connection up using port y" fol‐
40 lowed by the configured or detected connection parameters.
41
42 The sk98lin also supports large frames (also called jumbo frames).
43 Using jumbo frames can improve throughput tremendously when transfer‐
44 ring large amounts of data. To enable large frames, the MTU (maximum
45 transfer unit) size for an interface is to be set to a high value. The
46 default MTU size is 1500 and can be changed up to 9000 (bytes). Set‐
47 ting the MTU size can be done when assigning the IP address to the
48 interface or later by using the ifconfig(8) command with the mtu param‐
49 eter. If for instance eth0 needs an IP address and a large frame MTU
50 size, the following two commands might be used:
51
52 ifconfig eth0 10.1.1.1
53 ifconfig eth0 mtu 9000
54
55 Those two commands might even be combined into one:
56
57 ifconfig eth0 10.1.1.1 mtu 9000
58
59 Note that large frames can only be used if your network infrastructure
60 allows to do so. This means, that any switch being used in your Ether‐
61 net must also support large frames. Quite some switches support large
62 frames, but need to be configured to do so. Most of the times, their
63 default setting is to support only standard frames with an MTU size of
64 1500 (bytes). In addition to the switches inside the network, all net‐
65 work adapters that are to be used must also be enabled regarding jumbo
66 frames. If an adapter is not set to receive large frames it will sim‐
67 ply drop them.
68
69 Switching back to the standard Ethernet frame size can be done by using
70 the ifconfig(8) command again:
71
72 ifconfig eth0 mtu 1500
73
74 The Marvell/SysKonnect Gigabit Ethernet driver for Linux is able to
75 support VLAN and Link Aggregation according to IEEE standards 802.1,
76 802.1q, and 802.3ad. Those features are only available after installa‐
77 tion of open source modules which can be found on the Internet:
78
79 VLAN: http://www.candelatech.com/~greear/vlan.html
80 Link Aggregation: http://www.st.rim.or.jp/~yumo
81
82 Note that Marvell/SysKonnect does not offer any support for these open
83 source modules and does not take the responsibility for any kind of
84 failures or problems arising when using these modules.
85
87 Speed_A=i,j,...
88 This parameter is used to set the speed capabilities of port A
89 of an adapter card. It is only valid for Yukon copper adapters.
90 Possible values are: 10, 100, 1000 or Auto whereas Auto is the
91 default. Usually, the speed is negotiated between the two ports
92 during link establishment. If this fails, a port can be forced
93 to a specific setting with this parameter.
94
95 Speed_B=i,j,...
96 This parameter is used to set the speed capabilities of port B
97 of an adapter card. It is only valid for Yukon copper adapters.
98 Possible values are: 10, 100, 1000 or Auto whereas Auto is the
99 default. Usually, the speed is negotiated between the two ports
100 during link establishment. If this fails, a port can be forced
101 to a specific setting with this parameter.
102
103 AutoNeg_A=i,j,...
104 Enables or disables the use of autonegotiation of port A of an
105 adapter card. Possible values are: On, Off or Sense whereas On
106 is the default. The Sense mode automatically detects whether the
107 link partner supports auto-negotiation or not.
108
109 AutoNeg_B=i,j,...
110 Enables or disables the use of autonegotiation of port B of an
111 adapter card. Possible values are: On, Off or Sense whereas On
112 is the default. The Sense mode automatically detects whether the
113 link partner supports auto-negotiation or not.
114
115 DupCap_A=i,j,...
116 This parameter indicates the duplex mode to be used for port A
117 of an adapter card. Possible values are: Half, Full or Both
118 whereas Both is the default. This parameter is only relevant if
119 AutoNeg_A of port A is not set to Sense. If AutoNeg_A is set to
120 On, all three values of DupCap_A ( Half, Full or Both) might be
121 stated. If AutoNeg_A is set to Off, only DupCap_A values Full
122 and Half are allowed. This DupCap_A parameter is useful if your
123 link partner does not support all possible duplex combinations.
124
125 DupCap_B=i,j,...
126 This parameter indicates the duplex mode to be used for port B
127 of an adapter card. Possible values are: Half, Full or Both
128 whereas Both is the default. This parameter is only relevant if
129 AutoNeg_B of port B is not set to Sense. If AutoNeg_B is set to
130 On, all three values of DupCap_B ( Half, Full or Both) might be
131 stated. If AutoNeg_B is set to Off, only DupCap_B values Full
132 and Half are allowed. This DupCap_B parameter is useful if your
133 link partner does not support all possible duplex combinations.
134
135 FlowCtrl_A=i,j,...
136 This parameter can be used to set the flow control capabilities
137 the port reports during auto-negotiation. Possible values are:
138 Sym, SymOrRem, LocSend or None whereas SymOrRem is the default.
139 The different modes have the following meaning:
140
141 Sym = Symmetric
142 both link partners are allowed to send PAUSE frames
143 SymOrRem = SymmetricOrRemote
144 both or only remote partner are allowed to send PAUSE frames
145 LocSend = LocalSend
146 only local link partner is allowed to send PAUSE frames
147 None = None
148 no link partner is allowed to send PAUSE frames
149
150 Note that this parameter is ignored if AutoNeg_A is set to Off.
151
152 FlowCtrl_B=i,j,...
153 This parameter can be used to set the flow control capabilities
154 the port reports during auto-negotiation. Possible values are:
155 Sym, SymOrRem, LocSend or None whereas SymOrRem is the default.
156 The different modes have the following meaning:
157
158 Sym = Symmetric
159 both link partners are allowed to send PAUSE frames
160 SymOrRem = SymmetricOrRemote
161 both or only remote partner are allowed to send PAUSE frames
162 LocSend = LocalSend
163 only local link partner is allowed to send PAUSE frames
164 None = None
165 no link partner is allowed to send PAUSE frames
166
167 Note that this parameter is ignored if AutoNeg_B is set to Off.
168
169 Role_A=i,j,...
170 This parameter is only valid for 1000Base-T adapter cards. For
171 two 1000Base-T ports to communicate, one must take the role of
172 the master (providing timing information), while the other must
173 be the slave. Possible values are: Auto, Master or Slave
174 whereas Auto is the default. Usually, the role of a port is
175 negotiated between two ports during link establishment, but if
176 that fails the port A of an adapter card can be forced to a spe‐
177 cific setting with this parameter.
178
179 Role_B=i,j,...
180 This parameter is only valid for 1000Base-T adapter cards. For
181 two 1000Base-T ports to communicate, one must take the role of
182 the master (providing timing information), while the other must
183 be the slave. Possible values are: Auto, Master or Slave
184 whereas Auto is the default. Usually, the role of a port is
185 negotiated between two ports during link establishment, but if
186 that fails the port B of an adapter card can be forced to a spe‐
187 cific setting with this parameter.
188
189 ConType=i,j,...
190 This parameter is a combination of all five per-port parameters
191 within one single parameter. This simplifies the configuration
192 of both ports of an adapter card. The different values of this
193 variable reflect the most meaningful combinations of port param‐
194 eters. Possible values and their corresponding combination of
195 per-port parameters:
196
197 ConType | DupCap AutoNeg FlowCtrl Role Speed
198 --------+-------------------------------------------
199 Auto | Both On SymOrRem Auto Auto
200 100FD | Full Off None Auto 100
201 100HD | Half Off None Auto 100
202 10FD | Full Off None Auto 10
203 10HD | Half Off None Auto 10
204
205 Stating any other port parameter together with this ConType
206 parameter will result in a merged configuration of those set‐
207 tings. This is due to the fact, that the per-port parameters
208 (e.g. Speed_A) have a higher priority than the combined vari‐
209 able ConType.
210
211 Moderation=i,j,...
212 Interrupt moderation is employed to limit the maximum number of
213 interrupts the driver has to serve. That is, one or more inter‐
214 rupts (which indicate any transmit or receive packet to be pro‐
215 cessed) are queued until the driver processes them. When queued
216 interrupts are to be served, is determined by the IntsPerSec
217 parameter, which is explained later below. Possible moderation
218 modes are: None, Static or Dynamic whereas None is the default.
219 The different modes have the following meaning:
220
221 None No interrupt moderation is applied on the adapter card.
222 Therefore, each transmit or receive interrupt is served immedi‐
223 ately as soon as it appears on the interrupt line of the adapter
224 card.
225
226 Static Interrupt moderation is applied on the adapter card. All
227 transmit and receive interrupts are queued until a complete mod‐
228 eration interval ends. If such a moderation interval ends, all
229 queued interrupts are processed in one big bunch without any
230 delay. The term Static reflects the fact, that interrupt moder‐
231 ation is always enabled, regardless how much network load is
232 currently passing via a particular interface. In addition, the
233 duration of the moderation interval has a fixed length that
234 never changes while the driver is operational.
235
236 Dynamic Interrupt moderation might be applied on the adapter
237 card, depending on the load of the system. If the driver
238 detects that the system load is too high, the driver tries to
239 shield the system against too much network load by enabling
240 interrupt moderation. If — at a later time — the CPU utiliza‐
241 tion decreases again (or if the network load is negligible) the
242 interrupt moderation will automatically be disabled.
243
244 Interrupt moderation should be used when the driver has to han‐
245 dle one or more interfaces with a high network load, which — as
246 a consequence — leads also to a high CPU utilization. When mod‐
247 eration is applied in such high network load situations, CPU
248 load might be reduced by 20-30% on slow computers.
249
250 Note that the drawback of using interrupt moderation is an
251 increase of the round-trip-time (RTT), due to the queuing and
252 serving of interrupts at dedicated moderation times.
253
254 IntsPerSec=i,j,...
255 This parameter determines the length of any interrupt moderation
256 interval. Assuming that static interrupt moderation is to be
257 used, an IntsPerSec parameter value of 2000 will lead to an
258 interrupt moderation interval of 500 microseconds. Possible
259 values for this parameter are in the range of 30...40000 (inter‐
260 rupts per second). The default value is 2000.
261
262 This parameter is only used, if either static or dynamic inter‐
263 rupt moderation is enabled on a network adapter card. This
264 parameter is ignored if no moderation is applied.
265
266 Note that the duration of the moderation interval is to be cho‐
267 sen with care. At first glance, selecting a very long duration
268 (e.g. only 100 interrupts per second) seems to be meaningful,
269 but the increase of packet-processing delay is tremendous. On
270 the other hand, selecting a very short moderation time might
271 compensate the use of any moderation being applied.
272
273 PrefPort=i,j,...
274 This parameter is used to force the preferred port to A or B (on
275 dual-port network adapters). The preferred port is the one that
276 is used if both ports A and B are detected as fully functional.
277 Possible values are: A or B whereas A is the default.
278
279 RlmtMode=i,j,...
280 RLMT monitors the status of the port. If the link of the active
281 port fails, RLMT switches immediately to the standby link. The
282 virtual link is maintained as long as at least one 'physical'
283 link is up. This parameters states how RLMT should monitor both
284 ports. Possible values are: CheckLinkState, CheckLocalPort,
285 CheckSeg or DualNet whereas CheckLinkState is the default. The
286 different modes have the following meaning:
287
288 CheckLinkState Check link state only: RLMT uses the link state
289 reported by the adapter hardware for each individual port to
290 determine whether a port can be used for all network traffic or
291 not.
292
293 CheckLocalPort In this mode, RLMT monitors the network path
294 between the two ports of an adapter by regularly exchanging
295 packets between them. This mode requires a network configura‐
296 tion in which the two ports are able to "see" each other (i.e.
297 there must not be any router between the ports).
298
299 CheckSeg Check local port and segmentation: This mode supports
300 the same functions as the CheckLocalPort mode and additionally
301 checks network segmentation between the ports. Therefore, this
302 mode is only to be used if Gigabit Ethernet switches are
303 installed on the network that have been configured to use the
304 Spanning Tree protocol.
305
306 DualNet In this mode, ports A and B are used as separate
307 devices. If you have a dual port adapter, port A will be con‐
308 figured as eth[x]andportBas eth[x+1]. Both ports can be used
309 independently with distinct IP addresses. The preferred port
310 setting is not used. RLMT is turned off.
311
312 Note that RLMT modes CheckLocalPort and CheckLinkState are
313 designed to operate in configurations where a network path
314 between the ports on one adapter exists. Moreover, they are not
315 designed to work where adapters are connected back-to-back.
316
318 /proc/net/sk98lin/eth[x]
319 The statistics file of a particular interface of an adapter
320 card. It contains generic information about the adapter card
321 plus a detailed summary of all transmit and receive counters.
322
323 /usr/src/linux/Documentation/network/sk98lin.txt
324 This is the README file of the sk98lin driver. It contains a
325 detailed installation HOWTO and describes all parameters of the
326 driver. It denotes also common problems and provides the solu‐
327 tion to them.
328
330 Report any bugs to linux@syskonnect.de
331
333 Ralph Roesler — rroesler@syskonnect.de
334 Mirko Lindner — mlindner@syskonnect.de
335
337 modprobe(8), insmod(8), ifconfig(8).
338
339
340
341sk98lin 6.21 2003/12/17 10:03:18 SK98LIN(4)