Usage: nic-xray.sh [--lacp] [--vlan] [--bmac] [-o|--optics] [-p|--physical] [--all]
       [--no-color] [--filter-link up|down] [-s[SEP]|--separator[=SEP]]
       [--group-bond] [-m[SEC]|--metrics[=SEC]] [-w[SEC]|--watch[=SEC]]
       [--output FORMAT] [--diagram-out FILE] [--help]

Version: 2.10.0

Description:
 Lists physical network interfaces with detailed information including:
 PCI slot, driver, firmware, MAC, MTU, link, speed/duplex, bond membership,
 LLDP peer info, and optionally LACP status, VLAN tagging, SFP optics,
 and physical topology (NUMA node, PCI slot, NIC vendor/model).

Options:
 --lacp              Show LACP Aggregator ID and Partner MAC per interface
 --vlan              Show VLAN tagging information (from LLDP)
 --bmac              Show bridge MAC address
 -o, --optics        Show SFP/QSFP transceiver diagnostics (Tx/Rx power, health)
                     Health status: OK (green), WARN (yellow), ALARM (red),
                     N/DOM (no DOM data), N/A (no SFP or copper)
 -p, --physical      Show physical topology: NUMA node, PCI slot, NIC vendor/model
                     Useful for NUMA affinity analysis and PCIe placement
 --all               Enable all optional columns (--lacp --vlan --bmac --optics --physical)
 --no-color          Disable color output (auto-disabled for non-terminal)
 --filter-link TYPE  Show only interfaces with link up or down
 -s, --separator     Show │ column separators in table output; applies to CSV too
 -sSEP, --separator=SEP
                     Use SEP as column separator in table and CSV output
 --group-bond        Sort rows by bond group, then by interface name
 -w, --watch         Watch mode: refresh display continuously (default: 5s)
 -wSEC, --watch=SEC  Set refresh interval in seconds (1-3600)
                     Combines with --metrics: sampling duration = watch interval
                     Table output only; requires a terminal
 -m, --metrics       Sample interface traffic metrics (default: 30s)
 -mSEC, --metrics=SEC
                     Set sampling duration in seconds (1-3600)
 --output TYPE       Output format: table (default), csv, json, dot, svg, or png
                     dot/svg/png generate a network topology diagram
                     svg/png require graphviz (dot command)
 --diagram-out FILE  Output file path for svg/png diagrams
                     Default: /tmp/nic-xray-<hostname>.{svg,png}
 -v, --version       Display version information
 -h, --help          Display this help message
