Neterion's (Formerly S2io) X3100 Series 10GbE PCIe Server Adapter Linux driver
==============================================================================

Contents
--------

1) Introduction
2) Features supported
3) Configurable driver parameters
4) Troubleshooting

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:
----------------------

i)   Single function mode (up to 17 queues)

ii)  Multi function mode (up to 17 functions)

iii) PCI-SIG's I/O Virtualization
       - Single Root mode: v1.0 (up to 17 functions)
       - Multi-Root mode: v1.0 (up to 17 functions)

iv)  Jumbo frames
       X3100 Series supports MTU up to 9600 bytes, modifiable using
       ifconfig command.

v)   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

vi)  MSI-X: (Enabled by default)
       Resulting in noticeable performance improvement (up to 7% on certain
       platforms).

vii) NAPI: (Enabled by default)
       For better Rx interrupt moderation.

viii)RTH (Receive Traffic Hash): (Enabled by default)
       Receive side steering for better scaling.

ix)  Statistics
       Comprehensive MAC-level and software statistics displayed using
       "ethtool -S" option.

x)   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:
----------------------------------

i)  max_config_dev
       Specifies maximum device functions to be enabled.
       Valid range: 1-8

ii) max_config_port
       Specifies number of ports to be enabled.
       Valid range: 1,2
       Default: 1

iii)max_config_vpath
       Specifies maximum VPATH(s) configured for each device function.
       Valid range: 1-17

iv) 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

v)  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

4) Troubleshooting:
-------------------

To resolve an issue with the source code or X3100 series adapter, please collect
the statistics, register dumps using ethool, relevant logs and email them to
support@neterion.com.
