Red de conocimiento informático - Material del sitio web - Cómo instalar el controlador ixgbe en Linux

Cómo instalar el controlador ixgbe en Linux

El controlador ixgbe admite tarjetas de red 10G de Intel (como 82598, 82599, x540). Las distribuciones modernas de Linux ya vienen con el controlador ixgbe, que está disponible a través de un módulo cargable. Sin embargo, en algunos casos, como cuando desea experimentar las funciones más recientes del controlador ixbge, debe compilar e instalar el controlador ixgbe usted mismo en la máquina. Asimismo, un problema con el controlador ixgbe que viene con el kernel por defecto es que no permite personalizar los parámetros del controlador. Si desea un controlador ixgbe totalmente personalizado (por ejemplo, RSS, colas múltiples, umbrales de interrupción, etc.), deberá compilar manualmente el controlador ixgbe desde el código fuente.

El siguiente tutorial explica cómo descargar e instalar el controlador ixgbe en Ubuntu, Debian o sus derivados.

Paso 1: Requisitos previos de instalación

Antes de la instalación, debe instalar los archivos de encabezado del kernel y los kits de desarrollo correspondientes.

1

2

$ sudo apt-get install linux-headers-$(uname -r)

$ sudo apt- get install gcc make

Paso 2: Compile el controlador Ixgbe

Descargue el código fuente del último controlador ixgbe.

1

$ wget /projects/e1000/files/ixgbe20stable/3.23.2/ixgbe-3.23.2.tar.gz

Compile el controlador ixgbe como sigue.

1

2

3

$ tar xvfvz ixgbe-3.23.2.tar.gz

$ cd ixgbe-3.23.2/src

$ make

Paso 3: Verifique el controlador Ixgbe

Una vez completada la compilación, verá que en ixgbe ixgbe.ko creado en .ko. Este es el controlador ixgbe que se cargará en el kernel.

Utilice el comando modinfo para comprobar la información del módulo del kernel. Tenga en cuenta que debe especificar la ruta absoluta al archivo del módulo (por ejemplo, ./ixgbe.ko o /home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko). El resultado mostrará la versión del kernel ixgbe.

1

$ modinfo ./ixgbe.ko

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22 p>

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

p>

48

49

50

51

52

53

54

55

56

57

58

59

60

nombre de archivo:/home/xmodulo/ixgbe/ixgbe-3.23.2/src/ixgbe.ko

versión: 3.23.2

licencia: GPL

Descripción: p> Descripción: Intel (RocketRAID), Intel (RIAID), Intel (RIAID): Controlador de red Intel(R) 10 Gigabit PCI Express

autor: Intel Corporation,

srcversion: 2ADA5E537923E983FA9DAE2

Alias: pci: v00008086d00001560sv*sd*bc*sc*i*

Alias: pci.v00008086d0000154Fsv*sd *bc*sc *i*

Alias: PC: V00008086d0000154Dsv*sd*bc*sc*i*

Alias: PC: V00008086d00001528sv*sd* bc*sc* i*

Alias: PC.v00008086d000010F8sv*sd*bc*sc*i*

Alias: pci: v00008086d0000151Csv*sd*bc*sc*i*

alias: pci:v00008086d00001529sv*sd*bc*sc*i*

alias: pci:v00008086d0000152Asv*sd*bc*sc*i*

Alias: pci :v00008086d000010F9sv*sd *bc*sc*i*

Alias: pci.v00008086d00001514sv*sd*bc*sc*i*

Alias: pci:v00008086d00001507sv*sd*bc*sc *yo*

ali

como: pci:v00008086d000010FBsv*sd*bc*sc*i*

alias: pci:v00008086d00001517sv*sd*bc*sc*i*

Alias: pci:v00008086d000010FCsv*sd* bc*sc*i*

Alias: pci.v00008086d000010DBsv*sd*bc*sc*i*

Alias: pci:v00008086d000010F4sv*sd*bc *sc*i*

Alias: pci:v00008086d000010E1sv*sd*bc*sc*i*

Alias: pci.v00008086d000010DDsv*sd*bc*sc*i*

alias: pci: v00008086d0000150Bsv*sd*bc*sc*i*

alias: pci: v00008086d000010C8sv*sd*bc*sc*i*

alias: pci.

depende: ptp, dca

vermagic: 3.11.0-19-generic SMP mod_unload modversions

parm: InterruptType: Cambiar Modo de interrupción (0 = predeterminado 2 (matriz de int)

parm: MQ: deshabilitar o habilitar múltiples colas, el valor predeterminado es 1 (matriz de int)

parm: DCA: deshabilitar o habilitar el acceso directo a la caché, 0=deshabilitado, 1=solo descriptor, 2=descriptor y datos (matriz int)

parm: RSS: número de colas de descriptores extendidos en el extremo receptor, el valor predeterminado es 0=cpc, el valor predeterminado es 0=cpc, el valor predeterminado es 0=cpc, el valor predeterminado es 0=cpc, el valor predeterminado es 0=cpus (matriz int)

parm: VMDQ: Número de colas de dispositivos de máquinas virtuales: 0/ 1 = deshabilitado, 2 -16 habilitado (predeterminado=8) (matriz int)

parm: VMDQ: Número de colas de dispositivos de máquinas virtuales: 0/1 = deshabilitado, 2-16 habilitados (predeterminado=8) (matriz int)

parm: max_vfs: Número de funciones virtuales: 0 = deshabilitado (predeterminado), 1-63 = habilitar tantas funciones virtuales (matriz de int)

parm: VEPA: modo puente VEPA.

0 = VEB (predeterminado), 1 = VEPA (matriz int)

parm: InterruptThrottleRate: Número máximo de interrupciones por segundo por vector, (0, 1, 956-488281), el valor predeterminado es 1 (matriz int) )

parm: LLIPort: Interrupción de baja latencia en el puerto TCP (0-65535) (matriz int)

parm: LLIPush: Interrupción de baja latencia en el indicador de inserción TCP (0, 1) (int array)

parm: LLISize: Interrupción de baja latencia en tamaño de paquete (0-1500) (int array)

parm: LLIEType: Interrupción de baja latencia en el tipo de protocolo Ethernet (int array)

parm: LLIEType: interrupción de baja latencia en el tipo de protocolo Ethernet (matriz de int)

parm: LLIVLANP: interrupción de baja latencia en el umbral de prioridad de VLAN (matriz de int)

parm: FdirPballoc: Nivel de asignación de buffer de paquetes de Flow Director:

1 = filtro hash de 8k o filtro perfecto de 2k

2 = filtro Hash de 16k ha o filtro perfecto de 4k

3 = filtro hash de 32k o filtro perfecto de 8k (matriz int)

parm: AtrSampleRate: tasa de muestreo de paquetes Tx ATR de software (matriz int)

parm: FCoE . Deshabilite o habilite la descarga de FCoE, valor predeterminado 1 (matriz int)

parm: LRO: descarga de recepción grande (0, 1), valor predeterminado 1 = activado (matriz int)

parm: enable_unsupported_sfp : Permitir módulos SFP no compatibles y no probados en adaptadores basados ​​en 82599, valor predeterminado 0 = deshabilitado (matriz de int)

Paso 4: Pruebe el controlador Ixgbe

Antes de probar el nuevo módulo, si Ya existe una versión anterior del módulo ixgbe en el kernel, es necesario eliminarla.

1

$ sudo rmmod ixgbe

Luego use el comando insmod para insertar el módulo ixgbe recién compilado. Asegúrese de especificar la ruta absoluta al módulo.

1

$ sudo insmod ./ixgbe.ko

Si el comando anterior se ejecuta correctamente, no se mostrará ninguna información.

Puedes intentar agregar parámetros adicionales si es necesario. Por ejemplo, establezca el número de colas RSS en 16:

1

$ sudo insmod ./ixgbe.ko RSS=16

Verifique /var/log /kern.log, verifique si el controlador ixgbe se ha activado correctamente. Busque "Controlador de red Intel(R) 10 Gigabit PCI Express" en los registros. La información de la versión de ixgbe debe ser la misma que se muestra en la información de mod anterior.

18 de septiembre 14:48:52 kernel de bob esponja: [684717.906254] Controlador de red Intel(R) 10 Gigabit PCI Express - Versión 3.22.3

Paso 5: Instale el controlador Ixgbe

Una vez que haya verificado que el nuevo controlador ixgbe se carga correctamente, el último paso es instalar el controlador en su sistema.

1

$ sudo make install

ixgbe.ko se instalará en /lib/modules//kernel/drivers/net/ethernet/intel/ixgbe .

A partir de este paso, puede cargar el controlador ixgbe usando el comando modprobe a continuación. Tenga en cuenta que ya no es necesario especificar una ruta absoluta.

1

$ sudo modprobe ixgbe

Si desea cargar el controlador ixgbe al inicio, puede agregar "ixgbe" al final de /etc/ módulos.