Configure NetScaler BLX in dedicated mode

In dedicated mode, the NIC ports of the Linux host that are dedicated to NetScaler BLX are not shared with other applications on the Linux host.

We recommend using the DPDK compatible NICs for high packet processing performance. For the list of DPDK-compatible NICs supported by BLX, see Hardware requirements of Linux host.

You can configure BLX in dedicated mode by specifying the following parameters in the blx.conf file:

  • worker-processes - Number of worker processes to be started.
  • interfaces - NIC ports of the Linux host that are dedicated to BLX.
  • ipaddress - NSIP address for BLX in dedicated mode.
  • default - Default route for BLX.

If the NIC ports specified in the interfaces parameter are DPDK compatible and supported by BLX, it automatically binds the NIC ports to the DPDK VFIO module. If the NIC ports are not DPDK compatible, the NIC ports are added as non-DPDK ports. After you start BLX, all the ports specified in the interfaces parameter are added as dedicated ports to BLX.

Note:

BLX supports only one type of DPDK NIC port at a time. For example, either all Mellanox ports or all Intel ports.

Prerequisites

  • Ensure that IOMMU support is enabled on the Linux host. For information on how to enable IOMMU, refer to the hardware documentation of the Linux host.
  • For DPDK compatible Mellanox ports supported by BLX, ensure that the Mellanox OpenFabrics Enterprise Distribution (OFED) package is installed on the Linux host. For information on how to install Mellanox OFED package, see the OFED documentation.

Configure NetScaler BLX in dedicated mode

You must use the Linux host CLI to configure BLX in dedicated mode.

  1. Open the blx.conf file by running the following command:

    Note:

    You can use any text editor to edit the blx.conf file.

    nano /etc/blx/blx.conf
    
    <!--NeedCopy-->
    
  2. Uncomment the worker-processes parameter and specify the number of packet engines for BLX.

    Note:

    For VMXNET3 DPDK ports supported by BLX, you must specify the number of worker processes in the power of 2 (2ⁿ). For example, 1, 2, 4, 8, and so on.

    blx-system-config
    {
            ...
            worker-processes: <number of worker processes>
            ...
    }
    <!--NeedCopy-->
    
  3. Uncomment the interfaces parameter and specify the NIC ports of the Linux host that you want to dedicate to BLX.

    Notes:

    • You must specify the port names as shown on the Linux host CLI separated by space.
    • For AMD processor, you must specify all the DPDK NIC ports of one or more IOMMU groups. If you do not specify all the NIC ports of an IOMMU group, the DPDK compatible NIC ports of that IOMMU group are added as non-DPDK dedicated ports to BLX.
    blx-system-config
    {
            ...
            interfaces: <interface1 interface2>
            ...
    }
    <!--NeedCopy-->
    
  4. Uncomment the ipaddress parameter and specify the NSIP address for BLX.

    blx-system-config
    {
            ...
            ipaddress: <IP address>
            ...
    }
    <!--NeedCopy-->
    
  5. (Optional) Uncomment the total-hugepage-mem parameter and specify the memory to be allocated for DPDK Huge pages. For more information on DPDK Huge pages, see the DPDK documentation.

    Note:

    The total size of huge pages can be specified in megabytes (MB or M) or gigabytes (GB or G). For example, 1024MB, 1024M, 1GB, and 1G.

    blx-system-config
    {
            ...
            total-hugepage-mem: <memory size>
            ...
    }
    <!--NeedCopy-->
    
  6. Uncomment the default parameter and specify the default route for the dedicated interfaces.

    static-routes
    {
        …
        default <gateway IP address>
        …
    }
    <!--NeedCopy-->
    
  7. Save the blx.conf file.

Next step

Configure NetScaler BLX in dedicated mode