1 .. SPDX-License-Identifier: GPL-2.0+
3 ========================================================
4 Linux Driver for the Pensando(R) Ethernet adapter family
5 ========================================================
7 Pensando Linux Ethernet driver.
8 Copyright(c) 2019 Pensando Systems, Inc
13 - Identifying the Adapter
15 - Configuring the driver
19 Identifying the Adapter
20 =======================
22 To find if one or more Pensando PCI Ethernet devices are installed on the
23 host, check for the PCI devices::
26 b5:00.0 Ethernet controller: Device 1dd8:1002
27 b6:00.0 Ethernet controller: Device 1dd8:1002
29 If such devices are listed as above, then the ionic.ko driver should find
30 and configure them for use. There should be log entries in the kernel
31 messages such as these::
34 ionic 0000:b5:00.0: 126.016 Gb/s available PCIe bandwidth (8.0 GT/s PCIe x16 link)
35 ionic 0000:b5:00.0 enp181s0: renamed from eth0
36 ionic 0000:b5:00.0 enp181s0: Link up - 100 Gbps
37 ionic 0000:b6:00.0: 126.016 Gb/s available PCIe bandwidth (8.0 GT/s PCIe x16 link)
38 ionic 0000:b6:00.0 enp182s0: renamed from eth0
39 ionic 0000:b6:00.0 enp182s0: Link up - 100 Gbps
41 Driver and firmware version information can be gathered with either of
42 ethtool or devlink tools::
47 firmware-version: 1.8.0-28
50 $ devlink dev info pci/0000:b5:00.0
53 serial_number FLM18420073
61 See Documentation/networking/devlink/ionic.rst for more information
62 on the devlink dev info data.
67 The driver is enabled via the standard kernel configuration system,
68 using the make command::
70 make oldconfig/menuconfig/etc.
72 The driver is located in the menu structure at:
75 -> Network device support (NETDEVICES [=y])
76 -> Ethernet driver support
78 -> Pensando Ethernet IONIC Support
80 Configuring the Driver
81 ======================
86 Jumbo frame support is available with a maximim size of 9194 bytes.
91 Interrupt coalescing can be configured by changing the rx-usecs value with
92 the "ethtool -C" command. The rx-usecs range is 0-190. The tx-usecs value
93 reflects the rx-usecs value as they are tied together on the same interrupt.
98 Minimal SR-IOV support is currently offered and can be enabled by setting
99 the sysfs 'sriov_numvfs' value, if supported by your particular firmware
108 The commands ``netstat -i``, ``ip -s link show``, and ``ifconfig`` show
109 a limited set of statistics taken directly from firmware. For example::
111 $ ip -s link show enp181s0
112 7: enp181s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
113 link/ether 00:ae:cd:00:07:68 brd ff:ff:ff:ff:ff:ff
114 RX: bytes packets errors dropped overrun mcast
116 TX: bytes packets errors dropped carrier collsns
122 The statistics shown from the ``ethtool -S`` command includes a combination of
123 driver counters and firmware counters, including port and queue specific values.
124 The driver values are counters computed by the driver, and the firmware values
125 are gathered by the firmware from the port hardware and passed through the
126 driver with no further interpretation.
128 Driver port specific::
142 Driver queue specific::
154 tx_0_vlan_inserted: 0
160 rx_0_csum_complete: 0
163 rx_0_vlan_stripped: 0
165 Firmware port specific::
170 hw_rx_missed_errors: 0
171 hw_tx_aborted_errors: 0
178 frames_rx_unicast: 10
179 frames_rx_multicast: 5
180 frames_rx_broadcast: 0
182 frames_rx_bad_length: 0
183 frames_rx_undersized: 0
184 frames_rx_oversized: 0
185 frames_rx_fragments: 0
187 frames_rx_pripause: 0
188 frames_rx_stomped_crc: 0
189 frames_rx_too_long: 0
190 frames_rx_vlan_good: 3
192 frames_rx_less_than_64b: 0
194 frames_rx_65b_127b: 11
195 frames_rx_128b_255b: 0
196 frames_rx_256b_511b: 0
197 frames_rx_512b_1023b: 0
198 frames_rx_1024b_1518b: 0
199 frames_rx_1519b_2047b: 0
200 frames_rx_2048b_4095b: 0
201 frames_rx_4096b_8191b: 0
202 frames_rx_8192b_9215b: 0
208 octets_tx_total: 2614
210 frames_tx_multicast: 21
211 frames_tx_broadcast: 2
213 frames_tx_pripause: 0
215 frames_tx_less_than_64b: 0
217 frames_tx_65b_127b: 27
218 frames_tx_128b_255b: 0
219 frames_tx_256b_511b: 0
220 frames_tx_512b_1023b: 0
221 frames_tx_1024b_1518b: 0
222 frames_tx_1519b_2047b: 0
223 frames_tx_2048b_4095b: 0
224 frames_tx_4096b_8191b: 0
225 frames_tx_8192b_9215b: 0
243 tx_pripause_0_1us_count: 0
244 tx_pripause_1_1us_count: 0
245 tx_pripause_2_1us_count: 0
246 tx_pripause_3_1us_count: 0
247 tx_pripause_4_1us_count: 0
248 tx_pripause_5_1us_count: 0
249 tx_pripause_6_1us_count: 0
250 tx_pripause_7_1us_count: 0
251 rx_pripause_0_1us_count: 0
252 rx_pripause_1_1us_count: 0
253 rx_pripause_2_1us_count: 0
254 rx_pripause_3_1us_count: 0
255 rx_pripause_4_1us_count: 0
256 rx_pripause_5_1us_count: 0
257 rx_pripause_6_1us_count: 0
258 rx_pripause_7_1us_count: 0
259 rx_pause_1us_count: 0
260 frames_tx_truncated: 0
266 For general Linux networking support, please use the netdev mailing
267 list, which is monitored by Pensando personnel::
269 netdev@vger.kernel.org
271 For more specific support needs, please use the Pensando driver support