Commit 4b4976a6 authored by David S. Miller's avatar David S. Miller

Merge branch 'net-ReST-part-three'

Mauro Carvalho Chehab says:

====================
net: manually convert files to ReST format - part 3 (final)

That's the third part (and the final one) of my work to convert the networking
text files into ReST. it is based on linux-next next-20200430 branch.

The full series (including those ones) are at:

	https://git.linuxtv.org/mchehab/experimental.git/log/?h=net-docs

The  built output documents, on html format is at:

	https://www.infradead.org/~mchehab/kernel_docs/networking/
====================
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parents ef891284 30cbf2dd
...@@ -1296,8 +1296,8 @@ DIP Switches: ...@@ -1296,8 +1296,8 @@ DIP Switches:
11111 0xC400 (guessed - crashes tested system) 11111 0xC400 (guessed - crashes tested system)
============= ============================================ ============= ============================================
CNet Technology Inc. CNet Technology Inc. (8-bit cards)
==================== ==================================
120 Series (8-bit cards) 120 Series (8-bit cards)
------------------------ ------------------------
...@@ -1520,8 +1520,8 @@ The jumpers labeled EXT1 and EXT2 are used to determine the timeout ...@@ -1520,8 +1520,8 @@ The jumpers labeled EXT1 and EXT2 are used to determine the timeout
parameters. These two jumpers are normally left open. parameters. These two jumpers are normally left open.
CNet Technology Inc. CNet Technology Inc. (16-bit cards)
==================== ===================================
160 Series (16-bit cards) 160 Series (16-bit cards)
------------------------- -------------------------
......
.. SPDX-License-Identifier: GPL-2.0
=============================================================================
Linux and the 3Com EtherLink III Series Ethercards (driver v1.18c and higher) Linux and the 3Com EtherLink III Series Ethercards (driver v1.18c and higher)
---------------------------------------------------------------------------- =============================================================================
This file contains the instructions and caveats for v1.18c and higher versions This file contains the instructions and caveats for v1.18c and higher versions
of the 3c509 driver. You should not use the driver without reading this file. of the 3c509 driver. You should not use the driver without reading this file.
release 1.0 release 1.0
28 February 2002 28 February 2002
Current maintainer (corrections to): Current maintainer (corrections to):
David Ruggiero <jdr@farfalle.com> David Ruggiero <jdr@farfalle.com>
---------------------------------------------------------------------------- Introduction
============
(0) Introduction
The following are notes and information on using the 3Com EtherLink III series The following are notes and information on using the 3Com EtherLink III series
ethercards in Linux. These cards are commonly known by the most widely-used ethercards in Linux. These cards are commonly known by the most widely-used
...@@ -21,11 +25,11 @@ be (but sometimes are) confused with the similarly-numbered PCI-bus "3c905" ...@@ -21,11 +25,11 @@ be (but sometimes are) confused with the similarly-numbered PCI-bus "3c905"
provided by the module 3c509.c, which has code to support all of the following provided by the module 3c509.c, which has code to support all of the following
models: models:
3c509 (original ISA card) - 3c509 (original ISA card)
3c509B (later revision of the ISA card; supports full-duplex) - 3c509B (later revision of the ISA card; supports full-duplex)
3c589 (PCMCIA) - 3c589 (PCMCIA)
3c589B (later revision of the 3c589; supports full-duplex) - 3c589B (later revision of the 3c589; supports full-duplex)
3c579 (EISA) - 3c579 (EISA)
Large portions of this documentation were heavily borrowed from the guide Large portions of this documentation were heavily borrowed from the guide
written the original author of the 3c509 driver, Donald Becker. The master written the original author of the 3c509 driver, Donald Becker. The master
...@@ -33,14 +37,15 @@ copy of that document, which contains notes on older versions of the driver, ...@@ -33,14 +37,15 @@ copy of that document, which contains notes on older versions of the driver,
currently resides on Scyld web server: http://www.scyld.com/. currently resides on Scyld web server: http://www.scyld.com/.
(1) Special Driver Features Special Driver Features
=======================
Overriding card settings Overriding card settings
The driver allows boot- or load-time overriding of the card's detected IOADDR, The driver allows boot- or load-time overriding of the card's detected IOADDR,
IRQ, and transceiver settings, although this capability shouldn't generally be IRQ, and transceiver settings, although this capability shouldn't generally be
needed except to enable full-duplex mode (see below). An example of the syntax needed except to enable full-duplex mode (see below). An example of the syntax
for LILO parameters for doing this: for LILO parameters for doing this::
ether=10,0x310,3,0x3c509,eth0 ether=10,0x310,3,0x3c509,eth0
...@@ -49,12 +54,13 @@ transceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflicts ...@@ -49,12 +54,13 @@ transceiver type 3 (10base2). The flag "0x3c509" must be set to avoid conflicts
with other card types when overriding the I/O address. When the driver is with other card types when overriding the I/O address. When the driver is
loaded as a module, only the IRQ may be overridden. For example, loaded as a module, only the IRQ may be overridden. For example,
setting two cards to IRQ10 and IRQ11 is done by using the irq module setting two cards to IRQ10 and IRQ11 is done by using the irq module
option: option::
options 3c509 irq=10,11 options 3c509 irq=10,11
(2) Full-duplex mode Full-duplex mode
================
The v1.18c driver added support for the 3c509B's full-duplex capabilities. The v1.18c driver added support for the 3c509B's full-duplex capabilities.
In order to enable and successfully use full-duplex mode, three conditions In order to enable and successfully use full-duplex mode, three conditions
...@@ -79,26 +85,31 @@ another system that's connected directly to the 3c509B via a crossover cable. ...@@ -79,26 +85,31 @@ another system that's connected directly to the 3c509B via a crossover cable.
Full-duplex mode can be enabled using 'ethtool'. Full-duplex mode can be enabled using 'ethtool'.
/////Extremely important caution concerning full-duplex mode///// .. warning::
Understand that the 3c509B's hardware's full-duplex support is much more
limited than that provide by more modern network interface cards. Although
at the physical layer of the network it fully supports full-duplex operation,
the card was designed before the current Ethernet auto-negotiation (N-way)
spec was written. This means that the 3c509B family ***cannot and will not
auto-negotiate a full-duplex connection with its link partner under any
circumstances, no matter how it is initialized***. If the full-duplex mode
of the 3c509B is enabled, its link partner will very likely need to be
independently _forced_ into full-duplex mode as well; otherwise various nasty
failures will occur - at the very least, you'll see massive numbers of packet
collisions. This is one of very rare circumstances where disabling auto-
negotiation and forcing the duplex mode of a network interface card or switch
would ever be necessary or desirable.
Extremely important caution concerning full-duplex mode
(3) Available Transceiver Types Understand that the 3c509B's hardware's full-duplex support is much more
limited than that provide by more modern network interface cards. Although
at the physical layer of the network it fully supports full-duplex operation,
the card was designed before the current Ethernet auto-negotiation (N-way)
spec was written. This means that the 3c509B family ***cannot and will not
auto-negotiate a full-duplex connection with its link partner under any
circumstances, no matter how it is initialized***. If the full-duplex mode
of the 3c509B is enabled, its link partner will very likely need to be
independently _forced_ into full-duplex mode as well; otherwise various nasty
failures will occur - at the very least, you'll see massive numbers of packet
collisions. This is one of very rare circumstances where disabling auto-
negotiation and forcing the duplex mode of a network interface card or switch
would ever be necessary or desirable.
Available Transceiver Types
===========================
For versions of the driver v1.18c and above, the available transceiver types are: For versions of the driver v1.18c and above, the available transceiver types are:
== =========================================================================
0 transceiver type from EEPROM config (normally 10baseT); force half-duplex 0 transceiver type from EEPROM config (normally 10baseT); force half-duplex
1 AUI (thick-net / DB15 connector) 1 AUI (thick-net / DB15 connector)
2 (undefined) 2 (undefined)
...@@ -106,6 +117,7 @@ For versions of the driver v1.18c and above, the available transceiver types are ...@@ -106,6 +117,7 @@ For versions of the driver v1.18c and above, the available transceiver types are
4 10baseT (RJ-45 connector); force half-duplex mode 4 10baseT (RJ-45 connector); force half-duplex mode
8 transceiver type and duplex mode taken from card's EEPROM config settings 8 transceiver type and duplex mode taken from card's EEPROM config settings
12 10baseT (RJ-45 connector); force full-duplex mode 12 10baseT (RJ-45 connector); force full-duplex mode
== =========================================================================
Prior to driver version 1.18c, only transceiver codes 0-4 were supported. Note Prior to driver version 1.18c, only transceiver codes 0-4 were supported. Note
that the new transceiver codes 8 and 12 are the *only* ones that will enable that the new transceiver codes 8 and 12 are the *only* ones that will enable
...@@ -118,9 +130,11 @@ activated. ...@@ -118,9 +130,11 @@ activated.
The transceiver type can be changed using 'ethtool'. The transceiver type can be changed using 'ethtool'.
(4a) Interpretation of error messages and common problems Interpretation of error messages and common problems
----------------------------------------------------
Error Messages Error Messages
^^^^^^^^^^^^^^
eth0: Infinite loop in interrupt, status 2011. eth0: Infinite loop in interrupt, status 2011.
These are "mostly harmless" message indicating that the driver had too much These are "mostly harmless" message indicating that the driver had too much
...@@ -136,6 +150,8 @@ or impossible in normal operation. Possible causes of this error report are: ...@@ -136,6 +150,8 @@ or impossible in normal operation. Possible causes of this error report are:
interrupt should always be incrementing faster than the others. interrupt should always be incrementing faster than the others.
No received packets No received packets
^^^^^^^^^^^^^^^^^^^
If a 3c509, 3c562 or 3c589 can successfully transmit packets, but never If a 3c509, 3c562 or 3c589 can successfully transmit packets, but never
receives packets (as reported by /proc/net/dev or 'ifconfig') you likely receives packets (as reported by /proc/net/dev or 'ifconfig') you likely
have an interrupt line problem. Check /proc/interrupts to verify that the have an interrupt line problem. Check /proc/interrupts to verify that the
...@@ -147,25 +163,36 @@ interrupt line. If the device is receiving packets but 'ping' doesn't work, ...@@ -147,25 +163,36 @@ interrupt line. If the device is receiving packets but 'ping' doesn't work,
you have a routing problem. you have a routing problem.
Tx Carrier Errors Reported in /proc/net/dev Tx Carrier Errors Reported in /proc/net/dev
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If an EtherLink III appears to transmit packets, but the "Tx carrier errors" If an EtherLink III appears to transmit packets, but the "Tx carrier errors"
field in /proc/net/dev increments as quickly as the Tx packet count, you field in /proc/net/dev increments as quickly as the Tx packet count, you
likely have an unterminated network or the incorrect media transceiver selected. likely have an unterminated network or the incorrect media transceiver selected.
3c509B card is not detected on machines with an ISA PnP BIOS. 3c509B card is not detected on machines with an ISA PnP BIOS.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
While the updated driver works with most PnP BIOS programs, it does not work While the updated driver works with most PnP BIOS programs, it does not work
with all. This can be fixed by disabling PnP support using the 3Com-supplied with all. This can be fixed by disabling PnP support using the 3Com-supplied
setup program. setup program.
3c509 card is not detected on overclocked machines 3c509 card is not detected on overclocked machines
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Increase the delay time in id_read_eeprom() from the current value, 500, Increase the delay time in id_read_eeprom() from the current value, 500,
to an absurdly high value, such as 5000. to an absurdly high value, such as 5000.
(4b) Decoding Status and Error Messages Decoding Status and Error Messages
----------------------------------
The bits in the main status register are: The bits in the main status register are:
===== ======================================
value description value description
===== ======================================
0x01 Interrupt latch 0x01 Interrupt latch
0x02 Tx overrun, or Rx underrun 0x02 Tx overrun, or Rx underrun
0x04 Tx complete 0x04 Tx complete
...@@ -174,10 +201,13 @@ value description ...@@ -174,10 +201,13 @@ value description
0x20 A Rx packet has started to arrive 0x20 A Rx packet has started to arrive
0x40 The driver has requested an interrupt 0x40 The driver has requested an interrupt
0x80 Statistics counter nearly full 0x80 Statistics counter nearly full
===== ======================================
The bits in the transmit (Tx) status word are: The bits in the transmit (Tx) status word are:
===== ============================================
value description value description
===== ============================================
0x02 Out-of-window collision. 0x02 Out-of-window collision.
0x04 Status stack overflow (normally impossible). 0x04 Status stack overflow (normally impossible).
0x08 16 collisions. 0x08 16 collisions.
...@@ -185,19 +215,24 @@ value description ...@@ -185,19 +215,24 @@ value description
0x20 Tx jabber. 0x20 Tx jabber.
0x40 Tx interrupt requested. 0x40 Tx interrupt requested.
0x80 Status is valid (this should always be set). 0x80 Status is valid (this should always be set).
===== ============================================
When a transmit error occurs the driver produces a status message such as When a transmit error occurs the driver produces a status message such as::
eth0: Transmit error, Tx status register 82 eth0: Transmit error, Tx status register 82
The two values typically seen here are: The two values typically seen here are:
0x82 0x82
^^^^
Out of window collision. This typically occurs when some other Ethernet Out of window collision. This typically occurs when some other Ethernet
host is incorrectly set to full duplex on a half duplex network. host is incorrectly set to full duplex on a half duplex network.
0x88 0x88
^^^^
16 collisions. This typically occurs when the network is exceptionally busy 16 collisions. This typically occurs when the network is exceptionally busy
or when another host doesn't correctly back off after a collision. If this or when another host doesn't correctly back off after a collision. If this
error is mixed with 0x82 errors it is the result of a host incorrectly set error is mixed with 0x82 errors it is the result of a host incorrectly set
...@@ -207,7 +242,8 @@ Both of these errors are the result of network problems that should be ...@@ -207,7 +242,8 @@ Both of these errors are the result of network problems that should be
corrected. They do not represent driver malfunction. corrected. They do not represent driver malfunction.
(5) Revision history (this file) Revision history (this file)
============================
28Feb02 v1.0 DR New; major portions based on Becker original 3c509 docs 28Feb02 v1.0 DR New; major portions based on Becker original 3c509 docs
.. SPDX-License-Identifier: GPL-2.0
=====================
DM9000 Network driver DM9000 Network driver
===================== =====================
Copyright 2008 Simtec Electronics, Copyright 2008 Simtec Electronics,
Ben Dooks <ben@simtec.co.uk> <ben-linux@fluff.org> Ben Dooks <ben@simtec.co.uk> <ben-linux@fluff.org>
...@@ -30,9 +34,9 @@ These resources should be specified in that order, as the ordering of the ...@@ -30,9 +34,9 @@ These resources should be specified in that order, as the ordering of the
two address regions is important (the driver expects these to be address two address regions is important (the driver expects these to be address
and then data). and then data).
An example from arch/arm/mach-s3c2410/mach-bast.c is: An example from arch/arm/mach-s3c2410/mach-bast.c is::
static struct resource bast_dm9k_resource[] = { static struct resource bast_dm9k_resource[] = {
[0] = { [0] = {
.start = S3C2410_CS5 + BAST_PA_DM9000, .start = S3C2410_CS5 + BAST_PA_DM9000,
.end = S3C2410_CS5 + BAST_PA_DM9000 + 3, .end = S3C2410_CS5 + BAST_PA_DM9000 + 3,
...@@ -48,14 +52,14 @@ static struct resource bast_dm9k_resource[] = { ...@@ -48,14 +52,14 @@ static struct resource bast_dm9k_resource[] = {
.end = IRQ_DM9000, .end = IRQ_DM9000,
.flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL, .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_HIGHLEVEL,
} }
}; };
static struct platform_device bast_device_dm9k = { static struct platform_device bast_device_dm9k = {
.name = "dm9000", .name = "dm9000",
.id = 0, .id = 0,
.num_resources = ARRAY_SIZE(bast_dm9k_resource), .num_resources = ARRAY_SIZE(bast_dm9k_resource),
.resource = bast_dm9k_resource, .resource = bast_dm9k_resource,
}; };
Note the setting of the IRQ trigger flag in bast_dm9k_resource[2].flags, Note the setting of the IRQ trigger flag in bast_dm9k_resource[2].flags,
as this will generate a warning if it is not present. The trigger from as this will generate a warning if it is not present. The trigger from
...@@ -64,13 +68,13 @@ handler to ensure that the IRQ is setup correctly. ...@@ -64,13 +68,13 @@ handler to ensure that the IRQ is setup correctly.
This shows a typical platform device, without the optional configuration This shows a typical platform device, without the optional configuration
platform data supplied. The next example uses the same resources, but adds platform data supplied. The next example uses the same resources, but adds
the optional platform data to pass extra configuration data: the optional platform data to pass extra configuration data::
static struct dm9000_plat_data bast_dm9k_platdata = { static struct dm9000_plat_data bast_dm9k_platdata = {
.flags = DM9000_PLATF_16BITONLY, .flags = DM9000_PLATF_16BITONLY,
}; };
static struct platform_device bast_device_dm9k = { static struct platform_device bast_device_dm9k = {
.name = "dm9000", .name = "dm9000",
.id = 0, .id = 0,
.num_resources = ARRAY_SIZE(bast_dm9k_resource), .num_resources = ARRAY_SIZE(bast_dm9k_resource),
...@@ -78,7 +82,7 @@ static struct platform_device bast_device_dm9k = { ...@@ -78,7 +82,7 @@ static struct platform_device bast_device_dm9k = {
.dev = { .dev = {
.platform_data = &bast_dm9k_platdata, .platform_data = &bast_dm9k_platdata,
} }
}; };
The platform data is defined in include/linux/dm9000.h and described below. The platform data is defined in include/linux/dm9000.h and described below.
......
.. SPDX-License-Identifier: GPL-2.0
===================================
DEC EtherWORKS Ethernet De4x5 cards
===================================
Originally, this driver was written for the Digital Equipment Originally, this driver was written for the Digital Equipment
Corporation series of EtherWORKS Ethernet cards: Corporation series of EtherWORKS Ethernet cards:
DE425 TP/COAX EISA - DE425 TP/COAX EISA
DE434 TP PCI - DE434 TP PCI
DE435 TP/COAX/AUI PCI - DE435 TP/COAX/AUI PCI
DE450 TP/COAX/AUI PCI - DE450 TP/COAX/AUI PCI
DE500 10/100 PCI Fasternet - DE500 10/100 PCI Fasternet
but it will now attempt to support all cards which conform to the but it will now attempt to support all cards which conform to the
Digital Semiconductor SROM Specification. The driver currently Digital Semiconductor SROM Specification. The driver currently
recognises the following chips: recognises the following chips:
DC21040 (no SROM) - DC21040 (no SROM)
DC21041[A] - DC21041[A]
DC21140[A] - DC21140[A]
DC21142 - DC21142
DC21143 - DC21143
So far the driver is known to work with the following cards: So far the driver is known to work with the following cards:
KINGSTON - KINGSTON
Linksys - Linksys
ZNYX342 - ZNYX342
SMC8432 - SMC8432
SMC9332 (w/new SROM) - SMC9332 (w/new SROM)
ZNYX31[45] - ZNYX31[45]
ZNYX346 10/100 4 port (can act as a 10/100 bridge!) - ZNYX346 10/100 4 port (can act as a 10/100 bridge!)
The driver has been tested on a relatively busy network using the DE425, The driver has been tested on a relatively busy network using the DE425,
DE434, DE435 and DE500 cards and benchmarked with 'ttcp': it transferred DE434, DE435 and DE500 cards and benchmarked with 'ttcp': it transferred
16M of data to a DECstation 5000/200 as follows: 16M of data to a DECstation 5000/200 as follows::
TCP UDP TCP UDP
TX RX TX RX TX RX TX RX
...@@ -42,7 +48,7 @@ ...@@ -42,7 +48,7 @@
measurement. Their error is +/-20k on a quiet (private) network and also measurement. Their error is +/-20k on a quiet (private) network and also
depend on what load the CPU has. depend on what load the CPU has.
========================================================================= ----------------------------------------------------------------------------
The ability to load this driver as a loadable module has been included The ability to load this driver as a loadable module has been included
and used extensively during the driver development (to save those long and used extensively during the driver development (to save those long
...@@ -58,13 +64,15 @@ ...@@ -58,13 +64,15 @@
temporary directory. temporary directory.
2) for fixed autoprobes (not recommended), edit the source code near 2) for fixed autoprobes (not recommended), edit the source code near
line 5594 to reflect the I/O address you're using, or assign these when line 5594 to reflect the I/O address you're using, or assign these when
loading by: loading by::
insmod de4x5 io=0xghh where g = bus number insmod de4x5 io=0xghh where g = bus number
hh = device number hh = device number
NB: autoprobing for modules is now supported by default. You may just .. note::
use:
autoprobing for modules is now supported by default. You may just
use::
insmod de4x5 insmod de4x5
...@@ -158,17 +166,20 @@ ...@@ -158,17 +166,20 @@
either at the end of the parameter list or with another board name. The either at the end of the parameter list or with another board name. The
following parameters are allowed: following parameters are allowed:
========= ===============================================
fdx for full duplex fdx for full duplex
autosense to set the media/speed; with the following autosense to set the media/speed; with the following
sub-parameters: sub-parameters:
TP, TP_NW, BNC, AUI, BNC_AUI, 100Mb, 10Mb, AUTO TP, TP_NW, BNC, AUI, BNC_AUI, 100Mb, 10Mb, AUTO
========= ===============================================
Case sensitivity is important for the sub-parameters. They *must* be Case sensitivity is important for the sub-parameters. They *must* be
upper case. Examples: upper case. Examples::
insmod de4x5 args='eth1:fdx autosense=BNC eth0:autosense=100Mb'. insmod de4x5 args='eth1:fdx autosense=BNC eth0:autosense=100Mb'.
For a compiled in driver, in linux/drivers/net/CONFIG, place e.g. For a compiled in driver, in linux/drivers/net/CONFIG, place e.g.::
DE4X5_OPTS = -DDE4X5_PARM='"eth0:fdx autosense=AUI eth2:autosense=TP"' DE4X5_OPTS = -DDE4X5_PARM='"eth0:fdx autosense=AUI eth2:autosense=TP"'
Yes, I know full duplex isn't permissible on BNC or AUI; they're just Yes, I know full duplex isn't permissible on BNC or AUI; they're just
......
.. SPDX-License-Identifier: GPL-2.0
==============================================================
Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver for Linux
==============================================================
Note: This driver doesn't have a maintainer. Note: This driver doesn't have a maintainer.
Davicom DM9102(A)/DM9132/DM9801 fast ethernet driver for Linux.
This program is free software; you can redistribute it and/or This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License modify it under the terms of the GNU General Public License
...@@ -16,29 +21,29 @@ GNU General Public License for more details. ...@@ -16,29 +21,29 @@ GNU General Public License for more details.
This driver provides kernel support for Davicom DM9102(A)/DM9132/DM9801 ethernet cards ( CNET This driver provides kernel support for Davicom DM9102(A)/DM9132/DM9801 ethernet cards ( CNET
10/100 ethernet cards uses Davicom chipset too, so this driver supports CNET cards too ).If you 10/100 ethernet cards uses Davicom chipset too, so this driver supports CNET cards too ).If you
didn't compile this driver as a module, it will automatically load itself on boot and print a didn't compile this driver as a module, it will automatically load itself on boot and print a
line similar to : line similar to::
dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17) dmfe: Davicom DM9xxx net driver, version 1.36.4 (2002-01-17)
If you compiled this driver as a module, you have to load it on boot.You can load it with command : If you compiled this driver as a module, you have to load it on boot.You can load it with command::
insmod dmfe insmod dmfe
This way it will autodetect the device mode.This is the suggested way to load the module.Or you can pass This way it will autodetect the device mode.This is the suggested way to load the module.Or you can pass
a mode= setting to module while loading, like : a mode= setting to module while loading, like::
insmod dmfe mode=0 # Force 10M Half Duplex insmod dmfe mode=0 # Force 10M Half Duplex
insmod dmfe mode=1 # Force 100M Half Duplex insmod dmfe mode=1 # Force 100M Half Duplex
insmod dmfe mode=4 # Force 10M Full Duplex insmod dmfe mode=4 # Force 10M Full Duplex
insmod dmfe mode=5 # Force 100M Full Duplex insmod dmfe mode=5 # Force 100M Full Duplex
Next you should configure your network interface with a command similar to : Next you should configure your network interface with a command similar to::
ifconfig eth0 172.22.3.18 ifconfig eth0 172.22.3.18
^^^^^^^^^^^ ^^^^^^^^^^^
Your IP Address Your IP Address
Then you may have to modify the default routing table with command : Then you may have to modify the default routing table with command::
route add default eth0 route add default eth0
...@@ -48,10 +53,10 @@ Now your ethernet card should be up and running. ...@@ -48,10 +53,10 @@ Now your ethernet card should be up and running.
TODO: TODO:
Implement pci_driver::suspend() and pci_driver::resume() power management methods. - Implement pci_driver::suspend() and pci_driver::resume() power management methods.
Check on 64 bit boxes. - Check on 64 bit boxes.
Check and fix on big endian boxes. - Check and fix on big endian boxes.
Test and make sure PCI latency is now correct for all cases. - Test and make sure PCI latency is now correct for all cases.
Authors: Authors:
...@@ -60,7 +65,7 @@ Sten Wang <sten_wang@davicom.com.tw > : Original Author ...@@ -60,7 +65,7 @@ Sten Wang <sten_wang@davicom.com.tw > : Original Author
Contributors: Contributors:
Marcelo Tosatti <marcelo@conectiva.com.br> - Marcelo Tosatti <marcelo@conectiva.com.br>
Alan Cox <alan@lxorguk.ukuu.org.uk> - Alan Cox <alan@lxorguk.ukuu.org.uk>
Jeff Garzik <jgarzik@pobox.com> - Jeff Garzik <jgarzik@pobox.com>
Vojtech Pavlik <vojtech@suse.cz> - Vojtech Pavlik <vojtech@suse.cz>
.. SPDX-License-Identifier: GPL-2.0
==============================
The QorIQ DPAA Ethernet Driver The QorIQ DPAA Ethernet Driver
============================== ==============================
Authors: Authors:
Madalin Bucur <madalin.bucur@nxp.com> - Madalin Bucur <madalin.bucur@nxp.com>
Camelia Groza <camelia.groza@nxp.com> - Camelia Groza <camelia.groza@nxp.com>
Contents .. Contents
========
- DPAA Ethernet Overview - DPAA Ethernet Overview
- DPAA Ethernet Supported SoCs - DPAA Ethernet Supported SoCs
...@@ -34,7 +36,7 @@ following drivers in the Linux kernel: ...@@ -34,7 +36,7 @@ following drivers in the Linux kernel:
- Queue Manager (QMan), Buffer Manager (BMan) - Queue Manager (QMan), Buffer Manager (BMan)
drivers/soc/fsl/qbman drivers/soc/fsl/qbman
A simplified view of the dpaa_eth interfaces mapped to FMan MACs: A simplified view of the dpaa_eth interfaces mapped to FMan MACs::
dpaa_eth /eth0\ ... /ethN\ dpaa_eth /eth0\ ... /ethN\
driver | | | | driver | | | |
...@@ -50,7 +52,8 @@ A simplified view of the dpaa_eth interfaces mapped to FMan MACs: ...@@ -50,7 +52,8 @@ A simplified view of the dpaa_eth interfaces mapped to FMan MACs:
FMan HW blocks: MURAM, MACs, Ports, SP FMan HW blocks: MURAM, MACs, Ports, SP
--------------------------------------------------------- ---------------------------------------------------------
The dpaa_eth relation to the QMan, BMan and FMan: The dpaa_eth relation to the QMan, BMan and FMan::
________________________________ ________________________________
dpaa_eth / eth0 \ dpaa_eth / eth0 \
driver / \ driver / \
...@@ -66,65 +69,68 @@ The dpaa_eth relation to the QMan, BMan and FMan: ...@@ -66,65 +69,68 @@ The dpaa_eth relation to the QMan, BMan and FMan:
----------------------- -------- ----------------------- --------
where the acronyms used above (and in the code) are: where the acronyms used above (and in the code) are:
DPAA = Data Path Acceleration Architecture
FMan = DPAA Frame Manager =============== ===========================================================
QMan = DPAA Queue Manager DPAA Data Path Acceleration Architecture
BMan = DPAA Buffers Manager FMan DPAA Frame Manager
QMI = QMan interface in FMan QMan DPAA Queue Manager
BMI = BMan interface in FMan BMan DPAA Buffers Manager
FMan SP = FMan Storage Profiles QMI QMan interface in FMan
MURAM = Multi-user RAM in FMan BMI BMan interface in FMan
FQ = QMan Frame Queue FMan SP FMan Storage Profiles
Rx Dfl FQ = default reception FQ MURAM Multi-user RAM in FMan
Rx Err FQ = Rx error frames FQ FQ QMan Frame Queue
Tx Cnf FQ = Tx confirmation FQs Rx Dfl FQ default reception FQ
Tx FQs = transmission frame queues Rx Err FQ Rx error frames FQ
dtsec = datapath three speed Ethernet controller (10/100/1000 Mbps) Tx Cnf FQ Tx confirmation FQs
tgec = ten gigabit Ethernet controller (10 Gbps) Tx FQs transmission frame queues
memac = multirate Ethernet MAC (10/100/1000/10000) dtsec datapath three speed Ethernet controller (10/100/1000 Mbps)
tgec ten gigabit Ethernet controller (10 Gbps)
memac multirate Ethernet MAC (10/100/1000/10000)
=============== ===========================================================
DPAA Ethernet Supported SoCs DPAA Ethernet Supported SoCs
============================ ============================
The DPAA drivers enable the Ethernet controllers present on the following SoCs: The DPAA drivers enable the Ethernet controllers present on the following SoCs:
# PPC PPC
P1023 - P1023
P2041 - P2041
P3041 - P3041
P4080 - P4080
P5020 - P5020
P5040 - P5040
T1023 - T1023
T1024 - T1024
T1040 - T1040
T1042 - T1042
T2080 - T2080
T4240 - T4240
B4860 - B4860
# ARM ARM
LS1043A - LS1043A
LS1046A - LS1046A
Configuring DPAA Ethernet in your kernel Configuring DPAA Ethernet in your kernel
======================================== ========================================
To enable the DPAA Ethernet driver, the following Kconfig options are required: To enable the DPAA Ethernet driver, the following Kconfig options are required::
# common for arch/arm64 and arch/powerpc platforms # common for arch/arm64 and arch/powerpc platforms
CONFIG_FSL_DPAA=y CONFIG_FSL_DPAA=y
CONFIG_FSL_FMAN=y CONFIG_FSL_FMAN=y
CONFIG_FSL_DPAA_ETH=y CONFIG_FSL_DPAA_ETH=y
CONFIG_FSL_XGMAC_MDIO=y CONFIG_FSL_XGMAC_MDIO=y
# for arch/powerpc only # for arch/powerpc only
CONFIG_FSL_PAMU=y CONFIG_FSL_PAMU=y
# common options needed for the PHYs used on the RDBs # common options needed for the PHYs used on the RDBs
CONFIG_VITESSE_PHY=y CONFIG_VITESSE_PHY=y
CONFIG_REALTEK_PHY=y CONFIG_REALTEK_PHY=y
CONFIG_AQUANTIA_PHY=y CONFIG_AQUANTIA_PHY=y
DPAA Ethernet Frame Processing DPAA Ethernet Frame Processing
============================== ==============================
...@@ -167,7 +173,9 @@ classes as follows: ...@@ -167,7 +173,9 @@ classes as follows:
* priorities 8 to 11 - traffic class 2 (medium-high priority) * priorities 8 to 11 - traffic class 2 (medium-high priority)
* priorities 12 to 15 - traffic class 3 (high priority) * priorities 12 to 15 - traffic class 3 (high priority)
tc qdisc add dev <int> root handle 1: \ ::
tc qdisc add dev <int> root handle 1: \
mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1 mqprio num_tc 4 map 0 0 0 0 1 1 1 1 2 2 2 2 3 3 3 3 hw 1
DPAA IRQ Affinity and Receive Side Scaling DPAA IRQ Affinity and Receive Side Scaling
...@@ -201,11 +209,11 @@ of these frame queues will arrive at the same portal and will always ...@@ -201,11 +209,11 @@ of these frame queues will arrive at the same portal and will always
be processed by the same CPU. This ensures intra-flow order preservation be processed by the same CPU. This ensures intra-flow order preservation
and workload distribution for multiple traffic flows. and workload distribution for multiple traffic flows.
RSS can be turned off for a certain interface using ethtool, i.e. RSS can be turned off for a certain interface using ethtool, i.e.::
# ethtool -N fm1-mac9 rx-flow-hash tcp4 "" # ethtool -N fm1-mac9 rx-flow-hash tcp4 ""
To turn it back on, one needs to set rx-flow-hash for tcp4/6 or udp4/6: To turn it back on, one needs to set rx-flow-hash for tcp4/6 or udp4/6::
# ethtool -N fm1-mac9 rx-flow-hash udp4 sfdn # ethtool -N fm1-mac9 rx-flow-hash udp4 sfdn
...@@ -216,7 +224,7 @@ going to control the rx-flow-hashing for all protocols on that interface. ...@@ -216,7 +224,7 @@ going to control the rx-flow-hashing for all protocols on that interface.
Besides using the FMan Keygen computed hash for spreading traffic on the Besides using the FMan Keygen computed hash for spreading traffic on the
128 Rx FQs, the DPAA Ethernet driver also sets the skb hash value when 128 Rx FQs, the DPAA Ethernet driver also sets the skb hash value when
the NETIF_F_RXHASH feature is on (active by default). This can be turned the NETIF_F_RXHASH feature is on (active by default). This can be turned
on or off through ethtool, i.e.: on or off through ethtool, i.e.::
# ethtool -K fm1-mac9 rx-hashing off # ethtool -K fm1-mac9 rx-hashing off
# ethtool -k fm1-mac9 | grep hash # ethtool -k fm1-mac9 | grep hash
...@@ -246,6 +254,7 @@ The following statistics are exported for each interface through ethtool: ...@@ -246,6 +254,7 @@ The following statistics are exported for each interface through ethtool:
- Rx error count per CPU - Rx error count per CPU
- Rx error count per type - Rx error count per type
- congestion related statistics: - congestion related statistics:
- congestion status - congestion status
- time spent in congestion - time spent in congestion
- number of time the device entered congestion - number of time the device entered congestion
......
.. SPDX-License-Identifier: GPL-2.0
===========================
The Gianfar Ethernet Driver The Gianfar Ethernet Driver
===========================
Author: Andy Fleming <afleming@freescale.com> :Author: Andy Fleming <afleming@freescale.com>
Updated: 2005-07-28 :Updated: 2005-07-28
CHECKSUM OFFLOADING Checksum Offloading
===================
The eTSEC controller (first included in parts from late 2005 like The eTSEC controller (first included in parts from late 2005 like
the 8548) has the ability to perform TCP, UDP, and IP checksums the 8548) has the ability to perform TCP, UDP, and IP checksums
...@@ -15,13 +20,15 @@ packets. Use ethtool to enable or disable this feature for RX ...@@ -15,13 +20,15 @@ packets. Use ethtool to enable or disable this feature for RX
and TX. and TX.
VLAN VLAN
====
In order to use VLAN, please consult Linux documentation on In order to use VLAN, please consult Linux documentation on
configuring VLANs. The gianfar driver supports hardware insertion and configuring VLANs. The gianfar driver supports hardware insertion and
extraction of VLAN headers, but not filtering. Filtering will be extraction of VLAN headers, but not filtering. Filtering will be
done by the kernel. done by the kernel.
MULTICASTING Multicasting
============
The gianfar driver supports using the group hash table on the The gianfar driver supports using the group hash table on the
TSEC (and the extended hash table on the eTSEC) for multicast TSEC (and the extended hash table on the eTSEC) for multicast
...@@ -29,13 +36,15 @@ filtering. On the eTSEC, the exact-match MAC registers are used ...@@ -29,13 +36,15 @@ filtering. On the eTSEC, the exact-match MAC registers are used
before the hash tables. See Linux documentation on how to join before the hash tables. See Linux documentation on how to join
multicast groups. multicast groups.
PADDING Padding
=======
The gianfar driver supports padding received frames with 2 bytes The gianfar driver supports padding received frames with 2 bytes
to align the IP header to a 16-byte boundary, when supported by to align the IP header to a 16-byte boundary, when supported by
hardware. hardware.
ETHTOOL Ethtool
=======
The gianfar driver supports the use of ethtool for many The gianfar driver supports the use of ethtool for many
configuration options. You must run ethtool only on currently configuration options. You must run ethtool only on currently
......
...@@ -27,6 +27,30 @@ Contents: ...@@ -27,6 +27,30 @@ Contents:
netronome/nfp netronome/nfp
pensando/ionic pensando/ionic
stmicro/stmmac stmicro/stmmac
3com/3c509
3com/vortex
amazon/ena
aquantia/atlantic
chelsio/cxgb
cirrus/cs89x0
davicom/dm9000
dec/de4x5
dec/dmfe
dlink/dl2k
freescale/dpaa
freescale/gianfar
intel/ipw2100
intel/ipw2200
microsoft/netvsc
neterion/s2io
neterion/vxge
qualcomm/rmnet
sb1000
smsc/smc9
ti/cpsw_switchdev
ti/cpsw
ti/tlan
toshiba/spider_net
.. only:: subproject and html .. only:: subproject and html
......
.. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
Intel(R) PRO/Wireless 2100 Driver for Linux in support of: ===========================================
Intel(R) PRO/Wireless 2100 Driver for Linux
===========================================
Intel(R) PRO/Wireless 2100 Network Connection Support for:
Copyright (C) 2003-2006, Intel Corporation - Intel(R) PRO/Wireless 2100 Network Connection
Copyright |copy| 2003-2006, Intel Corporation
README.ipw2100 README.ipw2100
Version: git-1.1.5 :Version: git-1.1.5
Date : January 25, 2006 :Date: January 25, 2006
Index .. Index
-----------------------------------------------
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER 0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
1. Introduction 1. Introduction
2. Release git-1.1.5 Current Features 2. Release git-1.1.5 Current Features
3. Command Line Parameters 3. Command Line Parameters
4. Sysfs Helper Files 4. Sysfs Helper Files
5. Radio Kill Switch 5. Radio Kill Switch
6. Dynamic Firmware 6. Dynamic Firmware
7. Power Management 7. Power Management
8. Support 8. Support
9. License 9. License
0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER 0. IMPORTANT INFORMATION BEFORE USING THIS DRIVER
----------------------------------------------- =================================================
Important Notice FOR ALL USERS OR DISTRIBUTORS!!!! Important Notice FOR ALL USERS OR DISTRIBUTORS!!!!
...@@ -75,7 +81,7 @@ obtain a tested driver from Intel Customer Support at: ...@@ -75,7 +81,7 @@ obtain a tested driver from Intel Customer Support at:
http://www.intel.com/support/wireless/sb/CS-006408.htm http://www.intel.com/support/wireless/sb/CS-006408.htm
1. Introduction 1. Introduction
----------------------------------------------- ===============
This document provides a brief overview of the features supported by the This document provides a brief overview of the features supported by the
IPW2100 driver project. The main project website, where the latest IPW2100 driver project. The main project website, where the latest
...@@ -89,7 +95,8 @@ for the driver project. ...@@ -89,7 +95,8 @@ for the driver project.
2. Release git-1.1.5 Current Supported Features 2. Release git-1.1.5 Current Supported Features
----------------------------------------------- ===============================================
- Managed (BSS) and Ad-Hoc (IBSS) - Managed (BSS) and Ad-Hoc (IBSS)
- WEP (shared key and open) - WEP (shared key and open)
- Wireless Tools support - Wireless Tools support
...@@ -105,11 +112,11 @@ performed on a given feature. ...@@ -105,11 +112,11 @@ performed on a given feature.
3. Command Line Parameters 3. Command Line Parameters
----------------------------------------------- ==========================
If the driver is built as a module, the following optional parameters are used If the driver is built as a module, the following optional parameters are used
by entering them on the command line with the modprobe command using this by entering them on the command line with the modprobe command using this
syntax: syntax::
modprobe ipw2100 [<option>=<VAL1><,VAL2>...] modprobe ipw2100 [<option>=<VAL1><,VAL2>...]
...@@ -119,61 +126,76 @@ For example, to disable the radio on driver loading, enter: ...@@ -119,61 +126,76 @@ For example, to disable the radio on driver loading, enter:
The ipw2100 driver supports the following module parameters: The ipw2100 driver supports the following module parameters:
Name Value Example: ========= ============== ============ ==============================
debug 0x0-0xffffffff debug=1024 Name Value Example Meaning
mode 0,1,2 mode=1 /* AdHoc */ ========= ============== ============ ==============================
channel int channel=3 /* Only valid in AdHoc or Monitor */ debug 0x0-0xffffffff debug=1024 Debug level set to 1024
associate boolean associate=0 /* Do NOT auto associate */ mode 0,1,2 mode=1 AdHoc
disable boolean disable=1 /* Do not power the HW */ channel int channel=3 Only valid in AdHoc or Monitor
associate boolean associate=0 Do NOT auto associate
disable boolean disable=1 Do not power the HW
========= ============== ============ ==============================
4. Sysfs Helper Files 4. Sysfs Helper Files
--------------------------- =====================
-----------------------------------------------
There are several ways to control the behavior of the driver. Many of the There are several ways to control the behavior of the driver. Many of the
general capabilities are exposed through the Wireless Tools (iwconfig). There general capabilities are exposed through the Wireless Tools (iwconfig). There
are a few capabilities that are exposed through entries in the Linux Sysfs. are a few capabilities that are exposed through entries in the Linux Sysfs.
----- Driver Level ------ **Driver Level**
For the driver level files, look in /sys/bus/pci/drivers/ipw2100/ For the driver level files, look in /sys/bus/pci/drivers/ipw2100/
debug_level debug_level
This controls the same global as the 'debug' module parameter. For This controls the same global as the 'debug' module parameter. For
information on the various debugging levels available, run the 'dvals' information on the various debugging levels available, run the 'dvals'
script found in the driver source directory. script found in the driver source directory.
NOTE: 'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn .. note::
on.
----- Device Level ------ 'debug_level' is only enabled if CONFIG_IPW2100_DEBUG is turn on.
For the device level files look in
**Device Level**
For the device level files look in::
/sys/bus/pci/drivers/ipw2100/{PCI-ID}/ /sys/bus/pci/drivers/ipw2100/{PCI-ID}/
For example: For example::
/sys/bus/pci/drivers/ipw2100/0000:02:01.0 /sys/bus/pci/drivers/ipw2100/0000:02:01.0
For the device level files, see /sys/bus/pci/drivers/ipw2100: For the device level files, see /sys/bus/pci/drivers/ipw2100:
rf_kill rf_kill
read - read
0 = RF kill not enabled (radio on)
1 = SW based RF kill active (radio off) == =========================================
2 = HW based RF kill active (radio off) 0 RF kill not enabled (radio on)
3 = Both HW and SW RF kill active (radio off) 1 SW based RF kill active (radio off)
write - 2 HW based RF kill active (radio off)
0 = If SW based RF kill active, turn the radio back on 3 Both HW and SW RF kill active (radio off)
1 = If radio is on, activate SW based RF kill == =========================================
NOTE: If you enable the SW based RF kill and then toggle the HW write
== ==================================================
0 If SW based RF kill active, turn the radio back on
1 If radio is on, activate SW based RF kill
== ==================================================
.. note::
If you enable the SW based RF kill and then toggle the HW
based RF kill from ON -> OFF -> ON, the radio will NOT come back on based RF kill from ON -> OFF -> ON, the radio will NOT come back on
5. Radio Kill Switch 5. Radio Kill Switch
----------------------------------------------- ====================
Most laptops provide the ability for the user to physically disable the radio. Most laptops provide the ability for the user to physically disable the radio.
Some vendors have implemented this as a physical switch that requires no Some vendors have implemented this as a physical switch that requires no
software to turn the radio off and on. On other laptops, however, the switch software to turn the radio off and on. On other laptops, however, the switch
...@@ -186,7 +208,8 @@ on your system. ...@@ -186,7 +208,8 @@ on your system.
6. Dynamic Firmware 6. Dynamic Firmware
----------------------------------------------- ===================
As the firmware is licensed under a restricted use license, it can not be As the firmware is licensed under a restricted use license, it can not be
included within the kernel sources. To enable the IPW2100 you will need a included within the kernel sources. To enable the IPW2100 you will need a
firmware image to load into the wireless NIC's processors. firmware image to load into the wireless NIC's processors.
...@@ -197,16 +220,19 @@ See INSTALL for instructions on installing the firmware. ...@@ -197,16 +220,19 @@ See INSTALL for instructions on installing the firmware.
7. Power Management 7. Power Management
----------------------------------------------- ===================
The IPW2100 supports the configuration of the Power Save Protocol The IPW2100 supports the configuration of the Power Save Protocol
through a private wireless extension interface. The IPW2100 supports through a private wireless extension interface. The IPW2100 supports
the following different modes: the following different modes:
=== ===========================================================
off No power management. Radio is always on. off No power management. Radio is always on.
on Automatic power management on Automatic power management
1-5 Different levels of power management. The higher the 1-5 Different levels of power management. The higher the
number the greater the power savings, but with an impact to number the greater the power savings, but with an impact to
packet latencies. packet latencies.
=== ===========================================================
Power management works by powering down the radio after a certain Power management works by powering down the radio after a certain
interval of time has passed where no packets are passed through the interval of time has passed where no packets are passed through the
...@@ -220,12 +246,13 @@ any buffered packets. If you have an AP that does not correctly support ...@@ -220,12 +246,13 @@ any buffered packets. If you have an AP that does not correctly support
the PSP protocol you may experience packet loss or very poor performance the PSP protocol you may experience packet loss or very poor performance
while power management is enabled. If this is the case, you will need while power management is enabled. If this is the case, you will need
to try and find a firmware update for your AP, or disable power to try and find a firmware update for your AP, or disable power
management (via `iwconfig eth1 power off`) management (via ``iwconfig eth1 power off``)
To configure the power level on the IPW2100 you use a combination of To configure the power level on the IPW2100 you use a combination of
iwconfig and iwpriv. iwconfig is used to turn power management on, off, iwconfig and iwpriv. iwconfig is used to turn power management on, off,
and set it to auto. and set it to auto.
========================= ====================================
iwconfig eth1 power off Disables radio power down iwconfig eth1 power off Disables radio power down
iwconfig eth1 power on Enables radio power management to iwconfig eth1 power on Enables radio power management to
last set level (defaults to AUTO) last set level (defaults to AUTO)
...@@ -235,8 +262,9 @@ and set it to auto. ...@@ -235,8 +262,9 @@ and set it to auto.
iwpriv eth1 set_power 1-5 Set the power level as specified, iwpriv eth1 set_power 1-5 Set the power level as specified,
enabling power management if not enabling power management if not
previously enabled. previously enabled.
========================= ====================================
You can view the current power level setting via: You can view the current power level setting via::
iwpriv eth1 get_power iwpriv eth1 get_power
...@@ -250,7 +278,7 @@ level if `iwconfig eth1 power on` is invoked. ...@@ -250,7 +278,7 @@ level if `iwconfig eth1 power on` is invoked.
8. Support 8. Support
----------------------------------------------- ==========
For general development information and support, For general development information and support,
go to: go to:
...@@ -267,9 +295,9 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels ...@@ -267,9 +295,9 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
http://supportmail.intel.com http://supportmail.intel.com
9. License 9. License
----------------------------------------------- ==========
Copyright(c) 2003 - 2006 Intel Corporation. All rights reserved. Copyright |copy| 2003 - 2006 Intel Corporation. All rights reserved.
This program is free software; you can redistribute it and/or modify it This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License (version 2) as under the terms of the GNU General Public License (version 2) as
...@@ -288,6 +316,8 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels ...@@ -288,6 +316,8 @@ For installation support on the ipw2100 1.1.0 driver on Linux kernels
file called LICENSE. file called LICENSE.
License Contact Information: License Contact Information:
James P. Ketrenos <ipw2100-admin@linux.intel.com> James P. Ketrenos <ipw2100-admin@linux.intel.com>
Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497 Intel Corporation, 5200 N.E. Elam Young Parkway, Hillsboro, OR 97124-6497
.. SPDX-License-Identifier: GPL-2.0
======================
Hyper-V network driver Hyper-V network driver
====================== ======================
...@@ -10,15 +13,15 @@ Windows 10. ...@@ -10,15 +13,15 @@ Windows 10.
Features Features
======== ========
Checksum offload Checksum offload
---------------- ----------------
The netvsc driver supports checksum offload as long as the The netvsc driver supports checksum offload as long as the
Hyper-V host version does. Windows Server 2016 and Azure Hyper-V host version does. Windows Server 2016 and Azure
support checksum offload for TCP and UDP for both IPv4 and support checksum offload for TCP and UDP for both IPv4 and
IPv6. Windows Server 2012 only supports checksum offload for TCP. IPv6. Windows Server 2012 only supports checksum offload for TCP.
Receive Side Scaling Receive Side Scaling
-------------------- --------------------
Hyper-V supports receive side scaling. For TCP & UDP, packets can Hyper-V supports receive side scaling. For TCP & UDP, packets can
be distributed among available queues based on IP address and port be distributed among available queues based on IP address and port
number. number.
...@@ -32,30 +35,37 @@ Features ...@@ -32,30 +35,37 @@ Features
hashing. Using L3 hashing is recommended in this case. hashing. Using L3 hashing is recommended in this case.
For example, for UDP over IPv4 on eth0: For example, for UDP over IPv4 on eth0:
To include UDP port numbers in hashing:
To include UDP port numbers in hashing::
ethtool -N eth0 rx-flow-hash udp4 sdfn ethtool -N eth0 rx-flow-hash udp4 sdfn
To exclude UDP port numbers in hashing:
To exclude UDP port numbers in hashing::
ethtool -N eth0 rx-flow-hash udp4 sd ethtool -N eth0 rx-flow-hash udp4 sd
To show UDP hash level:
To show UDP hash level::
ethtool -n eth0 rx-flow-hash udp4 ethtool -n eth0 rx-flow-hash udp4
Generic Receive Offload, aka GRO Generic Receive Offload, aka GRO
-------------------------------- --------------------------------
The driver supports GRO and it is enabled by default. GRO coalesces The driver supports GRO and it is enabled by default. GRO coalesces
like packets and significantly reduces CPU usage under heavy Rx like packets and significantly reduces CPU usage under heavy Rx
load. load.
Large Receive Offload (LRO), or Receive Side Coalescing (RSC) Large Receive Offload (LRO), or Receive Side Coalescing (RSC)
------------------------------------------------------------- -------------------------------------------------------------
The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet The driver supports LRO/RSC in the vSwitch feature. It reduces the per packet
processing overhead by coalescing multiple TCP segments when possible. The processing overhead by coalescing multiple TCP segments when possible. The
feature is enabled by default on VMs running on Windows Server 2019 and feature is enabled by default on VMs running on Windows Server 2019 and
later. It may be changed by ethtool command: later. It may be changed by ethtool command::
ethtool -K eth0 lro on ethtool -K eth0 lro on
ethtool -K eth0 lro off ethtool -K eth0 lro off
SR-IOV support SR-IOV support
-------------- --------------
Hyper-V supports SR-IOV as a hardware acceleration option. If SR-IOV Hyper-V supports SR-IOV as a hardware acceleration option. If SR-IOV
is enabled in both the vSwitch and the guest configuration, then the is enabled in both the vSwitch and the guest configuration, then the
Virtual Function (VF) device is passed to the guest as a PCI Virtual Function (VF) device is passed to the guest as a PCI
...@@ -70,8 +80,8 @@ Features ...@@ -70,8 +80,8 @@ Features
flow direction is desired, these should be applied directly to the flow direction is desired, these should be applied directly to the
VF slave device. VF slave device.
Receive Buffer Receive Buffer
-------------- --------------
Packets are received into a receive area which is created when device Packets are received into a receive area which is created when device
is probed. The receive area is broken into MTU sized chunks and each may is probed. The receive area is broken into MTU sized chunks and each may
contain one or more packets. The number of receive sections may be changed contain one or more packets. The number of receive sections may be changed
...@@ -83,8 +93,8 @@ Features ...@@ -83,8 +93,8 @@ Features
will use slower method to handle very large packets or if the send buffer will use slower method to handle very large packets or if the send buffer
area is exhausted. area is exhausted.
XDP support XDP support
----------- -----------
XDP (eXpress Data Path) is a feature that runs eBPF bytecode at the early XDP (eXpress Data Path) is a feature that runs eBPF bytecode at the early
stage when packets arrive at a NIC card. The goal is to increase performance stage when packets arrive at a NIC card. The goal is to increase performance
for packet processing, reducing the overhead of SKB allocation and other for packet processing, reducing the overhead of SKB allocation and other
...@@ -99,7 +109,8 @@ Features ...@@ -99,7 +109,8 @@ Features
overwritten by setting of synthetic NIC. overwritten by setting of synthetic NIC.
XDP program cannot run with LRO (RSC) enabled, so you need to disable LRO XDP program cannot run with LRO (RSC) enabled, so you need to disable LRO
before running XDP: before running XDP::
ethtool -K eth0 lro off ethtool -K eth0 lro off
XDP_REDIRECT action is not yet supported. XDP_REDIRECT action is not yet supported.
.. SPDX-License-Identifier: GPL-2.0
=========================================================
Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver
=========================================================
Release notes for Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver. Release notes for Neterion's (Formerly S2io) Xframe I/II PCI-X 10GbE driver.
Contents .. Contents
======= - 1. Introduction
- 1. Introduction - 2. Identifying the adapter/interface
- 2. Identifying the adapter/interface - 3. Features supported
- 3. Features supported - 4. Command line parameters
- 4. Command line parameters - 5. Performance suggestions
- 5. Performance suggestions - 6. Available Downloads
- 6. Available Downloads
1. Introduction: 1. Introduction
===============
This Linux driver supports Neterion's Xframe I PCI-X 1.0 and This Linux driver supports Neterion's Xframe I PCI-X 1.0 and
Xframe II PCI-X 2.0 adapters. It supports several features Xframe II PCI-X 2.0 adapters. It supports several features
such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on. such as jumbo frames, MSI/MSI-X, checksum offloads, TSO, UFO and so on.
See below for complete list of features. See below for complete list of features.
All features are supported for both IPv4 and IPv6. All features are supported for both IPv4 and IPv6.
2. Identifying the adapter/interface: 2. Identifying the adapter/interface
====================================
a. Insert the adapter(s) in your system. a. Insert the adapter(s) in your system.
b. Build and load driver b. Build and load driver::
# insmod s2io.ko
c. View log messages # insmod s2io.ko
# dmesg | tail -40
You will see messages similar to: c. View log messages::
eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA
eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA # dmesg | tail -40
eth4: Device is on 64 bit 133MHz PCIX(M1) bus
You will see messages similar to::
eth3: Neterion Xframe I 10GbE adapter (rev 3), Version 2.0.9.1, Intr type INTA
eth4: Neterion Xframe II 10GbE adapter (rev 2), Version 2.0.9.1, Intr type INTA
eth4: Device is on 64 bit 133MHz PCIX(M1) bus
The above messages identify the adapter type(Xframe I/II), adapter revision, The above messages identify the adapter type(Xframe I/II), adapter revision,
driver version, interface name(eth3, eth4), Interrupt type(INTA, MSI, MSI-X). driver version, interface name(eth3, eth4), Interrupt type(INTA, MSI, MSI-X).
...@@ -36,106 +50,147 @@ as well. ...@@ -36,106 +50,147 @@ as well.
To associate an interface with a physical adapter use "ethtool -p <ethX>". To associate an interface with a physical adapter use "ethtool -p <ethX>".
The corresponding adapter's LED will blink multiple times. The corresponding adapter's LED will blink multiple times.
3. Features supported: 3. Features supported
=====================
a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes, a. Jumbo frames. Xframe I/II supports MTU up to 9600 bytes,
modifiable using ip command. modifiable using ip command.
b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit b. Offloads. Supports checksum offload(TCP/UDP/IP) on transmit
and receive, TSO. and receive, TSO.
c. Multi-buffer receive mode. Scattering of packet across multiple c. Multi-buffer receive mode. Scattering of packet across multiple
buffers. Currently driver supports 2-buffer mode which yields buffers. Currently driver supports 2-buffer mode which yields
significant performance improvement on certain platforms(SGI Altix, significant performance improvement on certain platforms(SGI Altix,
IBM xSeries). IBM xSeries).
d. MSI/MSI-X. Can be enabled on platforms which support this feature d. MSI/MSI-X. Can be enabled on platforms which support this feature
(IA64, Xeon) resulting in noticeable performance improvement(up to 7% (IA64, Xeon) resulting in noticeable performance improvement(up to 7%
on certain platforms). on certain platforms).
e. Statistics. Comprehensive MAC-level and software statistics displayed e. Statistics. Comprehensive MAC-level and software statistics displayed
using "ethtool -S" option. using "ethtool -S" option.
f. Multi-FIFO/Ring. Supports up to 8 transmit queues and receive rings, f. Multi-FIFO/Ring. Supports up to 8 transmit queues and receive rings,
with multiple steering options. with multiple steering options.
4. Command line parameters 4. Command line parameters
==========================
a. tx_fifo_num a. tx_fifo_num
Number of transmit queues Number of transmit queues
Valid range: 1-8 Valid range: 1-8
Default: 1 Default: 1
b. rx_ring_num b. rx_ring_num
Number of receive rings Number of receive rings
Valid range: 1-8 Valid range: 1-8
Default: 1 Default: 1
c. tx_fifo_len c. tx_fifo_len
Size of each transmit queue Size of each transmit queue
Valid range: Total length of all queues should not exceed 8192 Valid range: Total length of all queues should not exceed 8192
Default: 4096 Default: 4096
d. rx_ring_sz d. rx_ring_sz
Size of each receive ring(in 4K blocks) Size of each receive ring(in 4K blocks)
Valid range: Limited by memory on system Valid range: Limited by memory on system
Default: 30 Default: 30
e. intr_type e. intr_type
Specifies interrupt type. Possible values 0(INTA), 2(MSI-X) Specifies interrupt type. Possible values 0(INTA), 2(MSI-X)
Valid values: 0, 2 Valid values: 0, 2
Default: 2 Default: 2
5. Performance suggestions 5. Performance suggestions
==========================
General: General:
a. Set MTU to maximum(9000 for switch setup, 9600 in back-to-back configuration) a. Set MTU to maximum(9000 for switch setup, 9600 in back-to-back configuration)
b. Set TCP windows size to optimal value. b. Set TCP windows size to optimal value.
For instance, for MTU=1500 a value of 210K has been observed to result in For instance, for MTU=1500 a value of 210K has been observed to result in
good performance. good performance::
# sysctl -w net.ipv4.tcp_rmem="210000 210000 210000"
# sysctl -w net.ipv4.tcp_wmem="210000 210000 210000" # sysctl -w net.ipv4.tcp_rmem="210000 210000 210000"
For MTU=9000, TCP window size of 10 MB is recommended. # sysctl -w net.ipv4.tcp_wmem="210000 210000 210000"
# sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"
# sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000" For MTU=9000, TCP window size of 10 MB is recommended::
# sysctl -w net.ipv4.tcp_rmem="10000000 10000000 10000000"
# sysctl -w net.ipv4.tcp_wmem="10000000 10000000 10000000"
Transmit performance: Transmit performance:
a. By default, the driver respects BIOS settings for PCI bus parameters. a. By default, the driver respects BIOS settings for PCI bus parameters.
However, you may want to experiment with PCI bus parameters However, you may want to experiment with PCI bus parameters
max-split-transactions(MOST) and MMRBC (use setpci command). max-split-transactions(MOST) and MMRBC (use setpci command).
A MOST value of 2 has been found optimal for Opterons and 3 for Itanium.
It could be different for your hardware. A MOST value of 2 has been found optimal for Opterons and 3 for Itanium.
Set MMRBC to 4K**.
It could be different for your hardware.
Set MMRBC to 4K**.
For example you can set
For opteron::
#setpci -d 17d5:* 62=1d
For Itanium::
For example you can set #setpci -d 17d5:* 62=3d
For opteron
#setpci -d 17d5:* 62=1d
For Itanium
#setpci -d 17d5:* 62=3d
For detailed description of the PCI registers, please see Xframe User Guide. For detailed description of the PCI registers, please see Xframe User Guide.
b. Ensure Transmit Checksum offload is enabled. Use ethtool to set/verify this b. Ensure Transmit Checksum offload is enabled. Use ethtool to set/verify this
parameter. parameter.
c. Turn on TSO(using "ethtool -K")
# ethtool -K <ethX> tso on c. Turn on TSO(using "ethtool -K")::
# ethtool -K <ethX> tso on
Receive performance: Receive performance:
a. By default, the driver respects BIOS settings for PCI bus parameters. a. By default, the driver respects BIOS settings for PCI bus parameters.
However, you may want to set PCI latency timer to 248. However, you may want to set PCI latency timer to 248::
#setpci -d 17d5:* LATENCY_TIMER=f8
For detailed description of the PCI registers, please see Xframe User Guide. #setpci -d 17d5:* LATENCY_TIMER=f8
For detailed description of the PCI registers, please see Xframe User Guide.
b. Use 2-buffer mode. This results in large performance boost on b. Use 2-buffer mode. This results in large performance boost on
certain platforms(eg. SGI Altix, IBM xSeries). certain platforms(eg. SGI Altix, IBM xSeries).
c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to c. Ensure Receive Checksum offload is enabled. Use "ethtool -K ethX" command to
set/verify this option. set/verify this option.
d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network d. Enable NAPI feature(in kernel configuration Device Drivers ---> Network
device support ---> Ethernet (10000 Mbit) ---> S2IO 10Gbe Xframe NIC) to device support ---> Ethernet (10000 Mbit) ---> S2IO 10Gbe Xframe NIC) to
bring down CPU utilization. bring down CPU utilization.
.. note::
For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are
recommended as safe parameters.
** For AMD opteron platforms with 8131 chipset, MMRBC=1 and MOST=1 are
recommended as safe parameters.
For more information, please review the AMD8131 errata at For more information, please review the AMD8131 errata at
http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/ http://vip.amd.com/us-en/assets/content_type/white_papers_and_tech_docs/
26310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf 26310_AMD-8131_HyperTransport_PCI-X_Tunnel_Revision_Guide_rev_3_18.pdf
6. Support 6. Support
==========
For further support please contact either your 10GbE Xframe NIC vendor (IBM, For further support please contact either your 10GbE Xframe NIC vendor (IBM,
HP, SGI etc.) HP, SGI etc.)
.. SPDX-License-Identifier: GPL-2.0
==============================================================================
Neterion's (Formerly S2io) X3100 Series 10GbE PCIe Server Adapter Linux driver Neterion's (Formerly S2io) X3100 Series 10GbE PCIe Server Adapter Linux driver
============================================================================== ==============================================================================
Contents .. Contents
--------
1) Introduction
2) Features supported
3) Configurable driver parameters
4) Troubleshooting
1) Introduction 1. Introduction
2) Features supported ===============
3) Configurable driver parameters
4) Troubleshooting
1) Introduction:
----------------
This Linux driver supports all Neterion's X3100 series 10 GbE PCIe I/O This Linux driver supports all Neterion's X3100 series 10 GbE PCIe I/O
Virtualized Server adapters. Virtualized Server adapters.
The X3100 series supports four modes of operation, configurable via The X3100 series supports four modes of operation, configurable via
firmware - firmware:
Single function mode
Multi function mode - Single function mode
SRIOV mode - Multi function mode
MRIOV mode - SRIOV mode
- MRIOV mode
The functions share a 10GbE link and the pci-e bus, but hardly anything else The functions share a 10GbE link and the pci-e bus, but hardly anything else
inside the ASIC. Features like independent hw reset, statistics, bandwidth/ inside the ASIC. Features like independent hw reset, statistics, bandwidth/
priority allocation and guarantees, GRO, TSO, interrupt moderation etc are priority allocation and guarantees, GRO, TSO, interrupt moderation etc are
...@@ -26,41 +32,49 @@ supported independently on each function. ...@@ -26,41 +32,49 @@ supported independently on each function.
(See below for a complete list of features supported for both IPv4 and IPv6) (See below for a complete list of features supported for both IPv4 and IPv6)
2) Features supported: 2. Features supported
---------------------- =====================
i) Single function mode (up to 17 queues) i) Single function mode (up to 17 queues)
ii) Multi function mode (up to 17 functions) ii) Multi function mode (up to 17 functions)
iii) PCI-SIG's I/O Virtualization iii) PCI-SIG's I/O Virtualization
- Single Root mode: v1.0 (up to 17 functions) - Single Root mode: v1.0 (up to 17 functions)
- Multi-Root mode: v1.0 (up to 17 functions) - Multi-Root mode: v1.0 (up to 17 functions)
iv) Jumbo frames iv) Jumbo frames
X3100 Series supports MTU up to 9600 bytes, modifiable using X3100 Series supports MTU up to 9600 bytes, modifiable using
ip command. ip command.
v) Offloads supported: (Enabled by default) v) Offloads supported: (Enabled by default)
Checksum offload (TCP/UDP/IP) on transmit and receive paths
TCP Segmentation Offload (TSO) on transmit path - Checksum offload (TCP/UDP/IP) on transmit and receive paths
Generic Receive Offload (GRO) on receive path - TCP Segmentation Offload (TSO) on transmit path
- Generic Receive Offload (GRO) on receive path
vi) MSI-X: (Enabled by default) vi) MSI-X: (Enabled by default)
Resulting in noticeable performance improvement (up to 7% on certain Resulting in noticeable performance improvement (up to 7% on certain
platforms). platforms).
vii) NAPI: (Enabled by default) vii) NAPI: (Enabled by default)
For better Rx interrupt moderation. For better Rx interrupt moderation.
viii)RTH (Receive Traffic Hash): (Enabled by default) viii)RTH (Receive Traffic Hash): (Enabled by default)
Receive side steering for better scaling. Receive side steering for better scaling.
ix) Statistics ix) Statistics
Comprehensive MAC-level and software statistics displayed using Comprehensive MAC-level and software statistics displayed using
"ethtool -S" option. "ethtool -S" option.
x) Multiple hardware queues: (Enabled by default) x) Multiple hardware queues: (Enabled by default)
Up to 17 hardware based transmit and receive data channels, with Up to 17 hardware based transmit and receive data channels, with
multiple steering options (transmit multiqueue enabled by default). multiple steering options (transmit multiqueue enabled by default).
...@@ -69,25 +83,33 @@ x) Multiple hardware queues: (Enabled by default) ...@@ -69,25 +83,33 @@ x) Multiple hardware queues: (Enabled by default)
i) max_config_dev i) max_config_dev
Specifies maximum device functions to be enabled. Specifies maximum device functions to be enabled.
Valid range: 1-8 Valid range: 1-8
ii) max_config_port ii) max_config_port
Specifies number of ports to be enabled. Specifies number of ports to be enabled.
Valid range: 1,2 Valid range: 1,2
Default: 1 Default: 1
iii)max_config_vpath iii) max_config_vpath
Specifies maximum VPATH(s) configured for each device function. Specifies maximum VPATH(s) configured for each device function.
Valid range: 1-17 Valid range: 1-17
iv) vlan_tag_strip iv) vlan_tag_strip
Enables/disables vlan tag stripping from all received tagged frames that Enables/disables vlan tag stripping from all received tagged frames that
are not replicated at the internal L2 switch. are not replicated at the internal L2 switch.
Valid range: 0,1 (disabled, enabled respectively) Valid range: 0,1 (disabled, enabled respectively)
Default: 1 Default: 1
v) addr_learn_en v) addr_learn_en
Enable learning the mac address of the guest OS interface in Enable learning the mac address of the guest OS interface in
virtualization environment. virtualization environment.
Valid range: 0,1 (disabled, enabled respectively) Valid range: 0,1 (disabled, enabled respectively)
Default: 0 Default: 0
.. SPDX-License-Identifier: GPL-2.0
============
Rmnet Driver
============
1. Introduction 1. Introduction
===============
rmnet driver is used for supporting the Multiplexing and aggregation rmnet driver is used for supporting the Multiplexing and aggregation
Protocol (MAP). This protocol is used by all recent chipsets using Qualcomm Protocol (MAP). This protocol is used by all recent chipsets using Qualcomm
...@@ -18,17 +25,18 @@ sending aggregated bunch of MAP frames. rmnet driver will de-aggregate ...@@ -18,17 +25,18 @@ sending aggregated bunch of MAP frames. rmnet driver will de-aggregate
these MAP frames and send them to appropriate PDN's. these MAP frames and send them to appropriate PDN's.
2. Packet format 2. Packet format
================
a. MAP packet (data / control) a. MAP packet (data / control)
MAP header has the same endianness of the IP packet. MAP header has the same endianness of the IP packet.
Packet format - Packet format::
Bit 0 1 2-7 8 - 15 16 - 31 Bit 0 1 2-7 8 - 15 16 - 31
Function Command / Data Reserved Pad Multiplexer ID Payload length Function Command / Data Reserved Pad Multiplexer ID Payload length
Bit 32 - x Bit 32 - x
Function Raw Bytes Function Raw Bytes
Command (1)/ Data (0) bit value is to indicate if the packet is a MAP command Command (1)/ Data (0) bit value is to indicate if the packet is a MAP command
or data packet. Control packet is used for transport level flow control. Data or data packet. Control packet is used for transport level flow control. Data
...@@ -44,24 +52,27 @@ Multiplexer ID is to indicate the PDN on which data has to be sent. ...@@ -44,24 +52,27 @@ Multiplexer ID is to indicate the PDN on which data has to be sent.
Payload length includes the padding length but does not include MAP header Payload length includes the padding length but does not include MAP header
length. length.
b. MAP packet (command specific) b. MAP packet (command specific)::
Bit 0 1 2-7 8 - 15 16 - 31 Bit 0 1 2-7 8 - 15 16 - 31
Function Command Reserved Pad Multiplexer ID Payload length Function Command Reserved Pad Multiplexer ID Payload length
Bit 32 - 39 40 - 45 46 - 47 48 - 63 Bit 32 - 39 40 - 45 46 - 47 48 - 63
Function Command name Reserved Command Type Reserved Function Command name Reserved Command Type Reserved
Bit 64 - 95 Bit 64 - 95
Function Transaction ID Function Transaction ID
Bit 96 - 127 Bit 96 - 127
Function Command data Function Command data
Command 1 indicates disabling flow while 2 is enabling flow Command 1 indicates disabling flow while 2 is enabling flow
Command types - Command types
= ==========================================
0 for MAP command request 0 for MAP command request
1 is to acknowledge the receipt of a command 1 is to acknowledge the receipt of a command
2 is for unsupported commands 2 is for unsupported commands
3 is for error during processing of commands 3 is for error during processing of commands
= ==========================================
c. Aggregation c. Aggregation
...@@ -71,9 +82,11 @@ packets and either ACK the MAP command or deliver the IP packet to the ...@@ -71,9 +82,11 @@ packets and either ACK the MAP command or deliver the IP packet to the
network stack as needed network stack as needed
MAP header|IP Packet|Optional padding|MAP header|IP Packet|Optional padding.... MAP header|IP Packet|Optional padding|MAP header|IP Packet|Optional padding....
MAP header|IP Packet|Optional padding|MAP header|Command Packet|Optional pad... MAP header|IP Packet|Optional padding|MAP header|Command Packet|Optional pad...
3. Userspace configuration 3. Userspace configuration
==========================
rmnet userspace configuration is done through netlink library librmnetctl rmnet userspace configuration is done through netlink library librmnetctl
and command line utility rmnetcli. Utility is hosted in codeaurora forum git. and command line utility rmnetcli. Utility is hosted in codeaurora forum git.
......
.. SPDX-License-Identifier: GPL-2.0
===================
SB100 device driver
===================
sb1000 is a module network device driver for the General Instrument (also known
as NextLevel) SURFboard1000 internal cable modem board. This is an ISA card
which is used by a number of cable TV companies to provide cable modem access.
It's a one-way downstream-only cable modem, meaning that your upstream net link
is provided by your regular phone modem.
This driver was written by Franco Venturi <fventuri@mediaone.net>. He deserves
a great deal of thanks for this wonderful piece of code!
Needed tools
============
Support for this device is now a part of the standard Linux kernel. The
driver source code file is drivers/net/sb1000.c. In addition to this
you will need:
1. The "cmconfig" program. This is a utility which supplements "ifconfig"
to configure the cable modem and network interface (usually called "cm0");
2. Several PPP scripts which live in /etc/ppp to make connecting via your
cable modem easy.
These utilities can be obtained from:
http://www.jacksonville.net/~fventuri/
in Franco's original source code distribution .tar.gz file. Support for
the sb1000 driver can be found at:
- http://web.archive.org/web/%2E/http://home.adelphia.net/~siglercm/sb1000.html
- http://web.archive.org/web/%2E/http://linuxpower.cx/~cable/
along with these utilities.
3. The standard isapnp tools. These are necessary to configure your SB1000
card at boot time (or afterwards by hand) since it's a PnP card.
If you don't have these installed as a standard part of your Linux
distribution, you can find them at:
http://www.roestock.demon.co.uk/isapnptools/
or check your Linux distribution binary CD or their web site. For help with
isapnp, pnpdump, or /etc/isapnp.conf, go to:
http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html
Using the driver
================
To make the SB1000 card work, follow these steps:
1. Run ``make config``, or ``make menuconfig``, or ``make xconfig``, whichever
you prefer, in the top kernel tree directory to set up your kernel
configuration. Make sure to say "Y" to "Prompt for development drivers"
and to say "M" to the sb1000 driver. Also say "Y" or "M" to all the standard
networking questions to get TCP/IP and PPP networking support.
2. **BEFORE** you build the kernel, edit drivers/net/sb1000.c. Make sure
to redefine the value of READ_DATA_PORT to match the I/O address used
by isapnp to access your PnP cards. This is the value of READPORT in
/etc/isapnp.conf or given by the output of pnpdump.
3. Build and install the kernel and modules as usual.
4. Boot your new kernel following the usual procedures.
5. Set up to configure the new SB1000 PnP card by capturing the output
of "pnpdump" to a file and editing this file to set the correct I/O ports,
IRQ, and DMA settings for all your PnP cards. Make sure none of the settings
conflict with one another. Then test this configuration by running the
"isapnp" command with your new config file as the input. Check for
errors and fix as necessary. (As an aside, I use I/O ports 0x110 and
0x310 and IRQ 11 for my SB1000 card and these work well for me. YMMV.)
Then save the finished config file as /etc/isapnp.conf for proper
configuration on subsequent reboots.
6. Download the original file sb1000-1.1.2.tar.gz from Franco's site or one of
the others referenced above. As root, unpack it into a temporary directory
and do a ``make cmconfig`` and then ``install -c cmconfig /usr/local/sbin``.
Don't do ``make install`` because it expects to find all the utilities built
and ready for installation, not just cmconfig.
7. As root, copy all the files under the ppp/ subdirectory in Franco's
tar file into /etc/ppp, being careful not to overwrite any files that are
already in there. Then modify ppp@gi-on to set the correct login name,
phone number, and frequency for the cable modem. Also edit pap-secrets
to specify your login name and password and any site-specific information
you need.
8. Be sure to modify /etc/ppp/firewall to use ipchains instead of
the older ipfwadm commands from the 2.0.x kernels. There's a neat utility to
convert ipfwadm commands to ipchains commands:
http://users.dhp.com/~whisper/ipfwadm2ipchains/
You may also wish to modify the firewall script to implement a different
firewalling scheme.
9. Start the PPP connection via the script /etc/ppp/ppp@gi-on. You must be
root to do this. It's better to use a utility like sudo to execute
frequently used commands like this with root permissions if possible. If you
connect successfully the cable modem interface will come up and you'll see a
driver message like this at the console::
cm0: sb1000 at (0x110,0x310), csn 1, S/N 0x2a0d16d8, IRQ 11.
sb1000.c:v1.1.2 6/01/98 (fventuri@mediaone.net)
The "ifconfig" command should show two new interfaces, ppp0 and cm0.
The command "cmconfig cm0" will give you information about the cable modem
interface.
10. Try pinging a site via ``ping -c 5 www.yahoo.com``, for example. You should
see packets received.
11. If you can't get site names (like www.yahoo.com) to resolve into
IP addresses (like 204.71.200.67), be sure your /etc/resolv.conf file
has no syntax errors and has the right nameserver IP addresses in it.
If this doesn't help, try something like ``ping -c 5 204.71.200.67`` to
see if the networking is running but the DNS resolution is where the
problem lies.
12. If you still have problems, go to the support web sites mentioned above
and read the information and documentation there.
Common problems
===============
1. Packets go out on the ppp0 interface but don't come back on the cm0
interface. It looks like I'm connected but I can't even ping any
numerical IP addresses. (This happens predominantly on Debian systems due
to a default boot-time configuration script.)
Solution
As root ``echo 0 > /proc/sys/net/ipv4/conf/cm0/rp_filter`` so it
can share the same IP address as the ppp0 interface. Note that this
command should probably be added to the /etc/ppp/cablemodem script
*right*between* the "/sbin/ifconfig" and "/sbin/cmconfig" commands.
You may need to do this to /proc/sys/net/ipv4/conf/ppp0/rp_filter as well.
If you do this to /proc/sys/net/ipv4/conf/default/rp_filter on each reboot
(in rc.local or some such) then any interfaces can share the same IP
addresses.
2. I get "unresolved symbol" error messages on executing ``insmod sb1000.o``.
Solution
You probably have a non-matching kernel source tree and
/usr/include/linux and /usr/include/asm header files. Make sure you
install the correct versions of the header files in these two directories.
Then rebuild and reinstall the kernel.
3. When isapnp runs it reports an error, and my SB1000 card isn't working.
Solution
There's a problem with later versions of isapnp using the "(CHECK)"
option in the lines that allocate the two I/O addresses for the SB1000 card.
This first popped up on RH 6.0. Delete "(CHECK)" for the SB1000 I/O addresses.
Make sure they don't conflict with any other pieces of hardware first! Then
rerun isapnp and go from there.
4. I can't execute the /etc/ppp/ppp@gi-on file.
Solution
As root do ``chmod ug+x /etc/ppp/ppp@gi-on``.
5. The firewall script isn't working (with 2.2.x and higher kernels).
Solution
Use the ipfwadm2ipchains script referenced above to convert the
/etc/ppp/firewall script from the deprecated ipfwadm commands to ipchains.
6. I'm getting *tons* of firewall deny messages in the /var/kern.log,
/var/messages, and/or /var/syslog files, and they're filling up my /var
partition!!!
Solution
First, tell your ISP that you're receiving DoS (Denial of Service)
and/or portscanning (UDP connection attempts) attacks! Look over the deny
messages to figure out what the attack is and where it's coming from. Next,
edit /etc/ppp/cablemodem and make sure the ",nobroadcast" option is turned on
to the "cmconfig" command (uncomment that line). If you're not receiving these
denied packets on your broadcast interface (IP address xxx.yyy.zzz.255
typically), then someone is attacking your machine in particular. Be careful
out there....
7. Everything seems to work fine but my computer locks up after a while
(and typically during a lengthy download through the cable modem)!
Solution
You may need to add a short delay in the driver to 'slow down' the
SURFboard because your PC might not be able to keep up with the transfer rate
of the SB1000. To do this, it's probably best to download Franco's
sb1000-1.1.2.tar.gz archive and build and install sb1000.o manually. You'll
want to edit the 'Makefile' and look for the 'SB1000_DELAY'
define. Uncomment those 'CFLAGS' lines (and comment out the default ones)
and try setting the delay to something like 60 microseconds with:
'-DSB1000_DELAY=60'. Then do ``make`` and as root ``make install`` and try
it out. If it still doesn't work or you like playing with the driver, you may
try other numbers. Remember though that the higher the delay, the slower the
driver (which slows down the rest of the PC too when it is actively
used). Thanks to Ed Daiga for this tip!
Credits
=======
This README came from Franco Venturi's original README file which is
still supplied with his driver .tar.gz archive. I and all other sb1000 users
owe Franco a tremendous "Thank you!" Additional thanks goes to Carl Patten
and Ralph Bonnell who are now managing the Linux SB1000 web site, and to
the SB1000 users who reported and helped debug the common problems listed
above.
Clemmitt Sigler
csigler@vt.edu
sb1000 is a module network device driver for the General Instrument (also known
as NextLevel) SURFboard1000 internal cable modem board. This is an ISA card
which is used by a number of cable TV companies to provide cable modem access.
It's a one-way downstream-only cable modem, meaning that your upstream net link
is provided by your regular phone modem.
This driver was written by Franco Venturi <fventuri@mediaone.net>. He deserves
a great deal of thanks for this wonderful piece of code!
-----------------------------------------------------------------------------
Support for this device is now a part of the standard Linux kernel. The
driver source code file is drivers/net/sb1000.c. In addition to this
you will need:
1.) The "cmconfig" program. This is a utility which supplements "ifconfig"
to configure the cable modem and network interface (usually called "cm0");
and
2.) Several PPP scripts which live in /etc/ppp to make connecting via your
cable modem easy.
These utilities can be obtained from:
http://www.jacksonville.net/~fventuri/
in Franco's original source code distribution .tar.gz file. Support for
the sb1000 driver can be found at:
http://web.archive.org/web/*/http://home.adelphia.net/~siglercm/sb1000.html
http://web.archive.org/web/*/http://linuxpower.cx/~cable/
along with these utilities.
3.) The standard isapnp tools. These are necessary to configure your SB1000
card at boot time (or afterwards by hand) since it's a PnP card.
If you don't have these installed as a standard part of your Linux
distribution, you can find them at:
http://www.roestock.demon.co.uk/isapnptools/
or check your Linux distribution binary CD or their web site. For help with
isapnp, pnpdump, or /etc/isapnp.conf, go to:
http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.html
-----------------------------------------------------------------------------
To make the SB1000 card work, follow these steps:
1.) Run `make config', or `make menuconfig', or `make xconfig', whichever
you prefer, in the top kernel tree directory to set up your kernel
configuration. Make sure to say "Y" to "Prompt for development drivers"
and to say "M" to the sb1000 driver. Also say "Y" or "M" to all the standard
networking questions to get TCP/IP and PPP networking support.
2.) *BEFORE* you build the kernel, edit drivers/net/sb1000.c. Make sure
to redefine the value of READ_DATA_PORT to match the I/O address used
by isapnp to access your PnP cards. This is the value of READPORT in
/etc/isapnp.conf or given by the output of pnpdump.
3.) Build and install the kernel and modules as usual.
4.) Boot your new kernel following the usual procedures.
5.) Set up to configure the new SB1000 PnP card by capturing the output
of "pnpdump" to a file and editing this file to set the correct I/O ports,
IRQ, and DMA settings for all your PnP cards. Make sure none of the settings
conflict with one another. Then test this configuration by running the
"isapnp" command with your new config file as the input. Check for
errors and fix as necessary. (As an aside, I use I/O ports 0x110 and
0x310 and IRQ 11 for my SB1000 card and these work well for me. YMMV.)
Then save the finished config file as /etc/isapnp.conf for proper configuration
on subsequent reboots.
6.) Download the original file sb1000-1.1.2.tar.gz from Franco's site or one of
the others referenced above. As root, unpack it into a temporary directory and
do a `make cmconfig' and then `install -c cmconfig /usr/local/sbin'. Don't do
`make install' because it expects to find all the utilities built and ready for
installation, not just cmconfig.
7.) As root, copy all the files under the ppp/ subdirectory in Franco's
tar file into /etc/ppp, being careful not to overwrite any files that are
already in there. Then modify ppp@gi-on to set the correct login name,
phone number, and frequency for the cable modem. Also edit pap-secrets
to specify your login name and password and any site-specific information
you need.
8.) Be sure to modify /etc/ppp/firewall to use ipchains instead of
the older ipfwadm commands from the 2.0.x kernels. There's a neat utility to
convert ipfwadm commands to ipchains commands:
http://users.dhp.com/~whisper/ipfwadm2ipchains/
You may also wish to modify the firewall script to implement a different
firewalling scheme.
9.) Start the PPP connection via the script /etc/ppp/ppp@gi-on. You must be
root to do this. It's better to use a utility like sudo to execute
frequently used commands like this with root permissions if possible. If you
connect successfully the cable modem interface will come up and you'll see a
driver message like this at the console:
cm0: sb1000 at (0x110,0x310), csn 1, S/N 0x2a0d16d8, IRQ 11.
sb1000.c:v1.1.2 6/01/98 (fventuri@mediaone.net)
The "ifconfig" command should show two new interfaces, ppp0 and cm0.
The command "cmconfig cm0" will give you information about the cable modem
interface.
10.) Try pinging a site via `ping -c 5 www.yahoo.com', for example. You should
see packets received.
11.) If you can't get site names (like www.yahoo.com) to resolve into
IP addresses (like 204.71.200.67), be sure your /etc/resolv.conf file
has no syntax errors and has the right nameserver IP addresses in it.
If this doesn't help, try something like `ping -c 5 204.71.200.67' to
see if the networking is running but the DNS resolution is where the
problem lies.
12.) If you still have problems, go to the support web sites mentioned above
and read the information and documentation there.
-----------------------------------------------------------------------------
Common problems:
1.) Packets go out on the ppp0 interface but don't come back on the cm0
interface. It looks like I'm connected but I can't even ping any
numerical IP addresses. (This happens predominantly on Debian systems due
to a default boot-time configuration script.)
Solution -- As root `echo 0 > /proc/sys/net/ipv4/conf/cm0/rp_filter' so it
can share the same IP address as the ppp0 interface. Note that this
command should probably be added to the /etc/ppp/cablemodem script
*right*between* the "/sbin/ifconfig" and "/sbin/cmconfig" commands.
You may need to do this to /proc/sys/net/ipv4/conf/ppp0/rp_filter as well.
If you do this to /proc/sys/net/ipv4/conf/default/rp_filter on each reboot
(in rc.local or some such) then any interfaces can share the same IP
addresses.
2.) I get "unresolved symbol" error messages on executing `insmod sb1000.o'.
Solution -- You probably have a non-matching kernel source tree and
/usr/include/linux and /usr/include/asm header files. Make sure you
install the correct versions of the header files in these two directories.
Then rebuild and reinstall the kernel.
3.) When isapnp runs it reports an error, and my SB1000 card isn't working.
Solution -- There's a problem with later versions of isapnp using the "(CHECK)"
option in the lines that allocate the two I/O addresses for the SB1000 card.
This first popped up on RH 6.0. Delete "(CHECK)" for the SB1000 I/O addresses.
Make sure they don't conflict with any other pieces of hardware first! Then
rerun isapnp and go from there.
4.) I can't execute the /etc/ppp/ppp@gi-on file.
Solution -- As root do `chmod ug+x /etc/ppp/ppp@gi-on'.
5.) The firewall script isn't working (with 2.2.x and higher kernels).
Solution -- Use the ipfwadm2ipchains script referenced above to convert the
/etc/ppp/firewall script from the deprecated ipfwadm commands to ipchains.
6.) I'm getting *tons* of firewall deny messages in the /var/kern.log,
/var/messages, and/or /var/syslog files, and they're filling up my /var
partition!!!
Solution -- First, tell your ISP that you're receiving DoS (Denial of Service)
and/or portscanning (UDP connection attempts) attacks! Look over the deny
messages to figure out what the attack is and where it's coming from. Next,
edit /etc/ppp/cablemodem and make sure the ",nobroadcast" option is turned on
to the "cmconfig" command (uncomment that line). If you're not receiving these
denied packets on your broadcast interface (IP address xxx.yyy.zzz.255
typically), then someone is attacking your machine in particular. Be careful
out there....
7.) Everything seems to work fine but my computer locks up after a while
(and typically during a lengthy download through the cable modem)!
Solution -- You may need to add a short delay in the driver to 'slow down' the
SURFboard because your PC might not be able to keep up with the transfer rate
of the SB1000. To do this, it's probably best to download Franco's
sb1000-1.1.2.tar.gz archive and build and install sb1000.o manually. You'll
want to edit the 'Makefile' and look for the 'SB1000_DELAY'
define. Uncomment those 'CFLAGS' lines (and comment out the default ones)
and try setting the delay to something like 60 microseconds with:
'-DSB1000_DELAY=60'. Then do `make' and as root `make install' and try
it out. If it still doesn't work or you like playing with the driver, you may
try other numbers. Remember though that the higher the delay, the slower the
driver (which slows down the rest of the PC too when it is actively
used). Thanks to Ed Daiga for this tip!
-----------------------------------------------------------------------------
Credits: This README came from Franco Venturi's original README file which is
still supplied with his driver .tar.gz archive. I and all other sb1000 users
owe Franco a tremendous "Thank you!" Additional thanks goes to Carl Patten
and Ralph Bonnell who are now managing the Linux SB1000 web site, and to
the SB1000 users who reported and helped debug the common problems listed
above.
Clemmitt Sigler
csigler@vt.edu
.. SPDX-License-Identifier: GPL-2.0
================
SMC 9xxxx Driver SMC 9xxxx Driver
================
Revision 0.12 Revision 0.12
3/5/96 3/5/96
Copyright 1996 Erik Stahlman Copyright 1996 Erik Stahlman
Released under terms of the GNU General Public License. Released under terms of the GNU General Public License.
This file contains the instructions and caveats for my SMC9xxx driver. You This file contains the instructions and caveats for my SMC9xxx driver. You
...@@ -17,10 +24,10 @@ Things to note about installation: ...@@ -17,10 +24,10 @@ Things to note about installation:
options, such as for forcing IRQ. options, such as for forcing IRQ.
3. To compile as a module, run 'make' . 3. To compile as a module, run 'make'.
Make will give you the appropriate options for various kernel support. Make will give you the appropriate options for various kernel support.
4. Loading the driver as a module : 4. Loading the driver as a module::
use: insmod smc9194.o use: insmod smc9194.o
optional parameters: optional parameters:
...@@ -39,4 +46,3 @@ FTP: ...@@ -39,4 +46,3 @@ FTP:
Contacting me: Contacting me:
erik@mail.vt.edu erik@mail.vt.edu
This diff is collapsed.
This diff is collapsed.
.. SPDX-License-Identifier: GPL-2.0
=====================
TLAN driver for Linux
=====================
:Version: 1.14a
(C) 1997-1998 Caldera, Inc. (C) 1997-1998 Caldera, Inc.
(C) 1998 James Banks (C) 1998 James Banks
(C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com> (C) 1999-2001 Torben Mathiasen <tmm@image.dk, torben.mathiasen@compaq.com>
For driver information/updates visit http://www.compaq.com For driver information/updates visit http://www.compaq.com
TLAN driver for Linux, version 1.14a
README
I. Supported Devices.
I. Supported Devices
====================
Only PCI devices will work with this driver. Only PCI devices will work with this driver.
Supported: Supported:
========= ========= ===========================================
Vendor ID Device ID Name Vendor ID Device ID Name
========= ========= ===========================================
0e11 ae32 Compaq Netelligent 10/100 TX PCI UTP 0e11 ae32 Compaq Netelligent 10/100 TX PCI UTP
0e11 ae34 Compaq Netelligent 10 T PCI UTP 0e11 ae34 Compaq Netelligent 10 T PCI UTP
0e11 ae35 Compaq Integrated NetFlex 3/P 0e11 ae35 Compaq Integrated NetFlex 3/P
...@@ -28,6 +41,7 @@ I. Supported Devices. ...@@ -28,6 +41,7 @@ I. Supported Devices.
108d 0012 Olicom OC-2325 108d 0012 Olicom OC-2325
108d 0013 Olicom OC-2183 108d 0013 Olicom OC-2183
108d 0014 Olicom OC-2326 108d 0014 Olicom OC-2326
========= ========= ===========================================
Caveats: Caveats:
...@@ -44,14 +58,18 @@ I. Supported Devices. ...@@ -44,14 +58,18 @@ I. Supported Devices.
II. Driver Options II. Driver Options
==================
1. You can append debug=x to the end of the insmod line to get 1. You can append debug=x to the end of the insmod line to get
debug messages, where x is a bit field where the bits mean debug messages, where x is a bit field where the bits mean
the following: the following:
==== =====================================
0x01 Turn on general debugging messages. 0x01 Turn on general debugging messages.
0x02 Turn on receive debugging messages. 0x02 Turn on receive debugging messages.
0x04 Turn on transmit debugging messages. 0x04 Turn on transmit debugging messages.
0x08 Turn on list debugging messages. 0x08 Turn on list debugging messages.
==== =====================================
2. You can append aui=1 to the end of the insmod line to cause 2. You can append aui=1 to the end of the insmod line to cause
the adapter to use the AUI interface instead of the 10 Base T the adapter to use the AUI interface instead of the 10 Base T
...@@ -75,7 +93,7 @@ II. Driver Options ...@@ -75,7 +93,7 @@ II. Driver Options
6. If the driver is built into the kernel, you can use the 3rd 6. If the driver is built into the kernel, you can use the 3rd
and 4th parameters to set aui and debug respectively. For and 4th parameters to set aui and debug respectively. For
example: example::
ether=0,0,0x1,0x7,eth0 ether=0,0,0x1,0x7,eth0
...@@ -84,11 +102,13 @@ II. Driver Options ...@@ -84,11 +102,13 @@ II. Driver Options
The bits in the third byte are assigned as follows: The bits in the third byte are assigned as follows:
0x01 = aui ==== ===============
0x02 = use half duplex 0x01 aui
0x04 = use full duplex 0x02 use half duplex
0x08 = use 10BaseT 0x04 use full duplex
0x10 = use 100BaseTx 0x08 use 10BaseT
0x10 use 100BaseTx
==== ===============
You also need to set both speed and duplex settings when forcing You also need to set both speed and duplex settings when forcing
speeds with kernel-parameters. speeds with kernel-parameters.
...@@ -96,7 +116,7 @@ II. Driver Options ...@@ -96,7 +116,7 @@ II. Driver Options
7. If you have more than one tlan adapter in your system, you can 7. If you have more than one tlan adapter in your system, you can
use the above options on a per adapter basis. To force a 100Mbit/HD use the above options on a per adapter basis. To force a 100Mbit/HD
link with your eth1 adapter use: link with your eth1 adapter use::
insmod tlan speed=0,100 duplex=0,1 insmod tlan speed=0,100 duplex=0,1
...@@ -104,7 +124,9 @@ II. Driver Options ...@@ -104,7 +124,9 @@ II. Driver Options
Note that the tlan driver supports a maximum of 8 adapters. Note that the tlan driver supports a maximum of 8 adapters.
III. Things to try if you have problems. III. Things to try if you have problems
=======================================
1. Make sure your card's PCI id is among those listed in 1. Make sure your card's PCI id is among those listed in
section I, above. section I, above.
2. Make sure routing is correct. 2. Make sure routing is correct.
...@@ -113,5 +135,6 @@ III. Things to try if you have problems. ...@@ -113,5 +135,6 @@ III. Things to try if you have problems.
There is also a tlan mailing list which you can join by sending "subscribe tlan" There is also a tlan mailing list which you can join by sending "subscribe tlan"
in the body of an email to majordomo@vuser.vu.union.edu. in the body of an email to majordomo@vuser.vu.union.edu.
There is also a tlan website at http://www.compaq.com There is also a tlan website at http://www.compaq.com
...@@ -25,6 +25,7 @@ Contents: ...@@ -25,6 +25,7 @@ Contents:
failover failover
net_dim net_dim
net_failover net_failover
page_pool
phy phy
sfp-phylink sfp-phylink
alias alias
...@@ -111,6 +112,17 @@ Contents: ...@@ -111,6 +112,17 @@ Contents:
team team
timestamping timestamping
tproxy tproxy
tuntap
udplite
vrf
vxlan
x25-iface
x25
xfrm_device
xfrm_proc
xfrm_sync
xfrm_sysctl
z8530drv
.. only:: subproject and html .. only:: subproject and html
......
X.25 Device Driver Interface 1.1 .. SPDX-License-Identifier: GPL-2.0
============================-
X.25 Device Driver Interface
============================-
Version 1.1
Jonathan Naylor 26.12.96 Jonathan Naylor 26.12.96
......
.. SPDX-License-Identifier: GPL-2.0
==================
Linux X.25 Project Linux X.25 Project
==================
As my third year dissertation at University I have taken it upon myself to As my third year dissertation at University I have taken it upon myself to
write an X.25 implementation for Linux. My aim is to provide a complete X.25 write an X.25 implementation for Linux. My aim is to provide a complete X.25
......
.. SPDX-License-Identifier: GPL-2.0
============
XFRM Syscall
============
/proc/sys/net/core/xfrm_* Variables: /proc/sys/net/core/xfrm_* Variables:
====================================
xfrm_acq_expires - INTEGER xfrm_acq_expires - INTEGER
default 30 - hard timeout in seconds for acquire requests default 30 - hard timeout in seconds for acquire requests
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment