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

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

Recomendamos usar las NIC compatibles con DPDK para obtener un alto rendimiento en el procesamiento de paquetes. Para ver la lista de NIC compatibles con DPDK que admite BLX, consulte los Requisitos de hardware del host Linux.

Si no tiene NIC compatibles con DPDK, puede usar el controlador nsdrvd para mejorar el rendimiento del procesamiento de paquetes sin compatibilidad con DPDK.

El controlador nsdrvd es propietario de 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. Puede configurar el controlador nsdrvd mediante el parámetro nsdrvd del archivo blx.conf. En la tabla siguiente se explican los valores posibles del parámetro nsdrvd.

Valor posible Descripción
nsdrvd: 1 Se crea un proceso de controlador para cada puerto dedicado. Rx y Tx ocurren secuencialmente.
nsdrvd: 2 Se crean un proceso Rx y un subproceso Tx para cada puerto dedicado.
nsdrvd: 3 Se crean un proceso Rx y 2 subprocesos Tx para cada puerto dedicado.

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

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

Donde:

  • WP: Cantidad de procesos de trabajo (motores de paquetes) para BLX. El parámetro worker-processes del archivo blx.conf especifica la cantidad de motores de paquetes para BLX.
  • INT: Cantidad de puertos NIC del host Linux dedicados para BLX. El parámetro interface del archivo blx.conf especifica los puertos NIC del host Linux dedicados a BLX.
  • P: Cantidad de procesos de controlador nsdrvd para BLX. El parámetro nsdrvd del archivo blx.conf especifica la cantidad de procesos del controlador 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 controlador nsdrvd

Debe usar la CLI del host Linux para habilitar el controlador nsdrvd.

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

    Nota:

    Puede usar cualquier editor de texto para modificar el archivo blx.conf.

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

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

    systemctl restart blx
    <!--NeedCopy-->
    

Una vez reiniciado BLX, el controlador nsdrvd se habilita en BLX.

Inhabilitar el controlador nsdrvd

Debe usar la CLI del host Linux para inhabilitar el controlador nsdrvd.

  1. Para inhabilitar el controlador nsdrvd, comente el parámetro nsdrvd en el archivo blx.conf.

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

    systemctl restart blx
    <!--NeedCopy-->
    

Una vez reiniciado BLX, el controlador nsdrvd se inhabilita en BLX.

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