Bug 232451

Summary: [igb] I210 NIC can not send more than ~670Mbit/s with flow control enabled.
Product: Base System Reporter: Lev A. Serebryakov <lev>
Component: kernAssignee: freebsd-net (Nobody) <net>
Status: Closed FIXED    
Severity: Affects Only Me CC: erj, kbowling, shurd
Priority: --- Keywords: IntelNetworking
Version: 11.2-STABLE   
Hardware: amd64   
OS: Any   

Description Lev A. Serebryakov freebsd_committer freebsd_triage 2018-10-19 17:12:16 UTC
I have server which is equipped with I210 NIC and has 11.2-STABLE installed.

With default config and MTU 9000 this server can not send faster than ~670Mbit/s on network without any other load (tested with iperf3).

If I set "sysctl dev.igb.0.fc" to 0, it easily sends 990-995Mbit/s at same network to same client.

Other problem is, that after mtu change with "ifconfig igb mtu ..." speed drops again, but "sysctl dev.igb.0.fc" is 0 still. To turn off flow control again it is needed to flip "sysctl dev.igb.0.fc" to non-zero and to zero again.
Comment 1 Kevin Bowling freebsd_committer freebsd_triage 2021-09-30 01:48:44 UTC
(In reply to Lev A. Serebryakov from comment #0)
Can you check on recent versions of FreeBSD?
Comment 2 Lev A. Serebryakov freebsd_committer freebsd_triage 2021-09-30 17:11:54 UTC
(In reply to Kevin Bowling from comment #1)
Should it be CURRENT or stable (12? 13?) is enough?
Comment 3 Kevin Bowling freebsd_committer freebsd_triage 2021-09-30 18:27:13 UTC
(In reply to Lev A. Serebryakov from comment #2)
The most recent snapshots (2021-Sep-30) of stable12+ or main should all be pretty close with respect to igb(4).
Comment 4 Lev A. Serebryakov freebsd_committer freebsd_triage 2021-09-30 18:32:48 UTC
(In reply to Kevin Bowling from comment #3)
I'll rebuild stable12 at this weekend and try.
Comment 5 Lev A. Serebryakov freebsd_committer freebsd_triage 2021-10-18 18:19:36 UTC
Looks like latest stable12 doesn't have this problem.
Comment 6 Kevin Bowling freebsd_committer freebsd_triage 2021-10-18 18:31:14 UTC
Thanks Lev!  I can confirm the driver is in a similar state in stable/13 and main, and this version will ship in 12.3 so I will close this bug out.  I am not sure on the specific fix, a lot of things have been improved since the initial report.