NIC Queue Configuration¶
Overview¶
NIC channels (queues) can be configured per interface on systems with multiple network interfaces. By default, the number of NIC queues is configured automatically on a system as follows:
Platform interfaces (oam, management/admin, cluster-host)
The number of queues is configured to match the number of platform CPUs.
SRIOV interfaces
The number of PF queues is configured to match the number of application CPUs.
The number of VF queues is determined by the driver. The number allocated to each VF can vary based on how many VFs are configured on the PF.
Interface API and Command Line Interface Considerations¶
The following attributes are available on the interface resource for configuring NIC channels.
Attribute |
Type |
Description |
|---|---|---|
|
Integer or null |
Number of NIC channels (queues) for SR-IOV PF. Applicable to
|
|
Integer or null |
Number of SR-IOV VF channels (queues). Applicable to |
These attributes appear in:
API Operation |
System Command |
|---|---|
List interfaces |
|
Show interface |
|
Create interface |
|
Modify interface |
|
Reset to defaults |
|
Port API and Command Line Interface Considerations¶
The following read-only attributes are present on the port resource:
Attribute |
Type |
Description |
|---|---|---|
|
Integer |
Current number of combined channels configured on the physical port. |
|
Integer |
Maximum combined channels supported by hardware (upper bound for interface channels). |
|
Integer |
Current number of channels on each SR-IOV VF. |
|
Integer |
Maximum channels per VF (upper bound for interface
|
These attributes appear in:
API Operation |
System Command |
|---|---|
Show port |
|
Relationship Between Port and Interface Fields¶
The following table describes how port attributes map to their corresponding interface attributes.
Port |
Interface |
|---|---|
|
|
|
actual applied value |
|
|
|
actual applied value |
NIC Channel Configuration Validation Rules¶
The following validation rules are enforced server-side:
channelscannot be set on VLAN interfaces oriftype: vf.sriov_vf_channelsrequiresifclass: pci-sriovwithsriov_vf_driver: netdevice, oriftype: vf.Values must be ≥ 1.
Values cannot exceed the corresponding port maximum.
Changes are applied at runtime (no host lock/unlock required).
Setting
noneordefaultresets to system-calculated defaults (platform CPUs for platform interfaces, application CPUs for SR-IOV PFs).
Configure NIC Channels on an Interface¶
To configure NIC channels on an interface, perform the following steps:
Procedure
Check the current and maximum channels allowed on the port.
~(keystone_admin)]$ system host-port-show <host> <port>
Set the number of channels for a platform classed interface.
~(keystone_admin)]$ system host-if-modify <host> <interface> --channels <N>
Set the number of channels for the PF and optionally for the associated VFs, for a
pci-sriovclassed interface.~(keystone_admin)]$ system host-if-modify <host> <interface> --channels <N> ~(keystone_admin)]$ system host-if-modify <host> <interface> --vf-channels <N>
Wait for the runtime manifest to perform the configuration, then check the values again.