1. 587
Parámetros y Módulos Generales
This chapter is provided to illustrate some of the possible parameters available for common hardware
device drivers
1
, which under Red Hat Enterprise Linux are called kernel modules. In most cases,
the default parameters do work. However, there may be times when extra module parameters are
necessary for a device to function properly or to override the module's default parameters for the
device.
Durante la instalación, Red Hat Enterprise Linux utiliza un subconjunto limitado de controladores de
dispositivos para crear un ambiente de instalación estable. Aún cuando el programa de instalación
soporta muchos tipos de hardware diferente, algunos controladores (incluyendo aquellos para
adaptadores SCSI y tarjetas de red) no son incluidos en el kernel de instalación. Más bien, estos
deben ser cargados como módulos por el usuario en el momento del arranque.
Una vez que la instalación se haya completado, hay soporte disponible para una gran cantidad de
dispositivos a través de los módulos del kernel.
Importante
Red Hat provides a large number of unsupported device drivers in groups of
packages called kernel-smp-unsupported-<kernel-version> and kernel-
hugemem-unsupported-<kernel-version> . Replace <kernel-version>
with the version of the kernel installed on the system. These packages are not
installed by the Red Hat Enterprise Linux installation program, and the modules
provided are not supported by Red Hat, Inc.
41.1. Utilidades del Módulo del Kernel
Si está instalado el paquete module-init-tools, estará disponibleun grupo de comandos
para administrar los módulos del kernel. Utilice estos comandos para determinar si un módulo ha
sido cargado exitosamente o cuando esté probando diferentes módulos para una nueva parte de
hardware.
El comando /sbin/lsmod presenta una lista de módulos cargados actualmente. Por ejemplo:
Module Size Used by
tun 11585 1
autofs4 21573 1
hidp 16193 2
rfcomm 37849 0
l2cap 23873 10 hidp,rfcomm
blue tooth 50085 5 hidp,rfcomm,l2cap
sunrpc 153725 1
dm_mirror 29073 0
dm_mod 57433 1 dm_ mirror
video 17221 0
sbs 16257 0
i2c_ec 5569 1 sbs
container 4801 0
button 7249 0
A driver is software which enables Linux to use a particular hardware device. Without a driver, the kernel cannot communicate
with attached devices.
2. 588
Carga Persistente de Módulos
battery 10565 0
asus_ac pi 16857 0
ac 5701 0
ipv6 246113 12
lp 13065 0
parport_pc 27493 1
pa rport 37001 2 lp,parport_pc
uhci_hcd 23885 0
floppy 57317 1
sg 34653 0
snd_ens1371 26721 1
gameport 16073 1 snd_ens1371
snd_rawmidi 24897 1 snd_ens1371
snd_ac97_codec 91360 1 snd_ens1371
snd_ac97_bus 2753 1 snd_ac97_codec
snd_seq_dummy 4293 0
snd_seq_oss 32705 0
serio_ra w 7493 0
snd_seq_midi_event 8001 1 snd_seq_oss
snd_seq 51633 5 snd_seq_dummy,snd_seq_oss,snd_seq_midi_event
snd_seq_device 8781 4 snd_rawmidi,snd_seq_dummy,snd_seq_oss,snd_seq
snd_pcm_oss 42849 0
snd_mixer_oss 16833 1 snd_pcm_oss
snd_pcm 76485 3 snd_ens1371,snd_ac97_codec,snd_pcm_oss
snd_timer 23237 2 snd_seq,snd_pcm
snd 52933 12
snd_ens1371,snd_rawmidi,snd_ac97_codec,snd_seq_oss,snd_seq,snd_seq_device,snd_pcm_oss,snd_mixer_oss,snd_pc m,snd_
soundcore 10145 1 snd
i2c _piix4 8909 0
ide_cd 38625 3
snd_page_alloc 10569 1 snd_pcm
i2c _core 21697 2 i2c _ec,i2c _piix4
pcnet32 34117 0
cdrom 34913 1 ide_cd
mii 5825 1 pcnet32
pcspkr 3521 0
ext3 129737 2
jbd 58473 1 ext3
mptspi 17353 3
scsi_tra nsport_spi 25025 1 mptspi
mptscsih 23361 1 mptspi
sd_mod 20929 16
scsi_mod 134121 5 sg,mptspi,scsi_tra nsport_spi,mptscsih,sd_mod
mptbase 52193 2 mptspi,mptscsih
Parac cada línea, la primera columna es el nombre del módulo, la segunda columna es el tamaño del
módulo y la tercera es la cuenta de uso.
La salida /sbin/lsmod es menos verbosa y más fácil de leer que la salida de /proc/modules.
To load a kernel module, use the /sbin/modprobe command followed by the kernel module name.
By default, modprobe attempts to load the module from the /lib/modules/<kernel-version>/
kernel/drivers/ subdirectories. There is a subdirectory for each type of module, such as the net/
subdirectory for network interface drivers. Some kernel modules have module dependencies, meaning
that other modules must be loaded first for it to load. The /sbin/modprobe command checks for
these dependencies and loads the module dependencies before loading the specified module.
Por ejemplo, el comando
/sbin/modprobe e100
3. 589
Carga Persistente de Módulos
carga cualquier dependencia de módulos y luego carga el módulo e100.
Para imprimir en la pantalla todos los comandos tal como /sbin/modprobe los ejecuta utilice la
opción -v. Por ejemplo:
/sbin/modprobe -v e100
Aparecerá una salida similar a:
/sbin/insmod /lib/modules/2.6.9-5.EL/kernel/drive rs/net/e 100.ko
Using /lib/modules/2.6.9-5.EL/ke rne l/drivers/ne t/e 100.ko
Symbol version prefix 'smp_'
También existe el comando /sbin/insmod poara cargar módulos del kernel; sin embargo, no
recuelve dependencias. Por lo tanto se recomienda utilizar el comando /sbin/modprobe.
Para descargar módulos del kernel utilice el comando /sbin/rmmod seguido por el nombre del
módulo. La utilidad rmmod solamente descarga módulos que no se encuentran en uso y que no son
una dependencia de otros módulos en uso.
Por ejemplo, el comando
/sbin/rmmod e100
descarga el módulo del kernel e100.
Otra utilidad bastante práctica del módulo de kernel es modinfo. Utilice el comando /sbin/
modinfo para visualizar información sobre un módulo de kernel. La sintaxis general es:
/sbin/m odinfo [options ] <module>
Las opciones incluyen -d, el cual presenta una breve descripción del módulo y -p, el cual enumera
los parámetros que el módulo soporta. Para obtener una lista completa de opciones consulte la
página modinfo del manual (man modinfo).
41.2. Carga Persistente de Módulos
Los módulos del kernel usualmente son cargados directamente por la utilidad que los necesita, la cual
es configurada de manera correcta en el archivo /etc/modprobe.conf. Sin embargo, a veces es
necesario forzar explícitamente la carga de un módulo en el momento de arranque.
Red Hat Enterprise Linux verifica la existencia del archivo /etc/rc.modules en el momento de
arranque, el cual contiene varios comandos para cargar módulos. SE debe utilizar rc.modules y no
rc.local ya que rc.modules es ejecutado antes durante el proceso de arranque.
Por ejemplo, los siguientes comandos configuran la carga del módulo foo en el momento de
arranque (como root):
# echo modprobe foo >> /etc/rc.module s
# chmod +x /etc/rc.module s
4. 590
Carga Persistente de Módulos
Tip
Este enfoque no es necesario para las interfaces de red y de SCSI ya que tienen sus
propios mecanismos específicos.
41.3. Especificar parámetros de módulos
Es algunas situaciones, puede ser necesario suministrar parámetros a un módulos cuando se carga,
para que pueda funcionar apropiadamente.
Por ejemplo, para activar la conexión full duplex a una velocidad de 100Mbps para una tarjeta Intel
Ether Express/100, cargue el controlador e100 con la opción e100_speed_duplex=4.
Atención
Cuando un parámetro tiene comas,asegúrese de no colocar un espacio luego de la
coma.
Tip
El comando modinfo también es útil para listar información sobre el módulo del
kernel, tal como la versión, dependencias, opciones de parámetros y aliases.
41.4. Parámetros de Almacenamiento
Hardware Módulo Parámetros
Controlador de
Almacenamiento 3ware y
series 9000
Adaptec Advanced Raid
Products, Dell PERC2, 2/Si, 3/
Si, 3/Di, HP NetRAID-4M, IBM
ServeRAID, y ICP SCSI driver
3w-xxxx.ko, 3w-9xxx.ko
aacraid.ko nondasd — Controla el
escaneo de hba por
dispositivos nondasd. 0=off,
1=on
dacmode — Controla si dma
está utilizando 64 bit DAC.
0=off, 1=on
commit — Controla si se
emite un COMMIT_CONFIG
al adaptador para arrays
foráneos. Usualmente esto se
necesita en sistemas que no
tienen una BIOS. 0=off, 1=on
startup_timeout — The
duration of time in seconds
to wait for adapter to have it's
5. 591
Parámetros de Almacenamiento
Hardware Módulo Parámetros
kernel up and running. This
is typically adjusted for large
systems that do not have a
BIOS
aif_timeout — El tiempo en
segundos que se debe esperar
para que las aplicaciones
reciban AIFs antes de
desregistrarlas. Usualmente
esto es ajustado para sistemas
altamente cargados.
numacb — Pide un límite al
número de bloqueos de control
del adaptador (FIB) asignados.
Los valores válidos son 512 y
menores. Por defecto se utiliza
la sugerencia de Firmware.
Adaptec 28xx, R9xx, 39xx
AHA-284x, AHA-29xx,
AHA-394x, AHA-398x,
AHA-274x, AHA-274xT,
AHA-2842, AHA-2910B,
AHA-2920C, AHA-2930/
U/U2, AHA-2940/W/U/
UW/AU/, U2W/U2/U2B/,
U2BOEM, AHA-2944D/WD/
UD/UWD, AHA-2950U2/W/B,
AHA-3940/U/W/UW/, AUW/
U2W/U2B, AHA-3950U2D,
AHA-3985/U/W/UW, AIC-777x,
AIC-785x, AIC-786x, AIC-787x,
AIC-788x , AIC-789x, AIC-3860
acbsize — Pide un tamaño
especifico del bloqueo de
control del adaptador. Los
número válidos son 512, 2048,
4096 y 8192. Por defecto utiliza
la sugerencia de Firmware.
aic7xxx.ko verbose — Habilita el registro
verboso de diagnóstico
allow_memio — Permite que
los registros de dispositivos
sean mapeados a la memoria.
debug — Activación los
valores de depuración de
Bitmask.
no_probe — Desactivación
del sondeo del controlador de
EISA/VLB.
probe_eisa_vl — Activación
del sondeo del controlador
EISA/VLB
no_reset — Suprimir la
configuración inicial del bus.
extended — Permitir
geometria extendida en todos
los controladores.
6. 592
Parámetros de Almacenamiento
Hardware Módulo Parámetros
periodic_otag — Envía una
transacción etiquetada
ordenada periódicamente para
prevenir inanición de etiquetas.
Algunos discos viejos o arrays
RAID pueden necesitarlo.
tag_info:<tag_str> — Set
per-target tag depth
global_tag_depth:<int>
— Global tag depth for every
target on every bus
IBM ServeRAID ips.ko
seltime:<int> — Selection
Timeout
(0/256ms,1/128ms,2/64ms,3/32ms)
Dispositivo LSI Logic
MegaRAID Mailbox
Controlador Emulex LightPulse
Fibre Channel SCSI
megaraid_mbox.ko unconf_disks —
Configurado para exponer
discos no configurados al
kernel (por defecto es 0).
busy_wait — Tiempo máximo
de espera en microsegundos
para el buzón si se encuentra
ocupado (por defecto=10)
max_sectors — Número
máximo de sectores por
comando IO (por defecto=128)
cmd_per_lun — Número
máximo de comandos por
unidad lógica (por defecto=64)
fast_load —Carga más
rápidadel dispositivo, ¡se salta
los dispositivos físicos! (por
defecto=0)
debug_level — Nivel de
depuración para el controlador
(por defecto=0)
lpfc.ko lpfc_poll — control del
modo de poll de la llamada
FCP: 0 - ninguno, 1 - poll
con interrupciones activadas,
3 - poll y desactivación de
llamadas FCP.
7. 593
Parámetros de Almacenamiento
Hardware Módulo Parámetros
lpfc_log_verbose — bit-
mask de registro verboso
lpfc_lun_queue_depth —
Número máximo de comandos
FCP que se pueden poner en
cola para una LUN específica.
lpfc_hba_queue_depth —
Número máximo de comandos
FCP que pueden hacer cola
para un lpfc HBA
lpfc_scan_down —
Empieza a escanear buscando
dispositivos desde el ALPA
más alto al más bajo
lpfc_nodev_tmo — El
número de segundos que el
controlador mantendrá I/O en
espera de que un dispositivo
vuelva
lpfc_topology —
Selecciona la topología del
canal de fibra
lpfc_link_speed —
Selecciona la velocidad del
enlace
lpfc_fcp_class —
Selecciona la clase del canal
de fibra del servicio para
secuencias FCP
lpfc_use_adisc — Utiliza
ADISC en redescubrimeinto
para autenticar dispositivos
FCP
lpfc_ack0 — Activa soporte
ACK0
lpfc_cr_delay — Una
cuenta de millisegundos
después del cual se genera
una respuesta de interrupción
lpfc_cr_count — Una
cuenta de E/S completas
8. 594
Parámetros de Almacenamiento
Hardware Módulo Parámetros
después de la cual se genera
una respuesta de interrupción
lpfc_multi_ring_support
— Determina el número de
llamadas SLI primarias para
difundir entradas IOCB
lpfc_fdmi_on — Avtivas
soporte FDMI
lpfc_discovery_threads
— Número máximo de
comandos ELS durante el
descubrimiento
lpfc_max_luns — LUN
máximo permitido
HP Smart Array cciss.ko
Fusión LSI Logic MPT mptbase.ko mptctl.ko
mptfc.ko mptlan.ko mptsas.ko
mptscsih.ko mptspi.ko
lpfc_poll_tmo —
Los millisegundos que el
controlador esperará entre
polling FCP ring
mpt_msi_enable —
Activación del Soporte MSI
mptfc_dev_loss_tm o
— Tiempo inicial en que
el controlador programa el
transporte en espera de
un reporte para devolver el
siguiente to return following a
device loss event.
mpt_pt_clear — Dejar en
blanco la tabla de persistencia
Controlador QLogic Fibre
Channel
mpt_saf_te — Fuerza la
activación del Procesador SEP
qla2xxx.ko ql2xlogintimeout — Valor
en segundos antes de iniciar
una sesión.
qlport_down_retry —
Número máximo de intentos
por comandos a un puerto que
devuelve un status PORT-
DOWN.
9. 595
Parámetros de Almacenamiento
Hardware Módulo Parámetros
ql2xplogiabsentdevice —
La opción para habilitar PLOGI
para los dispositivos que no se
encuentran presentes después
de un escáner de Fabric.
ql2xloginretrycount —
Especifica un valor alterno para
la cuenta de reintentos del
inicio de sesión NVRAM.
ql2xallocfwdump —
La opción para habilitar la
asignación de memoria a un
volcado del firmware durante
una inicialización HBA. Por
defecto es 1 - asignar memoria.
extended_error_logging
— La opción para activar el
registro extendido de errores.
NCR, Symbios y LSI 8xx y
1010
ql2xfdmienable — Activa
registros FDMI.
sym53c8xx cmd_per_lun — Número
máximo de etiquetas a utilizar
por defecto
tag_ctrl — Control detallado
sobre etiquetas por LUN
burst — Estallido máximo. 0
para deshabilitar, 255 para leer
desde los registros
led — Configurado en 1 para
habilitar el soporte LED
diff — 0 para modo no
differencial, 1 para BIOS, 2
para siempre, 3 para no GPIO3
irqm — 0 para abrir drenaje,
1 para dejarlo tal cual, 2 para
tótem
buschk — 0 para no verificar,
1 para separar ante un error, 2
para advertir ante un error
10. 596
Parámetros de Almacenamiento
Hardware Módulo Parámetros
hostid — La identificación
SCSI a utilizar para los
adaptadores host
verb — 0 para verbosidad
mínima, 1 para normal, 2 para
excesiva
debug — Configura los bits
para activar la depuración
settle — Selecciona el
retraso en segundos. Por
defecto es 3
nvram — Opción actualmente
no utilizada
excl — Lista direcciones
ioport para evitar que los
controladores sean adjuntados
Tabla 41.1. Parámetros de Almacenamiento de Módulos
41.5. Parámetros Ethernet
safe — Set other settings to a
"safe mode"
Importante
La mayoría de las tarjetas de red basadas en Ethernet (NICs), no requieren
parámetros de módulos para alterar las configuraciones. En vez de esto, ellas
pueden ser configuradas usando ethtool o mii-tool. Sólo después de que estas
herramientas fallen al funcionar, deberían de ajustarse los parámetros del módulo. Se
pueden visualizar los parámetros del módulo usando el comando modinfo.
Nota
Para obtener información sobre el uso de estas herramientas consulte las páginas
del manual para ethtool, mii-tool y modinfo.
Hardware Módulo Parámetros
3Com EtherLink PCI III/XL
Vortex (3c590, 3c592, 3c595,
3c597) Boomerang (3c900,
3c905, 3c595)
3c59x.ko debug — Nivel de depuración
3c59x (0-6)
options — 3c59x: Bits 0-3:
tipo de medios, bit 4: bus
mastering, bit 9: full duplex
11. 597
Parámetros Ethernet
Hardware Módulo Parámetros
global_options — 3c59x:
lo mismo que opciones pero
aplica a todos los NICs si
opciones no se encuentra
configurada
full_duplex —
configuración(es) (1) full duplex
3c59x
global_full_duplex
— 3c59x: lo mismo que
full_duplex, pero aplica a todos
los NICs si full_duplex no se
encuentra configurado
hw_checksums —Suma de
verificación 3c59x revisando
adaptador(es) (0-1)
flow_ctrl — Utilización de
control de flujo 3c59x 802.3x
(PAUSE solamente) (0-1)
enable_wol — 3c59x:
Activar Wake-on-LAN para los
adaptador(es) (0-1)
global_enable_wol —
3c59x: igual que enable_wol,
pero aplica a todos los NICs si
enable_wol no se encuentra
configurada
rx_copybreak — copie un
punto de parada 3c59x para
copiar- solamente-pequeñas-
estructuras
max_interrupt_work
— número máximo de
eventos 3c59x manejados por
interrupción
compaq_ioaddr — Dirección
con base E/S 3c59x PCI
(solución temporal del
problema Compaq BIOS)
compaq_irq — número IRQ
3c59x PCI (solución temporal
del problema Compaq BIOS)
12. 598
Parámetros Ethernet
Hardware Módulo Parámetros
compaq_device_id —
Dispositivo de Identificación
3c59x PCI (solución temporal
del problema Compaq BIOS)
watchdog — tiempo de espera
de transmisión en milisegundos
3c59x
global_use_mmio — 3c59x:
igual que use_mmio pero
aplica a todos los NICs si las
opciones no se encuentran
configuradas
Tarjetas RTL8139, SMC EZ
Card Fast Ethernet, RealTek
usando RTL8129, o RTL8139
Fast Ethernet chipsets
8139too.ko
use_mmio — 3c59x: utiliza
memory-mapeada PCI recurso
E/S (0-1)
Controlador ethernet Broadcom
4400 10/100 PCI
Controlador Broadcom
NetXtreme II BCM5706/5708
b44.ko b44_debug — valor de
activación del mensaje de
depuración de B44 bitmapped
bnx2.ko disable_msi —
Desactivación de las
Interrupciones Señalizadas por
Mensajes (MSI)
Intel Ether Express/100 driver e100.ko debug — Nivel de depuración
(0=ninguno,...,16=todo)
Intel EtherExpress/1000
Gigabit
eeprom_bad_csum_allow
— Permite malas sumas de
comprobación eeprom
e1000.ko TxDescriptors — Número
de descriptores de transmisión
RxDescriptors — Número
de descriptores recibidos
Speed — Velocidad de la
configuración
Duplex — Configuración de
duplex
AutoNeg — Configuración de
la autonegociación publicada
13. 599
Parámetros Ethernet
Hardware Módulo Parámetros
FlowControl —
Configuración del Control de
Flujo
XsumRX — Activar o Desactivar
descarga de suma de
verificación recibida
TxIntDelay — Retraso de la
Interrupción de la Transmisión
TxAbsIntDelay — Retraso
de la Interrupción Absoluta de
la Transmisión
RxIntDelay — Retraso de la
Interrupción Recibida
RxAbsIntDelay — Retraso
de la Interrupción Absoluta
Recibida
InterruptThrottleRate
— Interrupción del la Tasa de
Aceleración
SmartPowerDownEnable —
Activa PHY smart power down
Controlador Myricom 10G
(10GbE)
KumeranLockLoss — Activa
Kumeran lock loss workaround
myri10ge.ko myri10ge_fw_name —
Nombre de la imagen del
firmware
myri10ge_ecrc_enable —
Activa CRC Extendida en PCI-
E
myri10ge_max_intr_slots
— Interrumpe ranuras de colas
myri10ge_sm all_bytes —
Límite de pequeños paquetes
myri10ge_msi — Activar
Interrupciones Señaladas de
Mensajes
myri10ge_intr_coal_delay
— Interrupción del retraso de
fusionamiento
14. 600
Parámetros Ethernet
Hardware Módulo Parámetros
myri10ge_flow_control —
Parámetro de pausa
myri10ge_deassert_wait
— Espera cuando desimpone
interrupciones de legado
myri10ge_force_firmware
— Forza a firmware a asumir
completaciones alineadas
myri10ge_skb_cross_4k —
¿Un pequeño skb puede cruzar
un límite de 4KB?
myri10ge_initial_mtu —
MTUInicial
myri10ge_napi_weight —
Peso asignado al NAPI
myri10ge_watchdog_timeout
— Tiempo de espera por
watchdog
NatSemi DP83815 Fast
Ethernet
myri10ge_max_irq_loops
— Configura el límite de
detección IRQ del legado
incluido
natsemi.ko mtu — DP8381x MTU(todos
las placas)
debug — nivel de depuración
DP8381x predeterminado
rx_copybreak — Punto de
ruptura de copia de DP8381x
para copiar-solamente-
pequeñas-estructuras.
options — DP8381x: Bits
0-3: tipo de medios, bit 17: full
duplex
AMD PCnet32 y AMD
PCnetPCI
pcnet32.ko
full_duplex —
configuración(es) DP8381x full
duplex (1)
PCnet32 y PCnetPCI pcnet32.ko debug — nivel de depuración
pcnet32
15. 601
Parámetros Ethernet
Hardware Módulo Parámetros
max_interrupt_work —
Número máximo de eventos
pcnet32 manejados por
interrupción
rx_copybreak — Punto de
ruptura de copia de pcnet32
para copiar-solamente-
pequeñas-estructuras.
tx_start_pt — punto de
inicio (0-3) para transmitir
pcnet32
pcnet32vlb — soporte
pcnet32 Vesa local bus (VLB)
(0/1)
options — configuración(es)
de la opción inicial pcnet32
(0-15)
full_duplex —
configuración(es) pcnet32 full
duplex (1)
Controlador RealTek RTL-8169
Gigabit Ethernet
homepna — modo pcnet32
para tarjetas 79C978 (1 para
HomePNA, 0 para Ethernet,
por defecto Ethernet
r8169.ko media — fuerza la operación
de phy. Descontinuado y
reemplazado por ethtool (8).
rx_copybreak — Punto de
ruptura de copia para copiar-
solamente-pequeñas-
estructuras.
use_dac — Activa PCI DAC.
No es seguro para ranuras de
32 bit PCI.
Adaptador Neterion Xframe
10GbE Server
s2io.ko
debug — Nivel de verbosidad
de depuración (0=ninguna, ...,
16=toda)
Ethernet rápida SIS 900/701G
PCI
sis900.ko multicast_filter_limit
— Número máximo de
16. 602
Parámetros Ethernet
Hardware Módulo Parámetros
direcciones multicast filtradas
SiS 900/7016
max_interrupt_work —
Número máximo de eventos
manejados por interrupción SiS
900/7016
Controlador Adaptec Starfire
Ethernet
sis900_debug — nivel de
mensajes de depuración de
SiS 900/7016 bitmapped
starfire.ko max_interrupt_work —
Número máximo de eventos
manejados por interrupción
mtu — MTU(todas las placas)
debug — Nivel de depuración
(0-6)
rx_copybreak — Punto de
ruptura de copia para copiar-
solamente-pequeñas-
estructuras.
intr_latency — Latencia
de interrupción máxima en
microsegundos
small_frames — Tamano
máximo de estructuras
que eluden la latencia de
interrupción (0,64,128,256,512)
options — Descontinuado:
Bits 0-3: tipo de medios, bit 17:
full duplex
full_duplex —
Descontinuado: Configuración
de full-duplex forzada (0/1)
enable_hw_cksum — Activar/
desactivar el soporte a la suma
de verificación de hardware
(0/1)
Broadcom Tigon3 tg3.ko tg3_debug — Valor de
activación de los mensajes de
depuración Tigon3 bitmapped
ThunderLAN PCI tlan.ko aui — ThunderLAN utiliza
puerto(s) AUI (0-1)
17. 603
Utilización de Múltiples Tarjetas Ethernet
Hardware Módulo Parámetros
duplex — configuración(es)
ConThunderLAN duplex (0-
predeterminado, 1-mitad, 2-
completo)
speed — Configuración(es)
ThunderLAN port speen
(0,10,100)
debug — Máscara de
depuración ThunderLAN
Digital 21x4x Tulip
PCI Ethernet cards
SMC EtherPower 10
PCI(8432T/8432BT)
SMC EtherPower 10/100
PCI(9332DST) DEC
EtherWorks 100/10
PCI(DE500-XA) DEC
EtherWorks 10 PCI(DE450)
DEC QSILVER's, Znyx 312
etherarray Allied Telesis
LA100PCI-T Danpex EN-9400,
Cogent EM110
Tarjetas Ethernet rápida PCI
VIA Rhine con bien sea el VIA
VT86c100A Rhine-II PCI o
3043 Rhine-I D-Link DFE-930-
TX PCI 10/100
bbuf — ThunderLAN utiliza un
buffer grande (0-1)
tulip.ko io io_port
via-rhine.ko max_interrupt_work —
Número máximo de eventos
VIA Rhine manejados por
interrupción
debug — Nivel de depuración
VIA Rhine (0-7)
rx_copybreak — punto de
ruptura de copia de VIA Rhine
para estructuras-solamente-
pequeñas.
Tabla 41.2. Parámetros de módulos Ethernet
avoid_D3 — Evitar power
state D3 (solución alternativa
para BIOS dañados)
41.5.1. Utilización de Múltiples Tarjetas Ethernet
Puede utilizar múltiples tarjetas Ethernet en una sóla máquina. Para cada tarjeta debe existir un
alias y posiblemente, líneas de options por cada tarjeta en /etc/modprobe.conf.
18. 604
Utilización de Múltiples Tarjetas Ethernet
Para información adicional sobre el uso de más de una tarjeta Ethernet, consulte el Linux Ethernet-
HOWTO online at http://www.redhat.com/mirrors/LDP/HOWTO/Ethernet-HOWTO.html.
41.5.2. El Módulo del canal de vinculación (Bonding)
Red Hat Enterprise Linux allows administrators to bind NICs together into a single channel using the
bonding kernel module and a special network interface, called a channel bonding interface. Channel
bonding enables two or more network interfaces to act as one, simultaneously increasing the
bandwidth and providing redundancy.
Para enlazar varias interfaces de red en un canal, el administrador debe seguir los pasos siguientes:
1. Añada la siguiente línea a /etc/modprobe.conf:
alias bond<N> bonding
Replace <N> with the interface number, such as 0. For each configured channel bonding interface,
there must be a corresponding entry in /etc/modprobe.conf.
2. Configure a channel bonding interface as outlined in Sección 14.2.3, “Interfaces de unión de
canales”.
3. To enhance performance, adjust available module options to ascertain what combination works
best. Pay particular attention to the miimon or arp_interval and the arp_ip_target
parameters. Refer to Sección 41.5.2.1, “bonding Module Directives” for a list of available options
and how to quickly determine the best ones for your bonded interface.
41.5.2.1. bonding Module Directives
It is a good idea to test which channel bonding module parameters work best for your bonded
interfaces before adding them to the BONDING_OPTS="<bonding parameters>" directive in your
bonding interface configuration file (ifcfg-bond0 for example). Parameters to bonded interfaces
can be configured without unloading (and reloading) the bonding module by manipulating files in the
sysfs file system.
sysfs is a virtual file system that represents kernel objects as directories, files and symbolic links.
sysfs can be used to query for information about kernel objects, and can also manipulate those
objects through the use of normal file system commands. The sysfs virtual file system has a line in /
etc/fstab, and is mounted under /sys.
All bonded interfaces can be configured dynamically by interacting with and manipulating files under
the /sys/class/net/ directory. After you have created a channel bonding interface file such
as ifcfg-bond0 and inserted SLAVE=bond0 directives in the bonded interfaces following the
instructions in Sección 14.2.3, “Interfaces de unión de canales”, you can then proceed to testing and
determining the best parameters for your bonded interface.
First, bring up the bond you created by running ifconfig bond<N> up as root:
~]# ifc onfig bond0 up
If you have correctly created the ifcfg-bond0 bonding interface file, you will be able to see bond0
listed in the output of running ifconfig (without any options):
~]# ifconfig
19. 605
El Módulo del canal de vinculación (Bonding)
bond0 Link encap:Ethernet HWaddr 00:00:00:00:00:00
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX pac ke ts:0 errors:0 dropped:0 overruns:0 frame:0
TX pac ke ts:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
eth0 Link encap:Ethernet HWaddr 52:54:00:26:9E:F1
inet addr:192.168.122.251 Bcast:192.168.122.255 Mask:255.255.255.0
inet6 a ddr: fe 80::5054:ff:fe 26:9ef1/64 Sc ope:Link
UP BROADCAST RUNNINGMULTICAST MTU:1500 Metric:1
RX pac kets:207 errors:0 dropped:0 overruns:0 frame:0
TX pac kets:205 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:70374 (68.7 KiB) TX bytes:25298 (24.7 KiB)
[output trunc ate d]
To view all existing bonds, even if they are not up, run:
~]# cat /sys/class/net/bonding_masters
bond0
You can configure each bond individually by manipulating the files located in the /sys/class/net/
bond<N>/bonding/ directory. First, the bond you are configuring must be taken down:
~]# ifc onfig bond0 down
As an example, to enable MII monitoring on bond0 with a 1 second interval, you could run (as root):
~]# echo 1000 > /sys/class/ne t/bond0/bonding/miimon
To configure bond0 for balance-alb mode, you could run either:
~]# echo 6 > /sys/class/ne t/bond0/bonding/mode
...or, using the name of the mode:
~]# echo balance-alb > /sys/class/net/bond0/bonding/mode
After configuring some options for the bond in question, you can bring it up and test it by running
ifconfig bond<N> up . If you decide to change the options, take the interface down, modify its
parameters using sysfs, bring it back up, and re-test.
Once you have determined the best set of parameters for your bond, add those parameters as a
space-separated list to the BONDING_OPTS= directive of the /etc/sysconfig/network-
scripts/ifcfg-bond<N> file for the bonded interface you are configuring. Whenever that bond
is brought up (for example, by the system during the boot sequence if the ONBOOT=yes directive
is set), the bonding options specified in the BONDING_OPTS willtake effect for that bond. For
more information on configuring bonded interfaces (and BONDING_OPTS),refer to Sección 14.2.3,
“Interfaces de unión de canales”.
The following is a list of available channel bonding module parameters for the bonding module. For
more in-depth information on configuring channel bonding and the exhaustive list of bonding module
parameters, install the kernel-doc package and then locating and opening the included bonding.txt
file:
~]# yum -y install kernel-doc
20. 606
El Módulo del canal de vinculación (Bonding)
~]# nano -w $(rpm -ql kerne l-doc |gre p bonding.txt)
Bonding Interface Parameters
arp_interval=<time_in_milliseconds>
Specifies (in milliseconds) how often ARP monitoring occurs.
Importante
It is essential that both arp_interval and arp_ip_target parameters are
specified, or, alternatively, the miimon parameter is specified. Failure to do so
can cause degradation of network performance in the event that a link fails.
If using this setting while in mode=0 or mode=1 (the two load-balancing modes), the network
switch must be configured to distribute packets evenly across the NICs. For more information
on how to accomplish this, refer to /usr/share/doc/kernel-doc-<kernel_version>/
Documentation/networking/bonding.txt
The value is set to 0 by default, which disables it.
arp_ip_target=<ip_address> [,<ip_address_2>,...<ip_address_16> ]
Specifies the target IP address of ARP requests when the arp_interval parameter is enabled.
Up to 16 IP addresses can be specified in a comma separated list.
arp_validate=<value>
Validate source/distribution of ARP probes; default is none. Other valid values are active,
back up, and all.
debug=<number>
Enables debug messages. Possible values are:
• 0 — Debug messages are disabled. This is the default.
• 1 — Debug messages are enabled.
down delay=<time_in_milliseconds>
Specifies (in milliseconds) how long to wait after link failure before disabling the link. The value
must be a multiple of the value specified in the miimon parameter. The value is set to 0 by
default, which disables it.
lacp_rate=<value>
Specifies the rate at which link partners should transmit LACPDU packets in 802.3ad mode.
Possible values are:
• slow or 0 — Default setting. This specifies that partners should transmit LACPDUs every 30
seconds.
• fast or 1 — Specifies that partners should transmit LACPDUs every 1 second.
miimon=<time_in_milliseconds>
Specifies (in milliseconds) how often MII link monitoring occurs. This is useful if high availability is
required because MII is used to verify that the NIC is active. To verify that the driver for a particular
NIC supports the MII tool, type the following command as root:
21. 607
El Módulo del canal de vinculación (Bonding)
~]# ethtool <interface_name> | gre p "Link detecte d:"
In this command, replace <interface_name> with the name of the device interface, such as
eth0, not the bond interface. If MII is supported, the command returns:
Enlace detecta do: sí
If using a bonded interface for high availability, the module for each NIC must support MII. Setting
the value to 0 (the default), turns this feature off. When configuring this setting, a good starting
point for this parameter is 100.
Importante
It is essential that both arp_interval and arp_ip_target parameters are
specified, or, alternatively, the miimon parameter is specified. Failure to do so
can cause degradation of network performance in the event that a link fails.
mode=<value>
...where <value> is one of:
• balance-rr or 0 — Sets a round-robin policy for fault tolerance and load balancing.
Transmissions are received and sent out sequentially on each bonded slave interface beginning
with the first one available.
• active-backup or 1 — Sets an active-backup policy for fault tolerance. Transmissions are
received and sent out via the first available bonded slave interface. Another bonded slave
interface is only used if the active bonded slave interface fails.
• balance-xor or 2 — Sets an XOR (exclusive-or) policy for fault tolerance and load balancing.
Using this method, the interface matches up the incoming request's MAC address with the MAC
address for one of the slave NICs. Once this link is established, transmissions are sent out
sequentially beginning with the first available interface.
• broadcast or 3 — Sets a broadcast policy for fault tolerance. All transmissions are sent on all
slave interfaces.
• 802.3ad or 4 — Sets an IEEE 802.3ad dynamic link aggregation policy. Creates aggregation
groups that share the same speed and duplex settings. Transmits and receives on all slaves in
the active aggregator. Requires a switch that is 802.3ad compliant.
• balance-tlb or 5 — Sets a Transmit Load Balancing (TLB) policy for fault tolerance and
load balancing. The outgoing traffic is distributed according to the current load on each slave
interface. Incoming traffic is received by the current slave. If the receiving slave fails, another
slave takes over the MAC address of the failed slave.
• balance-alb or 6 — Sets an Active Load Balancing (ALB) policy for fault tolerance and load
balancing. Includes transmit and receive load balancing for IPV4 traffic. Receive load balancing
is achieved through ARP negotiation.
num_unsol_na=<number>
Specifies the number of unsolicited IPv6 Neighbor Advertisements to be issued after a failover
event. One unsolicited NA is issued immediately after the failover.
22. 608
El Módulo del canal de vinculación (Bonding)
The valid range is 0 - 255; the default value is 1. This option affects only the active-backup
mode.
primary=<interface_name>
Specifies the interface name, such as eth0, of the primary device. The primary device is the
first of the bonding interfaces to be used and is not abandoned unless it fails. This setting is
particularly useful when one NIC in the bonding interface is faster and, therefore, able to handle a
bigger load.
This setting is only valid when the bonding interface is in active-backup mode. Refer to /
usr/share/doc/kernel-doc-<kernel-version>/Documentation/networking/
bonding.txt for more information.
primary_reselect=<value>
Specifies the reselection policy for the primary slave. This affects how the primary slave is chosen
to become the active slave when failure of the active slave or recovery of the primary slave occurs.
This option is designed to prevent flip-flopping between the primary slave and other slaves.
Possible values are:
• always or 0 (default) — The primary slave becomes the active slave whenever it comes back
up.
• better or 1 — The primary slave becomes the active slave when it comes back up, if the
speed and duplex of the primary slave is better than the speed and duplex of the current active
slave.
• failure or 2 — The primary slave becomes the active slave only if the current active slave
fails and the primary slave is up.
The primary_reselect setting is ignored in two cases:
• If no slaves are active, the first slave to recover is made the active slave.
• When initially enslaved, the primary slave is always made the active slave.
Changing the primary_reselect policy via sysfs will cause an immediate selection of the
best active slave according to the new policy. This may or may not result in a change of the active
slave, depending upon the circumstances
updelay=<time_in_milliseconds>
Specifies (in milliseconds) how long to wait before enabling a link. The value must be a multiple of
the value specified in the miimon parameter. The value is set to 0 by default, which disables it.
use_carrier=<number>
Specifies whether or not miimon should use MII/ETHTOOL ioctls or netif_carrier_ok()
to determine the link state. The netif_carrier_ok() function relies on the device driver to
maintains its state with netif_carrier_on/off ; most device drivers support this function.
The MII/ETHROOL ioctls tools utilize a deprecated calling sequence within the kernel. However,
this is still configurable in case your device driver does not support netif_carrier_on/off .
Valid values are:
• 1 — Default setting. Enables the use of netif_carrier_ok().
23. 609
El Módulo del canal de vinculación (Bonding)
• 0 — Enables the use of MII/ETHTOOL ioctls.
Tip
If the bonding interface insists that the link is up when it should not be, it is
possible that your network device driver does not support netif_carrier_on/
off .
xmit_hash_policy=<value>
Selects the transmit hash policy used for slave selection in balance-xor and 802.3ad modes.
Possible values are:
• 0 or layer2 — Default setting. This option uses the XOR of hardware MAC addresses to
generate the hash. The formula used is:
(<source_MAC_address> XOR <destination_ MA C>) MODULO <slave_count>
This algorithhm will place all traffic to a particular network peer on the same slave, and is
802.3ad compliant.
• 1 or layer3+4 — Uses upper layer protocol information (when available) to generate the hash.
This allows for traffic to a particular network peer to span multiple slaves, although a single
connection will not span multiple slaves.
The formula for unfragmented TCP and UDP packets used is:
((<source_port> XOR <dest_port>) XOR
((<source_IP> XOR <dest_IP >) AND 0xffff)
MODULO <slave_count>
For fragmented TCP or UDP packets and all other IP protocol traffic, the source and destination
port information is omitted. For non-IP traffic, the formula is the same as the layer2 transmit
hash policy.
This policy intends to mimic the behavior of certain switches; particularly, Cisco switches with
PFC2 as well as some Foundry and IBM products.
The algorithm used by this policy is not 802.3ad compliant.
• 2 or layer2+3 — Uses a combination of layer2 and layer3 protocol information to generate the
hash.
Uses XOR of hardware MAC addresses and IP addresses to generate the hash. The formula is:
(((<source_IP> XOR <dest_IP >) AND 0xffff) XOR
( <source_MAC> XOR <destination_ MA C> ))
MODULO <slave_count>
This algorithm will place all traffic to a particular network peer on the same slave. For non-IP
traffic, the formula is the same as for the layer2 transmit hash policy.
24. 610
El Módulo del canal de vinculación (Bonding)
This policy is intended to provide a more balanced distribution of traffic than
layer2 alone, especially in environments where a layer3 gateway device is
required to reach most destinations.
This algorithm is 802.3ad compliant.
41.6. Recursos adicionales
Para más información en los módulos del kernel y sus utilidades, remítase a las siguientes
fuentes de información.
41.6.1. Documentación instalada
• Página del manual de lsmod — descripción y explicación de su salida.
• Página del manual de insmod — descripción y listado de las opciones de la línea de
comandos.
• Página del manual de modprobe — descripción y listado de las opciones de la línea de
comandos.
• Página del manual de rmmod — descripción y listado de las opciones de la línea de
comandos.
• Página del manual de modinfo — descripción y listado de las opciones de la línea de
comandos.
• /usr/share/doc/kernel-doc-<version>/Documentation/kbuild/modules.txt
— how to compile and use kernel modules. Note you must have the kernel-doc package
installed to read this file.
41.6.2. Sitios Web útiles
• http://tldp.org/HOWTO/Module-HOWTO/ — Linux Loadable Kernel Module HOWTO desde el
Proyecto de Documentación de Linux.