The following sections describe system limits that are relevant when configuring and using the driver.
The driver imposes an upper limit on the number of adapters and ports.
- The driver supports up to 16 adapters.
- The driver supports up to 64 ports.
If the driver detects that a system exceeds either of the limits, it logs an error message and enters an error service state where it cannot be used.
When starting the driver without a configuration file (for instance when starting the driver for the first time), the driver creates a default configuration file named
ntservice.ini, even if the default configuration results in too many adapters or ports. It is the user that must decide how to reduce the number of adapters or ports.
To reduce the number of adapters or ports, edit
ntservice.ini and comment out or remove adapter sections such as
[Adapter1], etc., until the number of adapters and ports are both within the allowed range, and then restart the driver. When commenting out or removing adapter sections, observe that section numbers must start at zero and be consecutive. For instance,
[Adapter3] is an illegal configuration.
- The driver supports up to 128 RX host buffers.
- The driver supports up to 128 TX host buffers.
This section discusses the number of TX host buffers for a 4GA adapter.
The driver uses RX host buffers for receiving and TX host buffers for transmitting network packets.
For each adapter
ntservice.ini has a setting that defines the number of TX host buffers, for instance:
HostBuffersRx = [8,16,-1] # Eight 16 MB buffers on any NUMA node HostBuffersTx = [4,16,-1] # Four 16 MB buffers on any NUMA node
This documentation refers to such RX and TX host buffers as static because their number and sizes are set during driver start-up and cannot change subsequently.
Inline mode is useful when an application wants to receive network packets and re-transmit some or all of them again.
When an application issues NTPL statements that define an inline scenario, the driver dynamically chooses one or more of the free TX host buffer for inline use; the driver does not choose from the static TX host buffers. For this reason, inline TX host buffers are called dynamically allocated TX host buffers.
When using inline mode, observe the following limit:
- The total number of static and inline TX host buffers is 128.
In other words, the number of TX host buffers available for inline usage is 128 minus the number of static TX host buffers.
ntservice.inidefines 120 RX and 16 TX host buffers. The driver does not complain although the total number of host buffers is 136. However, when attempting to use an inline scenario that uses all 120 RX host buffers, the driver logs an error message because the number of available TX host buffers is only 112 (128 - 16), which is insufficient.