This feature helps dumping driver and firmware configuration using ethtool. It creates a backup of the configuration files into a specified dump file.
Dump Parameters (Bitmap Flag)
The following bitmap parameters are used to set the type of dump:
Bitmap Parameters
Value | Description |
---|---|
1 | MST dump |
2 | Ring dump (Software context information for SQs, EQs, RQs, CQs) |
3 | MST dump + Ring dump (1+2) |
4 | Clear this parameter |
Configuration
In order to configure this feature, follow the steps below:
Set the dump bitmap parameter by running -W (uppercase) with the desired bitmap parameter value (see Bitmap Parameters table above). In the following example, the bitmap parameter value is 3.
ethtool -W ens1f0 3
Dump the file by running -w (lowercase) with the desired configuration file name.
ethtool -w ens1f0 data /tmp/dump.bin
[Optional] To get the bitmap parameter value, version and size of the dump, run the command above without the file name.
ethtool -w ens1f0 flag: 3, version: 1, length: 4312
To open the dump file, run:
mlnx_dump_parser -f /tmp/dump.bin -m mst_dump_demo.txt -r ring_dump_demo.txt Version: 1 Flag: 3 Number of blocks: 123 Length 327584 MCION module number: 0 status: | present | DRIVER VERSION: 1-23 (03 Mar 2015) DEVICE NAME 0000:81:00.0:ens1f0 Parsing Complete!
where:
-f For the file to be parsed (the file that was just created) -m For the mst dump file -r For the ring dump file For further information, refer to HowTo Dump Driver Configuration (via ethtool) Community post.
Output:# mlnx_dump_parser -f /tmp/dump.bin -m mst_dump_demo.txt -r ring_dump_demo.txt Version: 1 Flag: 3 Number of blocks: 123 Length 327584 MCION module number: 0 status: | present | DRIVER VERSION: 1-23 (03 Mar 2015) DEVICE NAME 0000:81:00.0:ens1f0 Parsing Complete!
- Open the files.
The MST dump file will look as follows. In order to analyze it, contact NVIDIA Networking Support at networking-support@nvidia.com.
cat mst_dump_demo.txt 0x00000000 0x01002000 0x00000004 0x00000000 0x00000008 0x00000000 0x0000000c 0x00000000 0x00000010 0x00000000 0x00000014 0x00000000 0x00000018 0x00000000 ...
The Ring dump file can help developers debug ring-related issues, and it looks as follows:
# cat ring_dump_demo.txt SQ TYPE: 3, WQN: 102, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024... SQ TYPE: 3, WQN: 102, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 65536, GROUP_IP: 0 CQ TYPE: 5, WQN: 20, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 1024, GROUP_IP: 0 RQ TYPE: 4, WQN: 103, PI: 15, CI: 0, STRIDE: 5, SIZE: 16, WQE_NUM: 512, GROUP_IP: 0 CQ TYPE: 5, WQN: 21, PI: 0, CI: 0, STRIDE: 6, SIZE: 16384, WQE_NUM: 16384, GROUP_IP: 0 EQ TYPE: 6, CI: 1, SIZE: 0, IRQN: 109, EQN: 19, NENT: 2048, MASK: 0, INDEX: 0, GROUP_ID: 0 SQ TYPE: 3, WQN: 106, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 65536, GROUP_IP: 1 CQ TYPE: 5, WQN: 23, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 1024, GROUP_IP: 1 RQ TYPE: 4, WQN: 107, PI: 15, CI: 0, STRIDE: 5, SIZE: 16, WQE_NUM: 512, GROUP_IP: 1 CQ TYPE: 5, WQN: 24, PI: 0, CI: 0, STRIDE: 6, SIZE: 16384, WQE_NUM: 16384, GROUP_IP: 1 EQ TYPE: 6, CI: 1, SIZE: 0, IRQN: 110, EQN: 20, NENT: 2048, MASK: 0, INDEX: 1, GROUP_ID: 1 SQ TYPE: 3, WQN: 110, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 65536, GROUP_IP: 2 CQ TYPE: 5, WQN: 26, PI: 0, CI: 0, STRIDE: 6, SIZE: 1024, WQE_NUM: 1024, GROUP_IP: 2 RQ TYPE: 4, WQN: 111, PI: 15, CI: 0, STRIDE: 5, SIZE: 16, WQE_NUM: 512, GROUP_IP: 2 CQ TYPE: 5, WQN: 27, PI: 0, CI: 0, STRIDE: 6, SIZE: 16384, WQE_NUM: 16384, GROUP_IP: 2 ...