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