#!/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