1.. SPDX-License-Identifier: GPL-2.0
2
3==============================================================================
4Neterion's (Formerly S2io) X3100 Series 10GbE PCIe Server Adapter Linux driver
5==============================================================================
6
7.. Contents
8
9  1) Introduction
10  2) Features supported
11  3) Configurable driver parameters
12  4) Troubleshooting
13
141. Introduction
15===============
16
17This Linux driver supports all Neterion's X3100 series 10 GbE PCIe I/O
18Virtualized Server adapters.
19
20The X3100 series supports four modes of operation, configurable via
21firmware:
22
23	- Single function mode
24	- Multi function mode
25	- SRIOV mode
26	- MRIOV mode
27
28The functions share a 10GbE link and the pci-e bus, but hardly anything else
29inside the ASIC. Features like independent hw reset, statistics, bandwidth/
30priority allocation and guarantees, GRO, TSO, interrupt moderation etc are
31supported independently on each function.
32
33(See below for a complete list of features supported for both IPv4 and IPv6)
34
352. Features supported
36=====================
37
38i)   Single function mode (up to 17 queues)
39
40ii)  Multi function mode (up to 17 functions)
41
42iii) PCI-SIG's I/O Virtualization
43
44       - Single Root mode: v1.0 (up to 17 functions)
45       - Multi-Root mode: v1.0 (up to 17 functions)
46
47iv)  Jumbo frames
48
49       X3100 Series supports MTU up to 9600 bytes, modifiable using
50       ip command.
51
52v)   Offloads supported: (Enabled by default)
53
54       - Checksum offload (TCP/UDP/IP) on transmit and receive paths
55       - TCP Segmentation Offload (TSO) on transmit path
56       - Generic Receive Offload (GRO) on receive path
57
58vi)  MSI-X: (Enabled by default)
59
60       Resulting in noticeable performance improvement (up to 7% on certain
61       platforms).
62
63vii) NAPI: (Enabled by default)
64
65       For better Rx interrupt moderation.
66
67viii)RTH (Receive Traffic Hash): (Enabled by default)
68
69       Receive side steering for better scaling.
70
71ix)  Statistics
72
73       Comprehensive MAC-level and software statistics displayed using
74       "ethtool -S" option.
75
76x)   Multiple hardware queues: (Enabled by default)
77
78       Up to 17 hardware based transmit and receive data channels, with
79       multiple steering options (transmit multiqueue enabled by default).
80
813) Configurable driver parameters:
82----------------------------------
83
84i)  max_config_dev
85       Specifies maximum device functions to be enabled.
86
87       Valid range: 1-8
88
89ii) max_config_port
90       Specifies number of ports to be enabled.
91
92       Valid range: 1,2
93
94       Default: 1
95
96iii) max_config_vpath
97       Specifies maximum VPATH(s) configured for each device function.
98
99       Valid range: 1-17
100
101iv) vlan_tag_strip
102       Enables/disables vlan tag stripping from all received tagged frames that
103       are not replicated at the internal L2 switch.
104
105       Valid range: 0,1 (disabled, enabled respectively)
106
107       Default: 1
108
109v)  addr_learn_en
110       Enable learning the mac address of the guest OS interface in
111       virtualization environment.
112
113       Valid range: 0,1 (disabled, enabled respectively)
114
115       Default: 0
116