| #!/bin/bash |
| |
| echo "PCI Address MAC address Device Name Driver State Speed Port Type" |
| echo "============ ================= ============== ========== ======== ========== ====================" |
| |
| for f in /sys/class/net/*; do |
| dev=$(basename ${f}) |
| if [ -e $f/device ] ; then |
| dev=$(basename ${f}) |
| pci_addr=$(basename $(readlink $f/device)) |
| mac=$(cat $f/address) |
| driver=$(basename $(readlink $f/device/driver)) |
| oper=$(cat $f/operstate) |
| speed=$(sudo ethtool $dev | grep Speed | cut -d" " -f2) |
| port=$(ethtool $dev 2> /dev/null | sed -ne 's/.*Port: \(.*\)/\1/p') |
| printf "%-12s %-14s %-14s %-10s %-8s %-10s %-20s\n" $pci_addr $mac $dev $driver $oper $speed "$port" |
| # ethtool $dev | grep Port: |
| fi |
| done |
| |