ethernet: add function to determine ethtool advertising

Taken from ethtool.
ethernet: fix incorrect duplex assignment
ethernet: set ethernet nic settings

Set link speed, duplex and port.
ethernet: stylistic cleanup