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