Neterion’s (Formerly S2io) X3100 Series 10GbE PCIe Server Adapter Linux driver¶
1. Introduction¶
This Linux driver supports all Neterion’s X3100 series 10 GbE PCIe I/O Virtualized Server adapters.
The X3100 series supports four modes of operation, configurable via firmware:
- Single function mode
- Multi function mode
- SRIOV mode
- MRIOV mode
The functions share a 10GbE link and the pci-e bus, but hardly anything else inside the ASIC. Features like independent hw reset, statistics, bandwidth/ priority allocation and guarantees, GRO, TSO, interrupt moderation etc are supported independently on each function.
(See below for a complete list of features supported for both IPv4 and IPv6)
2. Features supported¶
Single function mode (up to 17 queues)
Multi function mode (up to 17 functions)
PCI-SIG’s I/O Virtualization
- Single Root mode: v1.0 (up to 17 functions)
- Multi-Root mode: v1.0 (up to 17 functions)
Jumbo frames
X3100 Series supports MTU up to 9600 bytes, modifiable using ip command.
Offloads supported: (Enabled by default)
- Checksum offload (TCP/UDP/IP) on transmit and receive paths
- TCP Segmentation Offload (TSO) on transmit path
- Generic Receive Offload (GRO) on receive path
MSI-X: (Enabled by default)
Resulting in noticeable performance improvement (up to 7% on certain platforms).
NAPI: (Enabled by default)
For better Rx interrupt moderation.
viii)RTH (Receive Traffic Hash): (Enabled by default)
Receive side steering for better scaling.
Statistics
Comprehensive MAC-level and software statistics displayed using “ethtool -S” option.
Multiple hardware queues: (Enabled by default)
Up to 17 hardware based transmit and receive data channels, with multiple steering options (transmit multiqueue enabled by default).
3) Configurable driver parameters:¶
- max_config_dev
Specifies maximum device functions to be enabled.
Valid range: 1-8
- max_config_port
Specifies number of ports to be enabled.
Valid range: 1,2
Default: 1
- max_config_vpath
Specifies maximum VPATH(s) configured for each device function.
Valid range: 1-17
- vlan_tag_strip
Enables/disables vlan tag stripping from all received tagged frames that are not replicated at the internal L2 switch.
Valid range: 0,1 (disabled, enabled respectively)
Default: 1
- addr_learn_en
Enable learning the mac address of the guest OS interface in virtualization environment.
Valid range: 0,1 (disabled, enabled respectively)
Default: 0