Im using lenevo M5 server which have Gbps ethernet cards, but strangely when i read cat /sys/class/net/eth3/speed it show 100 similarly when using ethtool it show 100Mbps only.The output of dmesg and ethtool are below. Any idea why is that
root@server1:~# dmesg |grep eth1
[ 3.027487] tg3 0000:16:00.1 eth1: Tigon3 [partno(BCM95769) rev 5719001] (PCI Express) MAC address 08:94:ef:5d:81:a2
[ 3.027497] tg3 0000:16:00.1 eth1: attached PHY is 5719C (10/100/1000Base-T Ethernet) (WireSpeed[1], EEE[1])
[ 3.027503] tg3 0000:16:00.1 eth1: RXcsums[1] LinkChgREG[0] MIirq[0] ASF[1] TSOcap[1]
[ 3.027508] tg3 0000:16:00.1 eth1: dma_rwctrl[00000001] dma_mask[64-bit]
[ 28.133071] bond0: Adding slave eth1
[ 28.249876] bond0: Enslaving eth1 as a backup interface with an up link
[ 53.149602] tg3 0000:16:00.1 eth1: Link is up at 100 Mbps, full duplex
[ 53.149620] tg3 0000:16:00.1 eth1: Flow control is off for TX and off for RX
[ 53.149624] tg3 0000:16:00.1 eth1: EEE is disabled
# ethtool eth3
Settings for eth3:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Half 1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 100baseT/Full
Advertised pause frame use: Symmetric
Advertised auto-negotiation: Yes
Link partner advertised link modes: 100baseT/Half 100baseT/Full
1000baseT/Full
Link partner advertised pause frame use: No
Link partner advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 2
Transceiver: internal
Auto-negotiation: on
MDI-X: off
Supports Wake-on: g
Wake-on: g
Current message level: 0x000000ff (255)
drv probe link timer ifdown ifup rx_err tx_err
Link detected: yes
When i try to change the speed with ethtool -s eth3 speed 1000 duplex full
the "Speed " section is "Unknown" similarly reading(cat) the file /sys/class/net/eth3/speed gives invalid argument.
Check the port speed configuration for that specific port on the router, it could be limited to 100Mbps or the maybe the auto negotiation fails in which case you could fix it to 1000Mbps.
The commands depend on your router, here is a cisco example.
Thanks to @Diamant. After digging more the one of the CABLE connecting server eth ports seems to be faulty and replacing it solved the problem.