8da9f9620680fb83c5562a26ace4ed0e8b384cc6
[firefly-linux-kernel-4.4.55.git] / drivers / net / Kconfig
1 #
2 # Network device configuration
3 #
4
5 config HAVE_NET_MACB
6         bool
7
8 menuconfig NETDEVICES
9         default y if UML
10         depends on NET
11         bool "Network device support"
12         ---help---
13           You can say N here if you don't intend to connect your Linux box to
14           any other computer at all.
15
16           You'll have to say Y if your computer contains a network card that
17           you want to use under Linux. If you are going to run SLIP or PPP over
18           telephone line or null modem cable you need say Y here. Connecting
19           two machines with parallel ports using PLIP needs this, as well as
20           AX.25/KISS for sending Internet traffic over amateur radio links.
21
22           See also "The Linux Network Administrator's Guide" by Olaf Kirch and
23           Terry Dawson. Available at <http://www.tldp.org/guides.html>.
24
25           If unsure, say Y.
26
27 # All the following symbols are dependent on NETDEVICES - do not repeat
28 # that for each of the symbols.
29 if NETDEVICES
30
31 config IFB
32         tristate "Intermediate Functional Block support"
33         depends on NET_CLS_ACT
34         ---help---
35           This is an intermediate driver that allows sharing of
36           resources.
37           To compile this driver as a module, choose M here: the module
38           will be called ifb.  If you want to use more than one ifb
39           device at a time, you need to compile this driver as a module.
40           Instead of 'ifb', the devices will then be called 'ifb0',
41           'ifb1' etc.
42           Look at the iproute2 documentation directory for usage etc
43
44 config DUMMY
45         tristate "Dummy net driver support"
46         ---help---
47           This is essentially a bit-bucket device (i.e. traffic you send to
48           this device is consigned into oblivion) with a configurable IP
49           address. It is most commonly used in order to make your currently
50           inactive SLIP address seem like a real address for local programs.
51           If you use SLIP or PPP, you might want to say Y here. Since this
52           thing often comes in handy, the default is Y. It won't enlarge your
53           kernel either. What a deal. Read about it in the Network
54           Administrator's Guide, available from
55           <http://www.tldp.org/docs.html#guide>.
56
57           To compile this driver as a module, choose M here: the module
58           will be called dummy.  If you want to use more than one dummy
59           device at a time, you need to compile this driver as a module.
60           Instead of 'dummy', the devices will then be called 'dummy0',
61           'dummy1' etc.
62
63 config BONDING
64         tristate "Bonding driver support"
65         depends on INET
66         depends on IPV6 || IPV6=n
67         ---help---
68           Say 'Y' or 'M' if you wish to be able to 'bond' multiple Ethernet
69           Channels together. This is called 'Etherchannel' by Cisco,
70           'Trunking' by Sun, 802.3ad by the IEEE, and 'Bonding' in Linux.
71
72           The driver supports multiple bonding modes to allow for both high
73           performance and high availability operation.
74
75           Refer to <file:Documentation/networking/bonding.txt> for more
76           information.
77
78           To compile this driver as a module, choose M here: the module
79           will be called bonding.
80
81 config MACVLAN
82         tristate "MAC-VLAN support (EXPERIMENTAL)"
83         depends on EXPERIMENTAL
84         ---help---
85           This allows one to create virtual interfaces that map packets to
86           or from specific MAC addresses to a particular interface.
87
88           Macvlan devices can be added using the "ip" command from the
89           iproute2 package starting with the iproute2-2.6.23 release:
90
91           "ip link add link <real dev> [ address MAC ] [ NAME ] type macvlan"
92
93           To compile this driver as a module, choose M here: the module
94           will be called macvlan.
95
96 config MACVTAP
97         tristate "MAC-VLAN based tap driver (EXPERIMENTAL)"
98         depends on MACVLAN
99         help
100           This adds a specialized tap character device driver that is based
101           on the MAC-VLAN network interface, called macvtap. A macvtap device
102           can be added in the same way as a macvlan device, using 'type
103           macvlan', and then be accessed through the tap user space interface.
104
105           To compile this driver as a module, choose M here: the module
106           will be called macvtap.
107
108 config EQUALIZER
109         tristate "EQL (serial line load balancing) support"
110         ---help---
111           If you have two serial connections to some other computer (this
112           usually requires two modems and two telephone lines) and you use
113           SLIP (the protocol for sending Internet traffic over telephone
114           lines) or PPP (a better SLIP) on them, you can make them behave like
115           one double speed connection using this driver.  Naturally, this has
116           to be supported at the other end as well, either with a similar EQL
117           Linux driver or with a Livingston Portmaster 2e.
118
119           Say Y if you want this and read
120           <file:Documentation/networking/eql.txt>.  You may also want to read
121           section 6.2 of the NET-3-HOWTO, available from
122           <http://www.tldp.org/docs.html#howto>.
123
124           To compile this driver as a module, choose M here: the module
125           will be called eql.  If unsure, say N.
126
127 config TUN
128         tristate "Universal TUN/TAP device driver support"
129         select CRC32
130         ---help---
131           TUN/TAP provides packet reception and transmission for user space
132           programs.  It can be viewed as a simple Point-to-Point or Ethernet
133           device, which instead of receiving packets from a physical media,
134           receives them from user space program and instead of sending packets
135           via physical media writes them to the user space program.
136
137           When a program opens /dev/net/tun, driver creates and registers
138           corresponding net device tunX or tapX.  After a program closed above
139           devices, driver will automatically delete tunXX or tapXX device and
140           all routes corresponding to it.
141
142           Please read <file:Documentation/networking/tuntap.txt> for more
143           information.
144
145           To compile this driver as a module, choose M here: the module
146           will be called tun.
147
148           If you don't know what to use this for, you don't need it.
149
150 config VETH
151         tristate "Virtual ethernet pair device"
152         ---help---
153           This device is a local ethernet tunnel. Devices are created in pairs.
154           When one end receives the packet it appears on its pair and vice
155           versa.
156
157 config NET_SB1000
158         tristate "General Instruments Surfboard 1000"
159         depends on PNP
160         ---help---
161           This is a driver for the General Instrument (also known as
162           NextLevel) SURFboard 1000 internal
163           cable modem. This is an ISA card which is used by a number of cable
164           TV companies to provide cable modem access. It's a one-way
165           downstream-only cable modem, meaning that your upstream net link is
166           provided by your regular phone modem.
167
168           At present this driver only compiles as a module, so say M here if
169           you have this card. The module will be called sb1000. Then read
170           <file:Documentation/networking/README.sb1000> for information on how
171           to use this module, as it needs special ppp scripts for establishing
172           a connection. Further documentation and the necessary scripts can be
173           found at:
174
175           <http://www.jacksonville.net/~fventuri/>
176           <http://home.adelphia.net/~siglercm/sb1000.html>
177           <http://linuxpower.cx/~cable/>
178
179           If you don't have this card, of course say N.
180
181 source "drivers/net/arcnet/Kconfig"
182
183 config MII
184         tristate "Generic Media Independent Interface device support"
185         help
186           Most ethernet controllers have MII transceiver either as an external
187           or internal device.  It is safe to say Y or M here even if your
188           ethernet card lacks MII.
189
190 source "drivers/net/phy/Kconfig"
191
192 #
193 #       Ethernet
194 #
195
196 source "drivers/net/ethernet/Kconfig"
197
198 menuconfig NET_ETHERNET
199         bool "Ethernet (10 or 100Mbit)"
200         depends on !UML
201         ---help---
202           Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common
203           type of Local Area Network (LAN) in universities and companies.
204
205           Common varieties of Ethernet are: 10BASE-2 or Thinnet (10 Mbps over
206           coaxial cable, linking computers in a chain), 10BASE-T or twisted
207           pair (10 Mbps over twisted pair cable, linking computers to central
208           hubs), 10BASE-F (10 Mbps over optical fiber links, using hubs),
209           100BASE-TX (100 Mbps over two twisted pair cables, using hubs),
210           100BASE-T4 (100 Mbps over 4 standard voice-grade twisted pair
211           cables, using hubs), 100BASE-FX (100 Mbps over optical fiber links)
212           [the 100BASE varieties are also known as Fast Ethernet], and Gigabit
213           Ethernet (1 Gbps over optical fiber or short copper links).
214
215           If your Linux machine will be connected to an Ethernet and you have
216           an Ethernet network interface card (NIC) installed in your computer,
217           say Y here and read the Ethernet-HOWTO, available from
218           <http://www.tldp.org/docs.html#howto>. You will then also have
219           to say Y to the driver for your particular NIC.
220
221           Note that the answer to this question won't directly affect the
222           kernel: saying N will just cause the configurator to skip all
223           the questions about Ethernet network cards. If unsure, say N.
224
225 if NET_ETHERNET
226
227 config MACB
228         tristate "Atmel MACB support"
229         depends on HAVE_NET_MACB
230         select PHYLIB
231         help
232           The Atmel MACB ethernet interface is found on many AT32 and AT91
233           parts. Say Y to include support for the MACB chip.
234
235           To compile this driver as a module, choose M here: the module
236           will be called macb.
237
238 source "drivers/net/arm/Kconfig"
239
240 config KORINA
241         tristate "Korina (IDT RC32434) Ethernet support"
242         depends on NET_ETHERNET && MIKROTIK_RB532
243         help
244           If you have a Mikrotik RouterBoard 500 or IDT RC32434
245           based system say Y. Otherwise say N.
246
247 config SGI_IOC3_ETH
248         bool "SGI IOC3 Ethernet"
249         depends on PCI && SGI_IP27
250         select CRC32
251         select MII
252         help
253           If you have a network (Ethernet) card of this type, say Y and read
254           the Ethernet-HOWTO, available from
255           <http://www.tldp.org/docs.html#howto>.
256
257 config MIPS_SIM_NET
258         tristate "MIPS simulator Network device"
259         depends on MIPS_SIM
260         help
261           The MIPSNET device is a simple Ethernet network device which is
262           emulated by the MIPS Simulator.
263           If you are not using a MIPSsim or are unsure, say N.
264
265 config SGI_O2MACE_ETH
266         tristate "SGI O2 MACE Fast Ethernet support"
267         depends on SGI_IP32=y
268
269 config SH_ETH
270         tristate "Renesas SuperH Ethernet support"
271         depends on SUPERH && \
272                 (CPU_SUBTYPE_SH7710 || CPU_SUBTYPE_SH7712 || \
273                  CPU_SUBTYPE_SH7763 || CPU_SUBTYPE_SH7619 || \
274                  CPU_SUBTYPE_SH7724 || CPU_SUBTYPE_SH7757)
275         select CRC32
276         select MII
277         select MDIO_BITBANG
278         select PHYLIB
279         help
280           Renesas SuperH Ethernet device driver.
281           This driver supporting CPUs are:
282                 - SH7710, SH7712, SH7763, SH7619, SH7724, and SH7757.
283
284 config BFIN_MAC
285         tristate "Blackfin on-chip MAC support"
286         depends on NET_ETHERNET && (BF516 || BF518 || BF526 || BF527 || BF536 || BF537)
287         select CRC32
288         select MII
289         select PHYLIB
290         select BFIN_MAC_USE_L1 if DMA_UNCACHED_NONE
291         help
292           This is the driver for Blackfin on-chip mac device. Say Y if you want it
293           compiled into the kernel. This driver is also available as a module
294           ( = code which can be inserted in and removed from the running kernel
295           whenever you want). The module will be called bfin_mac.
296
297 config BFIN_MAC_USE_L1
298         bool "Use L1 memory for rx/tx packets"
299         depends on BFIN_MAC && (BF527 || BF537)
300         default y
301         help
302           To get maximum network performance, you should use L1 memory as rx/tx buffers.
303           Say N here if you want to reserve L1 memory for other uses.
304
305 config BFIN_TX_DESC_NUM
306         int "Number of transmit buffer packets"
307         depends on BFIN_MAC
308         range 6 10 if BFIN_MAC_USE_L1
309         range 10 100
310         default "10"
311         help
312           Set the number of buffer packets used in driver.
313
314 config BFIN_RX_DESC_NUM
315         int "Number of receive buffer packets"
316         depends on BFIN_MAC
317         range 20 100 if BFIN_MAC_USE_L1
318         range 20 800
319         default "20"
320         help
321           Set the number of buffer packets used in driver.
322
323 config BFIN_MAC_USE_HWSTAMP
324         bool "Use IEEE 1588 hwstamp"
325         depends on BFIN_MAC && BF518
326         default y
327         help
328           To support the IEEE 1588 Precision Time Protocol (PTP), select y here
329
330 config PXA168_ETH
331         tristate "Marvell pxa168 ethernet support"
332         depends on CPU_PXA168
333         select PHYLIB
334         help
335           This driver supports the pxa168 Ethernet ports.
336
337           To compile this driver as a module, choose M here. The module
338           will be called pxa168_eth.
339
340 config NET_NETX
341         tristate "NetX Ethernet support"
342         select MII
343         depends on ARCH_NETX
344         help
345           This is support for the Hilscher netX builtin Ethernet ports
346
347           To compile this driver as a module, choose M here. The module
348           will be called netx-eth.
349
350 config TI_DAVINCI_EMAC
351         tristate "TI DaVinci EMAC Support"
352         depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
353         select TI_DAVINCI_MDIO
354         select TI_DAVINCI_CPDMA
355         select PHYLIB
356         help
357           This driver supports TI's DaVinci Ethernet .
358
359           To compile this driver as a module, choose M here: the module
360           will be called davinci_emac_driver.  This is recommended.
361
362 config TI_DAVINCI_MDIO
363         tristate "TI DaVinci MDIO Support"
364         depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
365         select PHYLIB
366         help
367           This driver supports TI's DaVinci MDIO module.
368
369           To compile this driver as a module, choose M here: the module
370           will be called davinci_mdio.  This is recommended.
371
372 config TI_DAVINCI_CPDMA
373         tristate "TI DaVinci CPDMA Support"
374         depends on ARM && ( ARCH_DAVINCI || ARCH_OMAP3 )
375         help
376           This driver supports TI's DaVinci CPDMA dma engine.
377
378           To compile this driver as a module, choose M here: the module
379           will be called davinci_cpdma.  This is recommended.
380
381 config DM9000
382         tristate "DM9000 support"
383         depends on ARM || BLACKFIN || MIPS
384         select CRC32
385         select MII
386         ---help---
387           Support for DM9000 chipset.
388
389           To compile this driver as a module, choose M here.  The module
390           will be called dm9000.
391
392 config DM9000_DEBUGLEVEL
393         int "DM9000 maximum debug level"
394         depends on DM9000
395         default 4
396         help
397           The maximum level of debugging code compiled into the DM9000
398           driver.
399
400 config DM9000_FORCE_SIMPLE_PHY_POLL
401         bool "Force simple NSR based PHY polling"
402         depends on DM9000
403         ---help---
404           This configuration forces the DM9000 to use the NSR's LinkStatus
405           bit to determine if the link is up or down instead of the more
406           costly MII PHY reads. Note, this will not work if the chip is
407           operating with an external PHY.
408
409 config ENC28J60
410         tristate "ENC28J60 support"
411         depends on EXPERIMENTAL && SPI && NET_ETHERNET
412         select CRC32
413         ---help---
414           Support for the Microchip EN28J60 ethernet chip.
415
416           To compile this driver as a module, choose M here. The module will be
417           called enc28j60.
418
419 config ENC28J60_WRITEVERIFY
420         bool "Enable write verify"
421         depends on ENC28J60
422         ---help---
423           Enable the verify after the buffer write useful for debugging purpose.
424           If unsure, say N.
425
426 config ETHOC
427         tristate "OpenCores 10/100 Mbps Ethernet MAC support"
428         depends on NET_ETHERNET && HAS_IOMEM && HAS_DMA
429         select MII
430         select PHYLIB
431         select CRC32
432         select BITREVERSE
433         help
434           Say Y here if you want to use the OpenCores 10/100 Mbps Ethernet MAC.
435
436 config GRETH
437         tristate "Aeroflex Gaisler GRETH Ethernet MAC support"
438         depends on SPARC
439         select PHYLIB
440         select CRC32
441         help
442           Say Y here if you want to use the Aeroflex Gaisler GRETH Ethernet MAC.
443
444 config DNET
445         tristate "Dave ethernet support (DNET)"
446         depends on NET_ETHERNET && HAS_IOMEM
447         select PHYLIB
448         help
449           The Dave ethernet interface (DNET) is found on Qong Board FPGA.
450           Say Y to include support for the DNET chip.
451
452           To compile this driver as a module, choose M here: the module
453           will be called dnet.
454
455 source "drivers/net/tulip/Kconfig"
456
457 config AT1700
458         tristate "AT1700/1720 support (EXPERIMENTAL)"
459         depends on (ISA || MCA_LEGACY) && EXPERIMENTAL
460         select CRC32
461         ---help---
462           If you have a network (Ethernet) card of this type, say Y and read
463           the Ethernet-HOWTO, available from
464           <http://www.tldp.org/docs.html#howto>.
465
466           To compile this driver as a module, choose M here. The module
467           will be called at1700.
468
469 config HP100
470         tristate "HP 10/100VG PCLAN (ISA, EISA, PCI) support"
471         depends on ISA || EISA || PCI
472         help
473           If you have a network (Ethernet) card of this type, say Y and read
474           the Ethernet-HOWTO, available from
475           <http://www.tldp.org/docs.html#howto>.
476
477           To compile this driver as a module, choose M here. The module
478           will be called hp100.
479
480 config NET_ISA
481         bool "Other ISA cards"
482         depends on ISA
483         ---help---
484           If your network (Ethernet) card hasn't been mentioned yet and its
485           bus system (that's the way the cards talks to the other components
486           of your computer) is ISA (as opposed to EISA, VLB or PCI), say Y.
487           Make sure you know the name of your card. Read the Ethernet-HOWTO,
488           available from <http://www.tldp.org/docs.html#howto>.
489
490           If unsure, say Y.
491
492           Note that the answer to this question doesn't directly affect the
493           kernel: saying N will just cause the configurator to skip all
494           the remaining ISA network card questions. If you say Y, you will be
495           asked for your specific card in the following questions.
496
497 config EWRK3
498         tristate "EtherWORKS 3 (DE203, DE204, DE205) support"
499         depends on NET_ISA
500         select CRC32
501         ---help---
502           This driver supports the DE203, DE204 and DE205 network (Ethernet)
503           cards. If this is for you, say Y and read
504           <file:Documentation/networking/ewrk3.txt> in the kernel source as
505           well as the Ethernet-HOWTO, available from
506           <http://www.tldp.org/docs.html#howto>.
507
508           To compile this driver as a module, choose M here. The module
509           will be called ewrk3.
510
511 config ETH16I
512         tristate "ICL EtherTeam 16i/32 support"
513         depends on NET_ISA
514         help
515           If you have a network (Ethernet) card of this type, say Y and read
516           the Ethernet-HOWTO, available from
517           <http://www.tldp.org/docs.html#howto>.
518
519           To compile this driver as a module, choose M here. The module
520           will be called eth16i.
521
522 config SEEQ8005
523         tristate "SEEQ8005 support (EXPERIMENTAL)"
524         depends on NET_ISA && EXPERIMENTAL
525         help
526           This is a driver for the SEEQ 8005 network (Ethernet) card.  If this
527           is for you, read the Ethernet-HOWTO, available from
528           <http://www.tldp.org/docs.html#howto>.
529
530           To compile this driver as a module, choose M here. The module
531           will be called seeq8005.
532
533 config NET_PCI
534         bool "EISA, VLB, PCI and on board controllers"
535         depends on ISA || EISA || PCI
536         help
537           This is another class of network cards which attach directly to the
538           bus. If you have one of those, say Y and read the Ethernet-HOWTO,
539           available from <http://www.tldp.org/docs.html#howto>.
540
541           Note that the answer to this question doesn't directly affect the
542           kernel: saying N will just cause the configurator to skip all
543           the questions about this class of network cards. If you say Y, you
544           will be asked for your specific card in the following questions. If
545           you are unsure, say Y.
546
547 config ADAPTEC_STARFIRE
548         tristate "Adaptec Starfire/DuraLAN support"
549         depends on NET_PCI && PCI
550         select CRC32
551         select MII
552         help
553           Say Y here if you have an Adaptec Starfire (or DuraLAN) PCI network
554           adapter. The DuraLAN chip is used on the 64 bit PCI boards from
555           Adaptec e.g. the ANA-6922A. The older 32 bit boards use the tulip
556           driver.
557
558           To compile this driver as a module, choose M here: the module
559           will be called starfire.  This is recommended.
560
561 config KSZ884X_PCI
562         tristate "Micrel KSZ8841/2 PCI"
563         depends on NET_PCI && PCI
564         select MII
565         select CRC32
566         help
567           This PCI driver is for Micrel KSZ8841/KSZ8842 PCI Ethernet chip.
568
569           To compile this driver as a module, choose M here. The module
570           will be called ksz884x.
571
572 config FORCEDETH
573         tristate "nForce Ethernet support"
574         depends on NET_PCI && PCI
575         help
576           If you have a network (Ethernet) controller of this type, say Y and
577           read the Ethernet-HOWTO, available from
578           <http://www.tldp.org/docs.html#howto>.
579
580           To compile this driver as a module, choose M here. The module
581           will be called forcedeth.
582
583 config TC35815
584         tristate "TOSHIBA TC35815 Ethernet support"
585         depends on NET_PCI && PCI && MIPS
586         select PHYLIB
587
588 config FEALNX
589         tristate "Myson MTD-8xx PCI Ethernet support"
590         depends on NET_PCI && PCI
591         select CRC32
592         select MII
593         help
594           Say Y here to support the Myson MTD-800 family of PCI-based Ethernet 
595           cards. <http://www.myson.com.tw/>
596
597 config 8139CP
598         tristate "RealTek RTL-8139 C+ PCI Fast Ethernet Adapter support (EXPERIMENTAL)"
599         depends on NET_PCI && PCI && EXPERIMENTAL
600         select CRC32
601         select MII
602         help
603           This is a driver for the Fast Ethernet PCI network cards based on
604           the RTL8139C+ chips. If you have one of those, say Y and read
605           the Ethernet-HOWTO, available from
606           <http://www.tldp.org/docs.html#howto>.
607
608           To compile this driver as a module, choose M here: the module
609           will be called 8139cp.  This is recommended.
610
611 config 8139TOO
612         tristate "RealTek RTL-8129/8130/8139 PCI Fast Ethernet Adapter support"
613         depends on NET_PCI && PCI
614         select CRC32
615         select MII
616         ---help---
617           This is a driver for the Fast Ethernet PCI network cards based on
618           the RTL 8129/8130/8139 chips. If you have one of those, say Y and
619           read the Ethernet-HOWTO <http://www.tldp.org/docs.html#howto>.
620
621           To compile this driver as a module, choose M here: the module
622           will be called 8139too.  This is recommended.
623
624 config 8139TOO_PIO
625         bool "Use PIO instead of MMIO"
626         default y
627         depends on 8139TOO
628         help
629           This instructs the driver to use programmed I/O ports (PIO) instead
630           of PCI shared memory (MMIO).  This can possibly solve some problems
631           in case your mainboard has memory consistency issues.  If unsure,
632           say N.
633
634 config 8139TOO_TUNE_TWISTER
635         bool "Support for uncommon RTL-8139 rev. K (automatic channel equalization)"
636         depends on 8139TOO
637         help
638           This implements a function which might come in handy in case you
639           are using low quality on long cabling. It is required for RealTek
640           RTL-8139 revision K boards, and totally unused otherwise.  It tries
641           to match the transceiver to the cable characteristics. This is
642           experimental since hardly documented by the manufacturer.
643           If unsure, say Y.
644
645 config 8139TOO_8129
646         bool "Support for older RTL-8129/8130 boards"
647         depends on 8139TOO
648         help
649           This enables support for the older and uncommon RTL-8129 and
650           RTL-8130 chips, which support MII via an external transceiver,
651           instead of an internal one.  Disabling this option will save some
652           memory by making the code size smaller.  If unsure, say Y.
653
654 config 8139_OLD_RX_RESET
655         bool "Use older RX-reset method"
656         depends on 8139TOO
657         help
658           The 8139too driver was recently updated to contain a more rapid
659           reset sequence, in the face of severe receive errors.  This "new"
660           RX-reset method should be adequate for all boards.  But if you
661           experience problems, you can enable this option to restore the
662           old RX-reset behavior.  If unsure, say N.
663
664 config R6040
665         tristate "RDC R6040 Fast Ethernet Adapter support"
666         depends on NET_PCI && PCI
667         select CRC32
668         select MII
669         select PHYLIB
670         help
671           This is a driver for the R6040 Fast Ethernet MACs found in the
672           the RDC R-321x System-on-chips.
673
674           To compile this driver as a module, choose M here: the module
675           will be called r6040. This is recommended.
676
677 config SIS900
678         tristate "SiS 900/7016 PCI Fast Ethernet Adapter support"
679         depends on NET_PCI && PCI
680         select CRC32
681         select MII
682         ---help---
683           This is a driver for the Fast Ethernet PCI network cards based on
684           the SiS 900 and SiS 7016 chips. The SiS 900 core is also embedded in
685           SiS 630 and SiS 540 chipsets.
686
687           This driver also supports AMD 79C901 HomePNA so that you can use
688           your phone line as a network cable.
689
690           To compile this driver as a module, choose M here: the module
691           will be called sis900.  This is recommended.
692
693 config SUNDANCE
694         tristate "Sundance Alta support"
695         depends on NET_PCI && PCI
696         select CRC32
697         select MII
698         help
699           This driver is for the Sundance "Alta" chip.
700           More specific information and updates are available from
701           <http://www.scyld.com/network/sundance.html>.
702
703 config SUNDANCE_MMIO
704         bool "Use MMIO instead of PIO"
705         depends on SUNDANCE
706         help
707           Enable memory-mapped I/O for interaction with Sundance NIC registers.
708           Do NOT enable this by default, PIO (enabled when MMIO is disabled)
709           is known to solve bugs on certain chips.
710
711           If unsure, say N.
712
713 config TLAN
714         tristate "TI ThunderLAN support"
715         depends on NET_PCI && (PCI || EISA)
716         ---help---
717           If you have a PCI Ethernet network card based on the ThunderLAN chip
718           which is supported by this driver, say Y and read the
719           Ethernet-HOWTO, available from
720           <http://www.tldp.org/docs.html#howto>.
721
722           Devices currently supported by this driver are Compaq Netelligent,
723           Compaq NetFlex and Olicom cards.  Please read the file
724           <file:Documentation/networking/tlan.txt> for more details.
725
726           To compile this driver as a module, choose M here. The module
727           will be called tlan.
728
729           Please email feedback to <torben.mathiasen@compaq.com>.
730
731 config KS8842
732         tristate "Micrel KSZ8841/42 with generic bus interface"
733         depends on HAS_IOMEM && DMA_ENGINE
734         help
735           This platform driver is for KSZ8841(1-port) / KS8842(2-port)
736           ethernet switch chip (managed, VLAN, QoS) from Micrel or
737           Timberdale(FPGA).
738
739 config KS8851
740         tristate "Micrel KS8851 SPI"
741         depends on SPI
742         select MII
743         select CRC32
744         help
745           SPI driver for Micrel KS8851 SPI attached network chip.
746
747 config KS8851_MLL
748         tristate "Micrel KS8851 MLL"
749         depends on HAS_IOMEM
750         select MII
751         help
752           This platform driver is for Micrel KS8851 Address/data bus
753           multiplexed network chip.
754
755 config VIA_RHINE
756         tristate "VIA Rhine support"
757         depends on NET_PCI && PCI
758         select CRC32
759         select MII
760         help
761           If you have a VIA "Rhine" based network card (Rhine-I (VT86C100A),
762           Rhine-II (VT6102), or Rhine-III (VT6105)), say Y here. Rhine-type
763           Ethernet functions can also be found integrated on South Bridges
764           (e.g. VT8235).
765
766           To compile this driver as a module, choose M here. The module
767           will be called via-rhine.
768
769 config VIA_RHINE_MMIO
770         bool "Use MMIO instead of PIO"
771         depends on VIA_RHINE
772         help
773           This instructs the driver to use PCI shared memory (MMIO) instead of
774           programmed I/O ports (PIO). Enabling this gives an improvement in
775           processing time in parts of the driver.
776
777           If unsure, say Y.
778
779 config SC92031
780         tristate "Silan SC92031 PCI Fast Ethernet Adapter driver (EXPERIMENTAL)"
781         depends on NET_PCI && PCI && EXPERIMENTAL
782         select CRC32
783         ---help---
784           This is a driver for the Fast Ethernet PCI network cards based on
785           the Silan SC92031 chip (sometimes also called Rsltek 8139D). If you
786           have one of these, say Y here.
787
788           To compile this driver as a module, choose M here: the module
789           will be called sc92031.  This is recommended.
790
791 config CPMAC
792         tristate "TI AR7 CPMAC Ethernet support (EXPERIMENTAL)"
793         depends on NET_ETHERNET && EXPERIMENTAL && AR7
794         select PHYLIB
795         help
796           TI AR7 CPMAC Ethernet support
797
798 config NET_POCKET
799         bool "Pocket and portable adapters"
800         depends on PARPORT
801         ---help---
802           Cute little network (Ethernet) devices which attach to the parallel
803           port ("pocket adapters"), commonly used with laptops. If you have
804           one of those, say Y and read the Ethernet-HOWTO, available from
805           <http://www.tldp.org/docs.html#howto>.
806
807           If you want to plug a network (or some other) card into the PCMCIA
808           (or PC-card) slot of your laptop instead (PCMCIA is the standard for
809           credit card size extension cards used by all modern laptops), you
810           need the pcmcia-cs package (location contained in the file
811           <file:Documentation/Changes>) and you can say N here.
812
813           Laptop users should read the Linux Laptop home page at
814           <http://www.linux-on-laptops.com/> or
815           Tuxmobil - Linux on Mobile Computers at <http://www.tuxmobil.org/>.
816
817           Note that the answer to this question doesn't directly affect the
818           kernel: saying N will just cause the configurator to skip all
819           the questions about this class of network devices. If you say Y, you
820           will be asked for your specific device in the following questions.
821
822 config ATP
823         tristate "AT-LAN-TEC/RealTek pocket adapter support"
824         depends on NET_POCKET && PARPORT && X86
825         select CRC32
826         ---help---
827           This is a network (Ethernet) device which attaches to your parallel
828           port. Read <file:drivers/net/atp.c> as well as the Ethernet-HOWTO,
829           available from <http://www.tldp.org/docs.html#howto>, if you
830           want to use this.  If you intend to use this driver, you should have
831           said N to the "Parallel printer support", because the two drivers
832           don't like each other.
833
834           To compile this driver as a module, choose M here: the module
835           will be called atp.
836
837 config DE600
838         tristate "D-Link DE600 pocket adapter support"
839         depends on NET_POCKET && PARPORT
840         ---help---
841           This is a network (Ethernet) device which attaches to your parallel
842           port. Read <file:Documentation/networking/DLINK.txt> as well as the
843           Ethernet-HOWTO, available from
844           <http://www.tldp.org/docs.html#howto>, if you want to use
845           this. It is possible to have several devices share a single parallel
846           port and it is safe to compile the corresponding drivers into the
847           kernel.
848
849           To compile this driver as a module, choose M here: the module
850           will be called de600.
851
852 config DE620
853         tristate "D-Link DE620 pocket adapter support"
854         depends on NET_POCKET && PARPORT
855         ---help---
856           This is a network (Ethernet) device which attaches to your parallel
857           port. Read <file:Documentation/networking/DLINK.txt> as well as the
858           Ethernet-HOWTO, available from
859           <http://www.tldp.org/docs.html#howto>, if you want to use
860           this. It is possible to have several devices share a single parallel
861           port and it is safe to compile the corresponding drivers into the
862           kernel.
863
864           To compile this driver as a module, choose M here: the module
865           will be called de620.
866
867 config SGISEEQ
868         tristate "SGI Seeq ethernet controller support"
869         depends on SGI_HAS_SEEQ
870         help
871           Say Y here if you have an Seeq based Ethernet network card. This is
872           used in many Silicon Graphics machines.
873
874 config FEC
875         bool "FEC ethernet controller (of ColdFire and some i.MX CPUs)"
876         depends on M523x || M527x || M5272 || M528x || M520x || M532x || \
877                 IMX_HAVE_PLATFORM_FEC || MXS_HAVE_PLATFORM_FEC
878         default IMX_HAVE_PLATFORM_FEC || MXS_HAVE_PLATFORM_FEC if ARM
879         select PHYLIB
880         help
881           Say Y here if you want to use the built-in 10/100 Fast ethernet
882           controller on some Motorola ColdFire and Freescale i.MX processors.
883
884 config FEC_MPC52xx
885         tristate "MPC52xx FEC driver"
886         depends on PPC_MPC52xx && PPC_BESTCOMM
887         select CRC32
888         select PHYLIB
889         select PPC_BESTCOMM_FEC
890         ---help---
891           This option enables support for the MPC5200's on-chip
892           Fast Ethernet Controller
893           If compiled as module, it will be called fec_mpc52xx.
894
895 config FEC_MPC52xx_MDIO
896         bool "MPC52xx FEC MDIO bus driver"
897         depends on FEC_MPC52xx
898         default y
899         ---help---
900           The MPC5200's FEC can connect to the Ethernet either with
901           an external MII PHY chip or 10 Mbps 7-wire interface
902           (Motorola? industry standard).
903           If your board uses an external PHY connected to FEC, enable this.
904           If not sure, enable.
905           If compiled as module, it will be called fec_mpc52xx_phy.
906
907 config ATL2
908         tristate "Atheros L2 Fast Ethernet support"
909         depends on PCI
910         select CRC32
911         select MII
912         help
913           This driver supports the Atheros L2 fast ethernet adapter.
914
915           To compile this driver as a module, choose M here.  The module
916           will be called atl2.
917
918 config XILINX_EMACLITE
919         tristate "Xilinx 10/100 Ethernet Lite support"
920         depends on PPC32 || MICROBLAZE
921         select PHYLIB
922         help
923           This driver supports the 10/100 Ethernet Lite from Xilinx.
924
925 config LANTIQ_ETOP
926         tristate "Lantiq SoC ETOP driver"
927         depends on SOC_TYPE_XWAY
928         help
929           Support for the MII0 inside the Lantiq SoC
930
931
932 source "drivers/net/fs_enet/Kconfig"
933
934 source "drivers/net/octeon/Kconfig"
935
936 endif # NET_ETHERNET
937
938 #
939 #       Gigabit Ethernet
940 #
941
942 menuconfig NETDEV_1000
943         bool "Ethernet (1000 Mbit)"
944         depends on !UML
945         default y
946         ---help---
947           Ethernet (also called IEEE 802.3 or ISO 8802-2) is the most common
948           type of Local Area Network (LAN) in universities and companies.
949
950           Say Y here to get to see options for Gigabit Ethernet drivers.
951           This option alone does not add any kernel code.
952           Note that drivers supporting both 100 and 1000 MBit may be listed
953           under "Ethernet (10 or 100MBit)" instead.
954
955           If you say N, all options in this submenu will be skipped and disabled.
956
957 if NETDEV_1000
958
959 config DL2K
960         tristate "DL2000/TC902x-based Gigabit Ethernet support"
961         depends on PCI
962         select CRC32
963         help
964           This driver supports DL2000/TC902x-based Gigabit ethernet cards,
965           which includes
966           D-Link DGE-550T Gigabit Ethernet Adapter.
967           D-Link DL2000-based Gigabit Ethernet Adapter.
968           Sundance/Tamarack TC902x Gigabit Ethernet Adapter.
969
970           To compile this driver as a module, choose M here: the
971           module will be called dl2k.
972
973 config IP1000
974         tristate "IP1000 Gigabit Ethernet support"
975         depends on PCI && EXPERIMENTAL
976         select MII
977         ---help---
978           This driver supports IP1000 gigabit Ethernet cards.
979
980           To compile this driver as a module, choose M here: the module
981           will be called ipg.  This is recommended.
982
983 config HAMACHI
984         tristate "Packet Engines Hamachi GNIC-II support"
985         depends on PCI
986         select MII
987         help
988           If you have a Gigabit Ethernet card of this type, say Y and read
989           the Ethernet-HOWTO, available from
990           <http://www.tldp.org/docs.html#howto>.
991
992           To compile this driver as a module, choose M here. The module will be
993           called hamachi.
994
995 config YELLOWFIN
996         tristate "Packet Engines Yellowfin Gigabit-NIC support (EXPERIMENTAL)"
997         depends on PCI && EXPERIMENTAL
998         select CRC32
999         ---help---
1000           Say Y here if you have a Packet Engines G-NIC PCI Gigabit Ethernet
1001           adapter or the SYM53C885 Ethernet controller. The Gigabit adapter is
1002           used by the Beowulf Linux cluster project.  See
1003           <http://cesdis.gsfc.nasa.gov/linux/drivers/yellowfin.html> for more
1004           information about this driver in particular and Beowulf in general.
1005
1006           To compile this driver as a module, choose M here: the module
1007           will be called yellowfin.  This is recommended.
1008
1009 config R8169
1010         tristate "Realtek 8169 gigabit ethernet support"
1011         depends on PCI
1012         select FW_LOADER
1013         select CRC32
1014         select MII
1015         ---help---
1016           Say Y here if you have a Realtek 8169 PCI Gigabit Ethernet adapter.
1017
1018           To compile this driver as a module, choose M here: the module
1019           will be called r8169.  This is recommended.
1020
1021 config SIS190
1022         tristate "SiS190/SiS191 gigabit ethernet support"
1023         depends on PCI
1024         select CRC32
1025         select MII
1026         ---help---
1027           Say Y here if you have a SiS 190 PCI Fast Ethernet adapter or
1028           a SiS 191 PCI Gigabit Ethernet adapter. Both are expected to
1029           appear in lan on motherboard designs which are based on SiS 965
1030           and SiS 966 south bridge.
1031
1032           To compile this driver as a module, choose M here: the module
1033           will be called sis190.  This is recommended.
1034
1035 config SKGE
1036         tristate "Marvell Yukon Gigabit Ethernet support"
1037         depends on PCI
1038         select CRC32
1039         ---help---
1040           This driver support the Marvell Yukon or SysKonnect SK-98xx/SK-95xx
1041           and related Gigabit Ethernet adapters. It is a new smaller driver
1042           with better performance and more complete ethtool support.
1043
1044           It does not support the link failover and network management 
1045           features that "portable" vendor supplied sk98lin driver does.
1046
1047           This driver supports adapters based on the original Yukon chipset:
1048           Marvell 88E8001, Belkin F5D5005, CNet GigaCard, DLink DGE-530T,
1049           Linksys EG1032/EG1064, 3Com 3C940/3C940B, SysKonnect SK-9871/9872.
1050
1051           It does not support the newer Yukon2 chipset: a separate driver,
1052           sky2, is provided for these adapters.
1053
1054           To compile this driver as a module, choose M here: the module
1055           will be called skge.  This is recommended.
1056
1057 config SKGE_DEBUG
1058         bool "Debugging interface"
1059         depends on SKGE && DEBUG_FS
1060         help
1061           This option adds the ability to dump driver state for debugging.
1062           The file /sys/kernel/debug/skge/ethX displays the state of the internal
1063           transmit and receive rings.
1064
1065           If unsure, say N.
1066
1067 config SKGE_GENESIS
1068        bool "Support for older SysKonnect Genesis boards"
1069        depends on SKGE
1070        help
1071          This enables support for the older and uncommon SysKonnect Genesis
1072          chips, which support MII via an external transceiver, instead of
1073          an internal one. Disabling this option will save some memory
1074          by making code smaller. If unsure say Y.
1075
1076 config SKY2
1077         tristate "Marvell Yukon 2 support"
1078         depends on PCI
1079         select CRC32
1080         ---help---
1081           This driver supports Gigabit Ethernet adapters based on the
1082           Marvell Yukon 2 chipset:
1083           Marvell 88E8021/88E8022/88E8035/88E8036/88E8038/88E8050/88E8052/
1084           88E8053/88E8055/88E8061/88E8062, SysKonnect SK-9E21D/SK-9S21
1085
1086           There is companion driver for the older Marvell Yukon and
1087           SysKonnect Genesis based adapters: skge.
1088
1089           To compile this driver as a module, choose M here: the module
1090           will be called sky2.  This is recommended.
1091
1092 config SKY2_DEBUG
1093         bool "Debugging interface"
1094         depends on SKY2 && DEBUG_FS
1095         help
1096           This option adds the ability to dump driver state for debugging.
1097           The file /sys/kernel/debug/sky2/ethX displays the state of the internal
1098           transmit and receive rings.
1099
1100           If unsure, say N.
1101
1102 config VIA_VELOCITY
1103         tristate "VIA Velocity support"
1104         depends on PCI
1105         select CRC32
1106         select CRC_CCITT
1107         select MII
1108         help
1109           If you have a VIA "Velocity" based network card say Y here.
1110
1111           To compile this driver as a module, choose M here. The module
1112           will be called via-velocity.
1113
1114 config SPIDER_NET
1115         tristate "Spider Gigabit Ethernet driver"
1116         depends on PCI && (PPC_IBM_CELL_BLADE || PPC_CELLEB)
1117         select FW_LOADER
1118         help
1119           This driver supports the Gigabit Ethernet chips present on the
1120           Cell Processor-Based Blades from IBM.
1121
1122 config TSI108_ETH
1123         tristate "Tundra TSI108 gigabit Ethernet support"
1124         depends on TSI108_BRIDGE
1125         help
1126           This driver supports Tundra TSI108 gigabit Ethernet ports.
1127           To compile this driver as a module, choose M here: the module
1128           will be called tsi108_eth.
1129
1130 config GELIC_NET
1131         tristate "PS3 Gigabit Ethernet driver"
1132         depends on PPC_PS3
1133         select PS3_SYS_MANAGER
1134         help
1135           This driver supports the network device on the PS3 game
1136           console.  This driver has built-in support for Ethernet.
1137
1138           To compile this driver as a module, choose M here: the
1139           module will be called ps3_gelic.
1140
1141 config GELIC_WIRELESS
1142         bool "PS3 Wireless support"
1143         depends on WLAN
1144         depends on GELIC_NET
1145         select WIRELESS_EXT
1146         help
1147           This option adds the support for the wireless feature of PS3.
1148           If you have the wireless-less model of PS3 or have no plan to
1149           use wireless feature, disabling this option saves memory.  As
1150           the driver automatically distinguishes the models, you can
1151           safely enable this option even if you have a wireless-less model.
1152
1153 config FSL_PQ_MDIO
1154         tristate "Freescale PQ MDIO"
1155         depends on FSL_SOC
1156         select PHYLIB
1157         help
1158           This driver supports the MDIO bus used by the gianfar and UCC drivers.
1159
1160 config GIANFAR
1161         tristate "Gianfar Ethernet"
1162         depends on FSL_SOC
1163         select FSL_PQ_MDIO
1164         select PHYLIB
1165         select CRC32
1166         help
1167           This driver supports the Gigabit TSEC on the MPC83xx, MPC85xx,
1168           and MPC86xx family of chips, and the FEC on the 8540.
1169
1170 config UCC_GETH
1171         tristate "Freescale QE Gigabit Ethernet"
1172         depends on QUICC_ENGINE
1173         select FSL_PQ_MDIO
1174         select PHYLIB
1175         help
1176           This driver supports the Gigabit Ethernet mode of the QUICC Engine,
1177           which is available on some Freescale SOCs.
1178
1179 config UGETH_TX_ON_DEMAND
1180         bool "Transmit on Demand support"
1181         depends on UCC_GETH
1182
1183 config MV643XX_ETH
1184         tristate "Marvell Discovery (643XX) and Orion ethernet support"
1185         depends on (MV64X60 || PPC32 || PLAT_ORION) && INET
1186         select INET_LRO
1187         select PHYLIB
1188         help
1189           This driver supports the gigabit ethernet MACs in the
1190           Marvell Discovery PPC/MIPS chipset family (MV643XX) and
1191           in the Marvell Orion ARM SoC family.
1192
1193           Some boards that use the Discovery chipset are the Momenco
1194           Ocelot C and Jaguar ATX and Pegasos II.
1195
1196 config XILINX_LL_TEMAC
1197         tristate "Xilinx LL TEMAC (LocalLink Tri-mode Ethernet MAC) driver"
1198         depends on PPC || MICROBLAZE
1199         select PHYLIB
1200         help
1201           This driver supports the Xilinx 10/100/1000 LocalLink TEMAC
1202           core used in Xilinx Spartan and Virtex FPGAs
1203
1204 config ATL1
1205         tristate "Atheros/Attansic L1 Gigabit Ethernet support"
1206         depends on PCI
1207         select CRC32
1208         select MII
1209         help
1210           This driver supports the Atheros/Attansic L1 gigabit ethernet
1211           adapter.
1212
1213           To compile this driver as a module, choose M here.  The module
1214           will be called atl1.
1215
1216 config ATL1E
1217         tristate "Atheros L1E Gigabit Ethernet support (EXPERIMENTAL)"
1218         depends on PCI && EXPERIMENTAL
1219         select CRC32
1220         select MII
1221         help
1222           This driver supports the Atheros L1E gigabit ethernet adapter.
1223
1224           To compile this driver as a module, choose M here.  The module
1225           will be called atl1e.
1226
1227 config ATL1C
1228         tristate "Atheros L1C Gigabit Ethernet support (EXPERIMENTAL)"
1229         depends on PCI && EXPERIMENTAL
1230         select CRC32
1231         select MII
1232         help
1233           This driver supports the Atheros L1C gigabit ethernet adapter.
1234
1235           To compile this driver as a module, choose M here.  The module
1236           will be called atl1c.
1237
1238 config JME
1239         tristate "JMicron(R) PCI-Express Gigabit Ethernet support"
1240         depends on PCI
1241         select CRC32
1242         select MII
1243         ---help---
1244           This driver supports the PCI-Express gigabit ethernet adapters
1245           based on JMicron JMC250 chipset.
1246
1247           To compile this driver as a module, choose M here. The module
1248           will be called jme.
1249
1250 config S6GMAC
1251         tristate "S6105 GMAC ethernet support"
1252         depends on XTENSA_VARIANT_S6000
1253         select PHYLIB
1254         help
1255           This driver supports the on chip ethernet device on the
1256           S6105 xtensa processor.
1257
1258           To compile this driver as a module, choose M here. The module
1259           will be called s6gmac.
1260
1261 config PCH_GBE
1262         tristate "Intel EG20T PCH / OKI SEMICONDUCTOR ML7223 IOH GbE"
1263         depends on PCI
1264         select MII
1265         ---help---
1266           This is a gigabit ethernet driver for EG20T PCH.
1267           EG20T PCH is the platform controller hub that is used in Intel's
1268           general embedded platform.
1269           EG20T PCH has Gigabit Ethernet interface.
1270           Using this interface, it is able to access system devices connected
1271           to Gigabit Ethernet.
1272           This driver enables Gigabit Ethernet function.
1273
1274           This driver also can be used for OKI SEMICONDUCTOR IOH(Input/
1275           Output Hub), ML7223.
1276           ML7223 IOH is for MP(Media Phone) use.
1277           ML7223 is companion chip for Intel Atom E6xx series.
1278           ML7223 is completely compatible for Intel EG20T PCH.
1279
1280 endif # NETDEV_1000
1281
1282 #
1283 #       10 Gigabit Ethernet
1284 #
1285
1286 menuconfig NETDEV_10000
1287         bool "Ethernet (10000 Mbit)"
1288         depends on !UML
1289         default y
1290         ---help---
1291           Say Y here to get to see options for 10 Gigabit Ethernet drivers.
1292           This option alone does not add any kernel code.
1293
1294           If you say N, all options in this submenu will be skipped and disabled.
1295
1296 if NETDEV_10000
1297
1298 config MDIO
1299         tristate
1300
1301 endif # NETDEV_10000
1302
1303 source "drivers/net/tokenring/Kconfig"
1304
1305 source "drivers/net/wireless/Kconfig"
1306
1307 source "drivers/net/wimax/Kconfig"
1308
1309 source "drivers/net/usb/Kconfig"
1310
1311 source "drivers/net/pcmcia/Kconfig"
1312
1313 source "drivers/net/wan/Kconfig"
1314
1315 source "drivers/atm/Kconfig"
1316
1317 source "drivers/ieee802154/Kconfig"
1318
1319 source "drivers/s390/net/Kconfig"
1320
1321 source "drivers/net/caif/Kconfig"
1322
1323 config TILE_NET
1324         tristate "Tilera GBE/XGBE network driver support"
1325         depends on TILE
1326         default y
1327         select CRC32
1328         help
1329           This is a standard Linux network device driver for the
1330           on-chip Tilera Gigabit Ethernet and XAUI interfaces.
1331
1332           To compile this driver as a module, choose M here: the module
1333           will be called tile_net.
1334
1335 config XEN_NETDEV_FRONTEND
1336         tristate "Xen network device frontend driver"
1337         depends on XEN
1338         select XEN_XENBUS_FRONTEND
1339         default y
1340         help
1341           This driver provides support for Xen paravirtual network
1342           devices exported by a Xen network driver domain (often
1343           domain 0).
1344
1345           The corresponding Linux backend driver is enabled by the
1346           CONFIG_XEN_NETDEV_BACKEND option.
1347
1348           If you are compiling a kernel for use as Xen guest, you
1349           should say Y here. To compile this driver as a module, chose
1350           M here: the module will be called xen-netfront.
1351
1352 config XEN_NETDEV_BACKEND
1353         tristate "Xen backend network device"
1354         depends on XEN_BACKEND
1355         help
1356           This driver allows the kernel to act as a Xen network driver
1357           domain which exports paravirtual network devices to other
1358           Xen domains. These devices can be accessed by any operating
1359           system that implements a compatible front end.
1360
1361           The corresponding Linux frontend driver is enabled by the
1362           CONFIG_XEN_NETDEV_FRONTEND configuration option.
1363
1364           The backend driver presents a standard network device
1365           endpoint for each paravirtual network device to the driver
1366           domain network stack. These can then be bridged or routed
1367           etc in order to provide full network connectivity.
1368
1369           If you are compiling a kernel to run in a Xen network driver
1370           domain (often this is domain 0) you should say Y here. To
1371           compile this driver as a module, chose M here: the module
1372           will be called xen-netback.
1373
1374 config RIONET
1375         tristate "RapidIO Ethernet over messaging driver support"
1376         depends on RAPIDIO
1377
1378 config RIONET_TX_SIZE
1379         int "Number of outbound queue entries"
1380         depends on RIONET
1381         default "128"
1382
1383 config RIONET_RX_SIZE
1384         int "Number of inbound queue entries"
1385         depends on RIONET
1386         default "128"
1387
1388 config FDDI
1389         tristate "FDDI driver support"
1390         depends on (PCI || EISA || TC)
1391         help
1392           Fiber Distributed Data Interface is a high speed local area network
1393           design; essentially a replacement for high speed Ethernet. FDDI can
1394           run over copper or fiber. If you are connected to such a network and
1395           want a driver for the FDDI card in your computer, say Y here (and
1396           then also Y to the driver for your FDDI card, below). Most people
1397           will say N.
1398
1399 config DEFXX
1400         tristate "Digital DEFTA/DEFEA/DEFPA adapter support"
1401         depends on FDDI && (PCI || EISA || TC)
1402         ---help---
1403           This is support for the DIGITAL series of TURBOchannel (DEFTA),
1404           EISA (DEFEA) and PCI (DEFPA) controllers which can connect you
1405           to a local FDDI network.
1406
1407           To compile this driver as a module, choose M here: the module
1408           will be called defxx.  If unsure, say N.
1409
1410 config DEFXX_MMIO
1411         bool
1412         prompt "Use MMIO instead of PIO" if PCI || EISA
1413         depends on DEFXX
1414         default n if PCI || EISA
1415         default y
1416         ---help---
1417           This instructs the driver to use EISA or PCI memory-mapped I/O
1418           (MMIO) as appropriate instead of programmed I/O ports (PIO).
1419           Enabling this gives an improvement in processing time in parts
1420           of the driver, but it may cause problems with EISA (DEFEA)
1421           adapters.  TURBOchannel does not have the concept of I/O ports,
1422           so MMIO is always used for these (DEFTA) adapters.
1423
1424           If unsure, say N.
1425
1426 config SKFP
1427         tristate "SysKonnect FDDI PCI support"
1428         depends on FDDI && PCI
1429         select BITREVERSE
1430         ---help---
1431           Say Y here if you have a SysKonnect FDDI PCI adapter.
1432           The following adapters are supported by this driver:
1433           - SK-5521 (SK-NET FDDI-UP)
1434           - SK-5522 (SK-NET FDDI-UP DAS)
1435           - SK-5541 (SK-NET FDDI-FP)
1436           - SK-5543 (SK-NET FDDI-LP)
1437           - SK-5544 (SK-NET FDDI-LP DAS)
1438           - SK-5821 (SK-NET FDDI-UP64)
1439           - SK-5822 (SK-NET FDDI-UP64 DAS)
1440           - SK-5841 (SK-NET FDDI-FP64)
1441           - SK-5843 (SK-NET FDDI-LP64)
1442           - SK-5844 (SK-NET FDDI-LP64 DAS)
1443           - Netelligent 100 FDDI DAS Fibre SC
1444           - Netelligent 100 FDDI SAS Fibre SC
1445           - Netelligent 100 FDDI DAS UTP
1446           - Netelligent 100 FDDI SAS UTP
1447           - Netelligent 100 FDDI SAS Fibre MIC
1448
1449           Read <file:Documentation/networking/skfp.txt> for information about
1450           the driver.
1451
1452           Questions concerning this driver can be addressed to:
1453           <linux@syskonnect.de>
1454
1455           To compile this driver as a module, choose M here: the module
1456           will be called skfp.  This is recommended.
1457
1458 config HIPPI
1459         bool "HIPPI driver support (EXPERIMENTAL)"
1460         depends on EXPERIMENTAL && INET && PCI
1461         help
1462           HIgh Performance Parallel Interface (HIPPI) is a 800Mbit/sec and
1463           1600Mbit/sec dual-simplex switched or point-to-point network. HIPPI
1464           can run over copper (25m) or fiber (300m on multi-mode or 10km on
1465           single-mode). HIPPI networks are commonly used for clusters and to
1466           connect to super computers. If you are connected to a HIPPI network
1467           and have a HIPPI network card in your computer that you want to use
1468           under Linux, say Y here (you must also remember to enable the driver
1469           for your HIPPI card below). Most people will say N here.
1470
1471 config ROADRUNNER
1472         tristate "Essential RoadRunner HIPPI PCI adapter support (EXPERIMENTAL)"
1473         depends on HIPPI && PCI
1474         help
1475           Say Y here if this is your PCI HIPPI network card.
1476
1477           To compile this driver as a module, choose M here: the module
1478           will be called rrunner.  If unsure, say N.
1479
1480 config ROADRUNNER_LARGE_RINGS
1481         bool "Use large TX/RX rings (EXPERIMENTAL)"
1482         depends on ROADRUNNER
1483         help
1484           If you say Y here, the RoadRunner driver will preallocate up to 2 MB
1485           of additional memory to allow for fastest operation, both for
1486           transmitting and receiving. This memory cannot be used by any other
1487           kernel code or by user space programs. Say Y here only if you have
1488           the memory.
1489
1490 config PLIP
1491         tristate "PLIP (parallel port) support"
1492         depends on PARPORT
1493         ---help---
1494           PLIP (Parallel Line Internet Protocol) is used to create a
1495           reasonably fast mini network consisting of two (or, rarely, more)
1496           local machines.  A PLIP link from a Linux box is a popular means to
1497           install a Linux distribution on a machine which doesn't have a
1498           CD-ROM drive (a minimal system has to be transferred with floppies
1499           first). The kernels on both machines need to have this PLIP option
1500           enabled for this to work.
1501
1502           The PLIP driver has two modes, mode 0 and mode 1.  The parallel
1503           ports (the connectors at the computers with 25 holes) are connected
1504           with "null printer" or "Turbo Laplink" cables which can transmit 4
1505           bits at a time (mode 0) or with special PLIP cables, to be used on
1506           bidirectional parallel ports only, which can transmit 8 bits at a
1507           time (mode 1); you can find the wiring of these cables in
1508           <file:Documentation/networking/PLIP.txt>.  The cables can be up to
1509           15m long.  Mode 0 works also if one of the machines runs DOS/Windows
1510           and has some PLIP software installed, e.g. the Crynwr PLIP packet
1511           driver (<http://oak.oakland.edu/simtel.net/msdos/pktdrvr-pre.html>)
1512           and winsock or NCSA's telnet.
1513
1514           If you want to use PLIP, say Y and read the PLIP mini-HOWTO as well
1515           as the NET-3-HOWTO, both available from
1516           <http://www.tldp.org/docs.html#howto>.  Note that the PLIP
1517           protocol has been changed and this PLIP driver won't work together
1518           with the PLIP support in Linux versions 1.0.x.  This option enlarges
1519           your kernel by about 8 KB.
1520
1521           To compile this driver as a module, choose M here. The module
1522           will be called plip. If unsure, say Y or M, in case you buy
1523           a laptop later.
1524
1525 config PPP
1526         tristate "PPP (point-to-point protocol) support"
1527         select SLHC
1528         ---help---
1529           PPP (Point to Point Protocol) is a newer and better SLIP.  It serves
1530           the same purpose: sending Internet traffic over telephone (and other
1531           serial) lines.  Ask your access provider if they support it, because
1532           otherwise you can't use it; most Internet access providers these
1533           days support PPP rather than SLIP.
1534
1535           To use PPP, you need an additional program called pppd as described
1536           in the PPP-HOWTO, available at
1537           <http://www.tldp.org/docs.html#howto>.  Make sure that you have
1538           the version of pppd recommended in <file:Documentation/Changes>.
1539           The PPP option enlarges your kernel by about 16 KB.
1540
1541           There are actually two versions of PPP: the traditional PPP for
1542           asynchronous lines, such as regular analog phone lines, and
1543           synchronous PPP which can be used over digital ISDN lines for
1544           example.  If you want to use PPP over phone lines or other
1545           asynchronous serial lines, you need to say Y (or M) here and also to
1546           the next option, "PPP support for async serial ports".  For PPP over
1547           synchronous lines, you should say Y (or M) here and to "Support
1548           synchronous PPP", below.
1549
1550           If you said Y to "Version information on all symbols" above, then
1551           you cannot compile the PPP driver into the kernel; you can then only
1552           compile it as a module. To compile this driver as a module, choose M
1553           here. The module will be called ppp_generic.
1554
1555 config PPP_MULTILINK
1556         bool "PPP multilink support (EXPERIMENTAL)"
1557         depends on PPP && EXPERIMENTAL
1558         help
1559           PPP multilink is a protocol (defined in RFC 1990) which allows you
1560           to combine several (logical or physical) lines into one logical PPP
1561           connection, so that you can utilize your full bandwidth.
1562
1563           This has to be supported at the other end as well and you need a
1564           version of the pppd daemon which understands the multilink protocol.
1565
1566           If unsure, say N.
1567
1568 config PPP_FILTER
1569         bool "PPP filtering"
1570         depends on PPP
1571         help
1572           Say Y here if you want to be able to filter the packets passing over
1573           PPP interfaces.  This allows you to control which packets count as
1574           activity (i.e. which packets will reset the idle timer or bring up
1575           a demand-dialed link) and which packets are to be dropped entirely.
1576           You need to say Y here if you wish to use the pass-filter and
1577           active-filter options to pppd.
1578
1579           If unsure, say N.
1580
1581 config PPP_ASYNC
1582         tristate "PPP support for async serial ports"
1583         depends on PPP
1584         select CRC_CCITT
1585         ---help---
1586           Say Y (or M) here if you want to be able to use PPP over standard
1587           asynchronous serial ports, such as COM1 or COM2 on a PC.  If you use
1588           a modem (not a synchronous or ISDN modem) to contact your ISP, you
1589           need this option.
1590
1591           To compile this driver as a module, choose M here.
1592
1593           If unsure, say Y.
1594
1595 config PPP_SYNC_TTY
1596         tristate "PPP support for sync tty ports"
1597         depends on PPP
1598         help
1599           Say Y (or M) here if you want to be able to use PPP over synchronous
1600           (HDLC) tty devices, such as the SyncLink adapter. These devices
1601           are often used for high-speed leased lines like T1/E1.
1602
1603           To compile this driver as a module, choose M here.
1604
1605 config PPP_DEFLATE
1606         tristate "PPP Deflate compression"
1607         depends on PPP
1608         select ZLIB_INFLATE
1609         select ZLIB_DEFLATE
1610         ---help---
1611           Support for the Deflate compression method for PPP, which uses the
1612           Deflate algorithm (the same algorithm that gzip uses) to compress
1613           each PPP packet before it is sent over the wire.  The machine at the
1614           other end of the PPP link (usually your ISP) has to support the
1615           Deflate compression method as well for this to be useful.  Even if
1616           they don't support it, it is safe to say Y here.
1617
1618           To compile this driver as a module, choose M here.
1619
1620 config PPP_BSDCOMP
1621         tristate "PPP BSD-Compress compression"
1622         depends on PPP
1623         ---help---
1624           Support for the BSD-Compress compression method for PPP, which uses
1625           the LZW compression method to compress each PPP packet before it is
1626           sent over the wire. The machine at the other end of the PPP link
1627           (usually your ISP) has to support the BSD-Compress compression
1628           method as well for this to be useful. Even if they don't support it,
1629           it is safe to say Y here.
1630
1631           The PPP Deflate compression method ("PPP Deflate compression",
1632           above) is preferable to BSD-Compress, because it compresses better
1633           and is patent-free.
1634
1635           Note that the BSD compression code will always be compiled as a
1636           module; it is called bsd_comp and will show up in the directory
1637           modules once you have said "make modules". If unsure, say N.
1638
1639 config PPP_MPPE
1640         tristate "PPP MPPE compression (encryption) (EXPERIMENTAL)"
1641         depends on PPP && EXPERIMENTAL
1642         select CRYPTO
1643         select CRYPTO_SHA1
1644         select CRYPTO_ARC4
1645         select CRYPTO_ECB
1646         ---help---
1647           Support for the MPPE Encryption protocol, as employed by the
1648           Microsoft Point-to-Point Tunneling Protocol.
1649
1650           See http://pptpclient.sourceforge.net/ for information on
1651           configuring PPTP clients and servers to utilize this method.
1652
1653 config PPPOE
1654         tristate "PPP over Ethernet (EXPERIMENTAL)"
1655         depends on EXPERIMENTAL && PPP
1656         help
1657           Support for PPP over Ethernet.
1658
1659           This driver requires the latest version of pppd from the CVS
1660           repository at cvs.samba.org.  Alternatively, see the 
1661           RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>)
1662           which contains instruction on how to use this driver (under 
1663           the heading "Kernel mode PPPoE").
1664
1665 config PPTP
1666         tristate "PPP over IPv4 (PPTP) (EXPERIMENTAL)"
1667         depends on EXPERIMENTAL && PPP && NET_IPGRE_DEMUX
1668         help
1669           Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)
1670
1671           This driver requires pppd plugin to work in client mode or
1672           modified pptpd (poptop) to work in server mode.
1673           See http://accel-pptp.sourceforge.net/ for information how to
1674           utilize this module.
1675
1676 config PPPOATM
1677         tristate "PPP over ATM"
1678         depends on ATM && PPP
1679         help
1680           Support PPP (Point to Point Protocol) encapsulated in ATM frames.
1681           This implementation does not yet comply with section 8 of RFC2364,
1682           which can lead to bad results if the ATM peer loses state and
1683           changes its encapsulation unilaterally.
1684
1685 config PPPOL2TP
1686         tristate "PPP over L2TP (EXPERIMENTAL)"
1687         depends on EXPERIMENTAL && L2TP && PPP
1688         help
1689           Support for PPP-over-L2TP socket family. L2TP is a protocol
1690           used by ISPs and enterprises to tunnel PPP traffic over UDP
1691           tunnels. L2TP is replacing PPTP for VPN uses.
1692
1693 config SLIP
1694         tristate "SLIP (serial line) support"
1695         ---help---
1696           Say Y if you intend to use SLIP or CSLIP (compressed SLIP) to
1697           connect to your Internet service provider or to connect to some
1698           other local Unix box or if you want to configure your Linux box as a
1699           Slip/CSlip server for other people to dial in. SLIP (Serial Line
1700           Internet Protocol) is a protocol used to send Internet traffic over
1701           serial connections such as telephone lines or null modem cables;
1702           nowadays, the protocol PPP is more commonly used for this same
1703           purpose.
1704
1705           Normally, your access provider has to support SLIP in order for you
1706           to be able to use it, but there is now a SLIP emulator called SLiRP
1707           around (available from
1708           <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
1709           allows you to use SLIP over a regular dial up shell connection. If
1710           you plan to use SLiRP, make sure to say Y to CSLIP, below. The
1711           NET-3-HOWTO, available from
1712           <http://www.tldp.org/docs.html#howto>, explains how to
1713           configure SLIP. Note that you don't need this option if you just
1714           want to run term (term is a program which gives you almost full
1715           Internet connectivity if you have a regular dial up shell account on
1716           some Internet connected Unix computer. Read
1717           <http://www.bart.nl/~patrickr/term-howto/Term-HOWTO.html>). SLIP
1718           support will enlarge your kernel by about 4 KB. If unsure, say N.
1719
1720           To compile this driver as a module, choose M here. The module
1721           will be called slip.
1722
1723 config SLIP_COMPRESSED
1724         bool "CSLIP compressed headers"
1725         depends on SLIP
1726         select SLHC
1727         ---help---
1728           This protocol is faster than SLIP because it uses compression on the
1729           TCP/IP headers (not on the data itself), but it has to be supported
1730           on both ends. Ask your access provider if you are not sure and
1731           answer Y, just in case. You will still be able to use plain SLIP. If
1732           you plan to use SLiRP, the SLIP emulator (available from
1733           <ftp://ibiblio.org/pub/Linux/system/network/serial/>) which
1734           allows you to use SLIP over a regular dial up shell connection, you
1735           definitely want to say Y here. The NET-3-HOWTO, available from
1736           <http://www.tldp.org/docs.html#howto>, explains how to configure
1737           CSLIP. This won't enlarge your kernel.
1738
1739 config SLHC
1740         tristate
1741         help
1742           This option enables Van Jacobsen serial line header compression
1743           routines.
1744
1745 config SLIP_SMART
1746         bool "Keepalive and linefill"
1747         depends on SLIP
1748         help
1749           Adds additional capabilities to the SLIP driver to support the
1750           RELCOM line fill and keepalive monitoring. Ideal on poor quality
1751           analogue lines.
1752
1753 config SLIP_MODE_SLIP6
1754         bool "Six bit SLIP encapsulation"
1755         depends on SLIP
1756         help
1757           Just occasionally you may need to run IP over hostile serial
1758           networks that don't pass all control characters or are only seven
1759           bit. Saying Y here adds an extra mode you can use with SLIP:
1760           "slip6". In this mode, SLIP will only send normal ASCII symbols over
1761           the serial device. Naturally, this has to be supported at the other
1762           end of the link as well. It's good enough, for example, to run IP
1763           over the async ports of a Camtec JNT Pad. If unsure, say N.
1764
1765 config NET_FC
1766         bool "Fibre Channel driver support"
1767         depends on SCSI && PCI
1768         help
1769           Fibre Channel is a high speed serial protocol mainly used to connect
1770           large storage devices to the computer; it is compatible with and
1771           intended to replace SCSI.
1772
1773           If you intend to use Fibre Channel, you need to have a Fibre channel
1774           adaptor card in your computer; say Y here and to the driver for your
1775           adaptor below. You also should have said Y to "SCSI support" and
1776           "SCSI generic support".
1777
1778 config NETCONSOLE
1779         tristate "Network console logging support"
1780         ---help---
1781         If you want to log kernel messages over the network, enable this.
1782         See <file:Documentation/networking/netconsole.txt> for details.
1783
1784 config NETCONSOLE_DYNAMIC
1785         bool "Dynamic reconfiguration of logging targets"
1786         depends on NETCONSOLE && SYSFS && CONFIGFS_FS && \
1787                         !(NETCONSOLE=y && CONFIGFS_FS=m)
1788         help
1789           This option enables the ability to dynamically reconfigure target
1790           parameters (interface, IP addresses, port numbers, MAC addresses)
1791           at runtime through a userspace interface exported using configfs.
1792           See <file:Documentation/networking/netconsole.txt> for details.
1793
1794 config NETPOLL
1795         def_bool NETCONSOLE
1796
1797 config NETPOLL_TRAP
1798         bool "Netpoll traffic trapping"
1799         default n
1800         depends on NETPOLL
1801
1802 config NET_POLL_CONTROLLER
1803         def_bool NETPOLL
1804
1805 config VIRTIO_NET
1806         tristate "Virtio network driver (EXPERIMENTAL)"
1807         depends on EXPERIMENTAL && VIRTIO
1808         ---help---
1809           This is the virtual network driver for virtio.  It can be used with
1810           lguest or QEMU based VMMs (like KVM or Xen).  Say Y or M.
1811
1812 config VMXNET3
1813         tristate "VMware VMXNET3 ethernet driver"
1814         depends on PCI && INET
1815         help
1816           This driver supports VMware's vmxnet3 virtual ethernet NIC.
1817           To compile this driver as a module, choose M here: the
1818           module will be called vmxnet3.
1819
1820 endif # NETDEVICES