I can see Flow control is enabled on the router by the kernal logs below..
eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
eth3: igb: eth3 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
now I've seen in the past when I disable Flow Control on a Client PCs it will echo back this.
ethX: igb: ethX NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
this shows pause frames disabled but only on TX but I would like to disable Flow Control entirely ...
First off not sure if that dev article applies to me as i'm not using mt7XXX I have a i5 CPU x86 build.
I also came across this post saying not to use flow control since its outdated and we have better options such as cake https://forum.mikrotik.com/viewtopic.php?p=543540#p537100
I'm using VOIP combined with QoS/Cake options so Flow Control is not needed in my case, but I can't find a simple way to disable this. Any insight in doing this for testing would be very appreciated.
ethtool -A eth0 autoneg off rx off tx off
ethtool -A eth1 autoneg off rx off tx off
ethtool -A eth2 autoneg off rx off tx off
ethtool -A eth3 autoneg off rx off tx off
as well as added them under /etc/rc.local/
rebooted.
ssh again and run "ethtool –a ethX" to see if it took. ethX=eth0/eth1/eth2/eth3
ssh echo:
Pause parameters for ethX:
Autonegotiate: off
RX: off
TX: off
ethtool settings seem to have taken and work after reboot but I still see Flow Control in my Kernel/System Logs below (i.e.) Should I be concerned?
[ 12.350695] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 12.364554] igb 0000:03:00.0 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 12.375457] br-lan: port 1(eth0) entered blocking state
[ 12.381999] br-lan: port 1(eth0) entered forwarding state
[ 12.388842] br-lan: port 2(eth2) entered blocking state
[ 12.395326] br-lan: port 2(eth2) entered forwarding state
[ 12.402130] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready
[ 12.510693] igb 0000:02:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 12.523887] IPv6: ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
Tried the sleep cmd to no avail ... it seems that the rc.local is one of the last to be executed.
I did however thanks to your idea come up with a work around. seems if I reload the network after it works.
This is my band aid fix to get it working it takes about a extra 30 seconds after boot for it to go in effect tho.
modified rc.local
ethtool -A eth0 autoneg off rx off tx off
ethtool -A eth1 autoneg off rx off tx off
ethtool -A eth2 autoneg off rx off tx off
ethtool -A eth3 autoneg off rx off tx off
/etc/init.d/network restart
exit 0
timestamp logs show it works below
[ 7.766816] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[ 7.774024] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[ 12.180758] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 12.280776] igb 0000:03:00.0 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[ 12.600765] igb 0000:02:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX
[ 56.030758] igb 0000:01:00.0 eth0: igb: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 56.220751] igb 0000:03:00.0 eth2: igb: eth2 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
[ 56.310757] igb 0000:02:00.0 eth1: igb: eth1 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None