Configurar el driver nsdrvd para NetScaler BLX en modo dedicado sin compatibilidad con DPDK

NetScaler BLX omite la pila de red del kernel de Linux, pero existe una sobrecarga al transferir paquetes entre la memoria del kernel de Linux y la memoria del espacio de usuario. Esta sobrecarga afecta al rendimiento general del procesamiento de paquetes.

Te recomendamos usar las NIC compatibles con DPDK para un alto rendimiento de procesamiento de paquetes. Para ver la lista de NIC compatibles con DPDK compatibles con BLX, consulta Requisitos de hardware del host Linux.

Si no tienes NIC compatibles con DPDK, puedes usar el driver nsdrvd para mejorar el rendimiento del procesamiento de paquetes sin compatibilidad con DPDK.

El driver nsdrvd gestiona toda la interacción con el kernel de Linux para la recepción y transmisión de paquetes. También distribuye el tráfico a los PE. Puedes configurar el driver nsdrvd mediante el parámetro nsdrvd en el archivo blx.conf. La siguiente tabla explica los posibles valores del parámetro nsdrvd.

Valor posible Descripción
nsdrvd: 1 Se crea un proceso de driver para cada puerto dedicado. La recepción (Rx) y la transmisión (Tx) se producen secuencialmente.
  • nsdrvd: 2 Se crea un proceso de recepción (Rx) y un hilo de transmisión (Tx) para cada puerto dedicado.
  • nsdrvd: 3 Se crea un proceso de recepción (Rx) y 2 hilos de transmisión (Tx) para cada puerto dedicado.

Para usar el driver nsdrvd, el host Linux debe tener al menos n número de núcleos según el siguiente cálculo.

  • n >= WP + (INT*P) + 1

Donde:

  • WP - Número de procesos de trabajo (motores de paquetes) para BLX. El parámetro worker-processes en el archivo blx.conf especifica el número de motores de paquetes para BLX.
  • INT - Número de puertos NIC dedicados del host Linux para BLX. El parámetro interface en el archivo blx.conf especifica los puertos NIC del host Linux dedicados a BLX.
  • P - Número de procesos de driver nsdrvd para BLX. El parámetro nsdrvd en el archivo blx.conf especifica el número de procesos de driver nsdrvd.

Ejemplo: BLX con la siguiente configuración debe tener al menos 10 núcleos:

  • WP = 3 motores de paquetes
  • INT = 2 interfaces dedicadas
  • P = 3 procesos nsdrvd

n = WP + (INT*P) + 1 = (3+2*3+1) = 10

Requisitos previos

Habilitar el driver nsdrvd

Debes usar la CLI del host Linux para habilitar el driver nsdrvd.

  1. Abre el archivo blx.conf ejecutando el siguiente comando:

    Nota:

    Puedes usar cualquier editor de texto para editar el archivo blx.conf.

    nano /etc/blx/blx.conf
    <!--NeedCopy-->
    
  2. Descomenta el parámetro nsdrvd y establece el valor en 1, 2 o 3.

    blx-system-config
    {
            ...
            nsdrvd: <number of process>
            ...
    }
    <!--NeedCopy-->
    
  3. Guarda el archivo blx.conf.
  4. Reinicia BLX.

    systemctl restart blx
    <!--NeedCopy-->
    

Después de que BLX se reinicie, el driver nsdrvd está habilitado en BLX.

Deshabilitar el driver nsdrvd

Debes usar la CLI del host Linux para deshabilitar el driver nsdrvd.

  1. Para deshabilitar el driver nsdrvd, comenta el parámetro nsdrvd en el archivo blx.conf.

    blx-system-config
    {
            ...
            # nsdrvd: 2
            ...
    }
    <!--NeedCopy-->
    
  2. Reinicia BLX.

    systemctl restart blx
    <!--NeedCopy-->
    

Después de que BLX se reinicie, el driver nsdrvd está deshabilitado en BLX.

Configurar el driver nsdrvd para NetScaler BLX en modo dedicado sin compatibilidad con DPDK