Need Help to Disable Flow Control: RX/TX on x86 build on all ports

Hello I have a x86 build with openwrt installed on a i5 CPU with Intel NIC

[    6.596659] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    6.605261] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    6.613781] igb: Intel(R) Gigabit Ethernet Network Driver - version 5.4.0-k
[    6.623451] igb: Copyright (c) 2007-2014 Intel Corporation.

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 ...

I tried to look up how to do this and only came across this developer article:
https://forum.openwrt.org/t/mt7621-mt7530-programming-disabling-flow-control-on-all-ports

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.

Check out ethtool.

I installed the package ethtool

ran the commands from ssh

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

Try adding a sleep before the execution in rc.local.

Kernel/boot might do something with the interfaces after your settings are executed, if they run to early.

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