+doc/guides/nics/overview_table.txt
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+from __future__ import print_function
import subprocess
from docutils import nodes
from distutils.version import LooseVersion
from sphinx import __version__ as sphinx_version
from sphinx.highlighting import PygmentsBridge
from pygments.formatters.latex import LatexFormatter
+from os import listdir
+from os.path import basename
+from os.path import dirname
+from os.path import join as path_join
+
+try:
+ # Python 2.
+ import ConfigParser as configparser
+except:
+ # Python 3.
+ import configparser
+
project = 'Data Plane Development Kit'
internal=True)
node.replace_self(newnode)
+
+def generate_nic_overview_table(output_filename):
+ """
+ Function to generate the NIC Overview Table from the ini files that define
+ the features for each NIC.
+
+ The default features for the table and their order is defined by the
+ 'default.ini' file.
+
+ """
+ # Default worning string.
+ warning = 'Warning generate_nic_overview_table()'
+
+ # Get the default features and order from the 'default.ini' file.
+ ini_path = path_join(dirname(output_filename), 'features')
+ config = configparser.ConfigParser()
+ config.optionxform = str
+ config.read(path_join(ini_path, 'default.ini'))
+ default_section = 'Features'
+ default_features = config.items(default_section)
+
+ # Create a dict of the valid features to validate the other ini files.
+ valid_features = {}
+ max_feature_length = 0
+ for feature in default_features:
+ key = feature[0]
+ valid_features[key] = ' '
+ max_feature_length = max(max_feature_length, len(key))
+
+ # Get a list of NIC ini files, excluding 'default.ini'.
+ ini_files = [basename(file) for file in listdir(ini_path)
+ if file.endswith('.ini') and file != 'default.ini']
+ ini_files.sort()
+
+ # Build up a list of the table header names from the ini filenames.
+ header_names = []
+ for ini_filename in ini_files:
+ name = ini_filename[:-4]
+ name = name.replace('_vf', 'vf')
+
+ # Pad the table header names to match the existing format.
+ if '_vec' in name:
+ pmd, vec = name.split('_')
+ name = '{0:{fill}{align}7}vec'.format(pmd, fill='.', align='<')
+ else:
+ name = '{0:{fill}{align}10}'.format(name, fill=' ', align='<')
+
+ header_names.append(name)
+
+ # Create a dict of the defined features for each NIC from the ini files.
+ ini_data = {}
+ for ini_filename in ini_files:
+ config = configparser.ConfigParser()
+ config.optionxform = str
+ config.read(path_join(ini_path, ini_filename))
+
+ # Initialize the dict with the default.ini value.
+ ini_data[ini_filename] = valid_features.copy()
+
+ # Check for a valid ini section.
+ if not config.has_section(default_section):
+ print("{}: File '{}' has no [{}] secton".format(warning,
+ ini_filename,
+ default_section))
+ continue
+
+ # Check for valid features names.
+ for name, value in config.items(default_section):
+ if name not in valid_features:
+ print("{}: Unknown feature '{}' in '{}'".format(warning,
+ name,
+ ini_filename))
+ continue
+
+ if value is not '':
+ # Get the first letter only.
+ ini_data[ini_filename][name] = value[0]
+
+ # Print out the RST NIC Overview table from the ini file data.
+ outfile = open(output_filename, 'w')
+ num_cols = len(header_names)
+
+ print('.. table:: Features availability in networking drivers\n',
+ file=outfile)
+
+ print_table_header(outfile, num_cols, header_names)
+ print_table_body(outfile, num_cols, ini_files, ini_data, default_features)
+
+
+def print_table_header(outfile, num_cols, header_names):
+ """ Print the RST table header. The header names are vertical. """
+ print_table_divider(outfile, num_cols)
+
+ line = ''
+ for name in header_names:
+ line += ' ' + name[0]
+
+ print_table_row(outfile, 'Feature', line)
+
+ for i in range(1, 10):
+ line = ''
+ for name in header_names:
+ line += ' ' + name[i]
+
+ print_table_row(outfile, '', line)
+
+ print_table_divider(outfile, num_cols)
+
+
+def print_table_body(outfile, num_cols, ini_files, ini_data, default_features):
+ """ Print out the body of the table. Each row is a NIC feature. """
+
+ for feature, _ in default_features:
+ line = ''
+
+ for ini_filename in ini_files:
+ line += ' ' + ini_data[ini_filename][feature]
+
+ print_table_row(outfile, feature, line)
+
+ print_table_divider(outfile, num_cols)
+
+
+def print_table_row(outfile, feature, line):
+ """ Print a single row of the table with fixed formatting. """
+ line = line.rstrip()
+ print(' {:<20}{}'.format(feature, line), file=outfile)
+
+
+def print_table_divider(outfile, num_cols):
+ """ Print the table divider line. """
+ line = ' '
+ column_dividers = ['='] * num_cols
+ line += ' '.join(column_dividers)
+
+ feature = '=' * 20
+
+ print_table_row(outfile, feature, line)
+
+
def setup(app):
+ generate_nic_overview_table('doc/guides/nics/overview_table.txt')
+
if LooseVersion(sphinx_version) < LooseVersion('1.3.1'):
print('Upgrade sphinx to version >= 1.3.1 for '
'improved Figure/Table number handling.')
--- /dev/null
+;
+; Supported features of the 'afpacket' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'bnx2x' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Promiscuous mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+Basic stats = Y
+Extended stats = Y
+Linux UIO = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'bnx2x_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Promiscuous mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+SR-IOV = Y
+Basic stats = Y
+Extended stats = Y
+Linux UIO = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'bnxt' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+Promiscuous mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS reta update = Y
+Basic stats = Y
+Extended stats = Y
+Linux UIO = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'bonding' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'cxgbe' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+RSS hash = Y
+Flow control = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Stats per queue = Y
+EEPROM dump = Y
+Registers dump = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Features of a default network driver.
+;
+; This file defines the features that are valid for inclusion in
+; the other driver files and also the order that they appear in
+; the features table in the documentation.
+;
+[Features]
+Speed capabilities =
+Link status =
+Link status event =
+Queue status event =
+Rx interrupt =
+Queue start/stop =
+MTU update =
+Jumbo frame =
+Scattered Rx =
+LRO =
+TSO =
+Promiscuous mode =
+Allmulticast mode =
+Unicast MAC filter =
+Multicast MAC filter =
+RSS hash =
+RSS key update =
+RSS reta update =
+VMDq =
+SR-IOV =
+DCB =
+VLAN filter =
+Ethertype filter =
+N-tuple filter =
+SYN filter =
+Tunnel filter =
+Flexible filter =
+Hash filter =
+Flow director =
+Flow control =
+Rate limitation =
+Traffic mirroring =
+CRC offload =
+VLAN offload =
+QinQ offload =
+L3 checksum offload =
+L4 checksum offload =
+Inner L3 checksum =
+Inner L4 checksum =
+Packet type parsing =
+Timesync =
+Basic stats =
+Extended stats =
+Stats per queue =
+EEPROM dump =
+Registers dump =
+Multiprocess aware =
+BSD nic_uio =
+Linux UIO =
+Linux VFIO =
+Other kdrv =
+ARMv7 =
+ARMv8 =
+Power8 =
+TILE-Gx =
+x86-32 =
+x86-64 =
+Usage doc =
+Design doc =
+Perf doc =
--- /dev/null
+;
+; Supported features of the 'e1000' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+VLAN filter = Y
+Flow control = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Basic stats = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'ena' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+SR-IOV = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Basic stats = Y
+Extended stats = Y
+Linux UIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'enic' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+MTU update = P
+Jumbo frame = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+VLAN filter = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'fm10k' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+VLAN filter = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'fm10k_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+VLAN filter = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'fm10k_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'fm10kvf_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'i40e' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+SR-IOV = Y
+DCB = Y
+VLAN filter = Y
+Ethertype filter = Y
+Tunnel filter = Y
+Hash filter = Y
+Flow director = Y
+Flow control = Y
+Traffic mirroring = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Packet type parsing = Y
+Timesync = Y
+Basic stats = Y
+Extended stats = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'i40e_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+SR-IOV = Y
+DCB = Y
+VLAN filter = Y
+Ethertype filter = Y
+Tunnel filter = Y
+Hash filter = Y
+Flow director = Y
+Flow control = Y
+Traffic mirroring = Y
+Timesync = Y
+Basic stats = Y
+Extended stats = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'i40e_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VLAN filter = Y
+Hash filter = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'i40evf_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Queue start/stop = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VLAN filter = Y
+Hash filter = Y
+Basic stats = Y
+Extended stats = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'igb' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+SR-IOV = Y
+DCB = Y
+VLAN filter = Y
+Ethertype filter = Y
+N-tuple filter = Y
+SYN filter = Y
+Flexible filter = Y
+Flow control = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Timesync = Y
+Basic stats = Y
+Extended stats = Y
+EEPROM dump = Y
+Registers dump = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'igb_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Rx interrupt = Y
+Scattered Rx = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+VLAN filter = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Registers dump = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'ixgbe' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+LRO = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+SR-IOV = Y
+DCB = Y
+VLAN filter = Y
+Ethertype filter = Y
+N-tuple filter = Y
+SYN filter = Y
+Tunnel filter = Y
+Flow director = Y
+Flow control = Y
+Rate limitation = Y
+Traffic mirroring = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Packet type parsing = Y
+Timesync = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+EEPROM dump = Y
+Registers dump = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'ixgbe_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Rx interrupt = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+LRO = Y
+TSO = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VMDq = Y
+SR-IOV = Y
+DCB = Y
+VLAN filter = Y
+Ethertype filter = Y
+N-tuple filter = Y
+SYN filter = Y
+Tunnel filter = Y
+Flow director = Y
+Flow control = Y
+Rate limitation = Y
+Traffic mirroring = Y
+Timesync = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+EEPROM dump = Y
+Registers dump = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'ixgbe_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Rx interrupt = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+LRO = Y
+TSO = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VLAN filter = Y
+CRC offload = Y
+VLAN offload = Y
+QinQ offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Registers dump = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'ixgbevf_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Rx interrupt = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+LRO = Y
+TSO = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VLAN filter = Y
+Basic stats = Y
+Extended stats = Y
+Registers dump = Y
+Multiprocess aware = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'mlx4' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+SR-IOV = Y
+VLAN filter = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Inner L3 checksum = Y
+Inner L4 checksum = Y
+Packet type parsing = Y
+Basic stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+Other kdrv = Y
+Power8 = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'mlx5' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+SR-IOV = Y
+VLAN filter = Y
+Flow director = Y
+CRC offload = Y
+VLAN offload = Y
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+Other kdrv = Y
+Power8 = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'mpipe' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'nfp' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'null' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'pcap' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Jumbo frame = Y
+Basic stats = Y
+Multiprocess aware = Y
+ARMv7 = Y
+ARMv8 = Y
+Power8 = Y
+TILE-Gx = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'qede' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+MTU update = Y
+Jumbo frame = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+VLAN filter = Y
+Flow control = Y
+CRC offload = Y
+VLAN offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+Linux UIO = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'qede_vf' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+MTU update = Y
+Jumbo frame = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+SR-IOV = Y
+VLAN filter = Y
+Flow control = Y
+CRC offload = Y
+VLAN offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Multiprocess aware = Y
+Linux UIO = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'ring' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'szedata2' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Basic stats = Y
+Extended stats = Y
+Stats per queue = Y
+Other kdrv = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'thunderx' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Queue start/stop = Y
+MTU update = Y
+Jumbo frame = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+RSS hash = Y
+RSS key update = Y
+RSS reta update = Y
+SR-IOV = Y
+CRC offload = Y
+VLAN offload = P
+L3 checksum offload = Y
+L4 checksum offload = Y
+Packet type parsing = Y
+Basic stats = Y
+Stats per queue = Y
+Registers dump = Y
+Multiprocess aware = Y
+Linux VFIO = Y
+ARMv8 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'vhost' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Link status event = Y
+Queue status event = Y
+Basic stats = Y
+Extended stats = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'virtio' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+Scattered Rx = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+VLAN filter = Y
+Basic stats = Y
+Stats per queue = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv7 = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
+Usage doc = Y
--- /dev/null
+;
+; Supported features of the 'virtio_vec' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+Link status = Y
+Queue start/stop = Y
+Promiscuous mode = Y
+Allmulticast mode = Y
+Unicast MAC filter = Y
+Multicast MAC filter = Y
+VLAN filter = Y
+Basic stats = Y
+Stats per queue = Y
+BSD nic_uio = Y
+Linux UIO = Y
+Linux VFIO = Y
+ARMv7 = Y
+ARMv8 = Y
+x86-32 = Y
+x86-64 = Y
--- /dev/null
+;
+; Supported features of the 'vmxnet3' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
--- /dev/null
+;
+; Supported features of the 'xenvirt' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
}
</style>
-.. table:: Features availability in networking drivers
-
- ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
- Feature a b b b b c e e e i i i i i i i i i i f f f f m m m n n p q q r s t v v v v x
- f n n n o x 1 n n 4 4 4 4 g g x x x x m m m m l l p f u c e e i z h h i i m e
- p x x x n g 0 a i 0 0 0 0 b b g g g g 1 1 1 1 x x i p l a d d n e u o r r x n
- a 2 2 t d b 0 c e e e e v b b b b 0 0 0 0 4 5 p l p e e g d n s t t n v
- c x x i e 0 . v v f e e e e k k k k e v a d t i i e i
- k v n . f f . v v . v v f t e o o t r
- e f g . . . f f . f f a r . 3 t
- t v v v v v v 2 x v
- e e e e e e e
- c c c c c c c
- ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
- Speed capabilities
- Link status Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Link status event Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Queue status event Y
- Rx interrupt Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Queue start/stop Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- MTU update Y Y Y P Y Y Y Y Y Y Y Y Y Y
- Jumbo frame Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Scattered Rx Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- LRO Y Y Y Y
- TSO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Promiscuous mode Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Allmulticast mode Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Unicast MAC filter Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Multicast MAC filter Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- RSS hash Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- RSS key update Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- RSS reta update Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- VMDq Y Y Y Y Y Y Y
- SR-IOV Y Y Y Y Y Y Y Y Y Y Y
- DCB Y Y Y Y Y
- VLAN filter Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Ethertype filter Y Y Y Y Y
- N-tuple filter Y Y Y
- SYN filter Y Y Y
- Tunnel filter Y Y Y Y
- Flexible filter Y
- Hash filter Y Y Y Y
- Flow director Y Y Y Y Y
- Flow control Y Y Y Y Y Y Y Y Y
- Rate limitation Y Y
- Traffic mirroring Y Y Y Y
- CRC offload Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- VLAN offload Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y P
- QinQ offload Y Y Y Y Y Y Y
- L3 checksum offload Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- L4 checksum offload Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Inner L3 checksum Y Y Y Y Y Y
- Inner L4 checksum Y Y Y Y Y Y
- Packet type parsing Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Timesync Y Y Y Y Y
- Basic stats Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Extended stats Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Stats per queue Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- EEPROM dump Y Y Y Y
- Registers dump Y Y Y Y Y Y Y Y
- Multiprocess aware Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- BSD nic_uio Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Linux UIO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Linux VFIO Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Other kdrv Y Y Y
- ARMv7 Y Y Y
- ARMv8 Y Y Y Y Y Y Y Y
- Power8 Y Y Y
- TILE-Gx Y
- x86-32 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- x86-64 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y
- Usage doc Y Y Y Y Y Y Y Y Y Y Y Y
- Design doc
- Perf doc
- ==================== = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
+.. include:: overview_table.txt
.. Note::