Performs an error analysis of a fabric and provides augmented information from a topology_file. The report provides cable information as well as symbol error counts.
ethextractstat generates a detailed ethreport errors report that also has a topology file (see ethreport for more information about topology files). The report is piped to ethxmlextract which extracts values for Link, Cable and Port. (The port element names are context-sensitive.) Note that ethxmlextract generates two extraction records for each link (one for each port on the link); therefore, ethextractstat merges the two records into a single record and removes redundant link and cable information.
ethextractstat contains a while read loop that reads the CSV line-by-line, uses cut to remove redundant information, and outputs the data on a common line.
ethextractstat topology_file [ethreport options]
Produces full help text.
Specifies topology_file to use.
- ethreport options
The following options are passed to ethreport. This subset is considered typical and useful for this command. By design, the tool ignores -o/--output report option.
-X/--infile snapshot_input Generates a report using the data in the snapshot_input file. snapshot_input must have been generated during a previous -o snapshot run. '-' may be used as the snapshot_input to specify stdin.
-A/--allports Gets PortInfo for down switch ports.
-c/--config file Specifies the error thresholds configuration file. Default is /etc/eth-tools/ethmon.conf file.
-E/--eth config_file Specifies the Intel Ethernet configuration file. Default is /etc/eth-tools/mgt_config.xml file.
-L/--limit Limits operation to exact specified focus with -F for port error counters check (-o errors). Normally, the neighbor of each selected port is also checked. Does not affect other reports.
-F/--focus point Specifies the focus area for report. Used to limit scope of report. Refer to Point Syntax for details.
value is numeric ifid.
value is numeric ifid, selects node with given ifid.
value is numeric ifid of node, value2 is port number.
value is numeric port mgmtifaddr.
value is numeric node ifaddr.
value1 is numeric node ifaddr, value2 is port number.
value is numeric chassisid.
value1 is numeric chassisid, value2 is port number.
value is node description (node name).
value1 is node description (node name), value2 is port number.
value is glob pattern for node description (node name).
value1 is the glob pattern for the node description (node name), value2 is port number.
value is glob pattern for node details.
value1 is the glob pattern for the node details, value2 is port number.
value is node type (SW or NIC).
value1 is node type (SW or NIC), value2 is port number.
value is string for rate (25g, 50g, 75g, 100g), omits switch mgmt port 0.
value is a string for state (up, down, testing, unknown, dormant, notactive).
value is a string for PHYs state (other, unknown, operational, standby, shutdown, reset)
value is MTU size (maximum size 65535), omits switch mgmt port 0.
value is glob pattern for link details.
value is glob pattern for port details.
Specifies the name of file with the list of nodepats or node descriptions.
Specifies the name of file with the list of node pairs, separated by a colon.
Specifies the ports with a non-zero link down reason or neighbor link down reason.
Specifies the ports with a link down reason or neighbor link down reason equal to value.
The portion of the script that calls ethreport and ethxmlextract follows:
ethreport -x -Q -d 10 -o errors -T "$@" | ethxmlextract -H -d \; \
-e Link:id -e Rate -e LinkDetails -e CableLength \
-e CableLabel -e CableDetails -e Port.NodeDesc -e Port.PortNum
ethextractstat topology_file -c my_ethmon.conf