Skip to content

poor performance when running iperf3 on Intel I219-LM #277

@D-0000000000

Description

@D-0000000000

Important notices

Before you add a new report, we ask you kindly to acknowledge the following:

Describe the bug

Machine has two Intel NIC I219-LM(0x15fb) and I210(0x1533). I tested two NIC using iperf3. I210 worked fine, 900+Mbps with --bidir. But I219-LM only have 300+Mbps on TX with --bidir and -w is not working. Bitrate is normal when testing one direction without --bidir or with -R.
Tests on latest FreeBSD 14.3 are interesting. First round is basically the same as OPNsense. But later round bitrate comes to 800+Mbps. Having a rest for minutes and start a new round bitrate drops to 500Mbps.

I also tested on archiso. Result on archiso is normal.

https://docs.netgate.com/pfsense/en/latest/hardware/tune.html
https://docs.opnsense.org/troubleshooting/performance.html
Tips from above almost no effects on test. There is no drop. But net.inet.tcp.tso default value is 1, TSO4 and TOS6 are not showed in ifconfig.

Machine was run as iperf3 client. Both NICs are configured as LAN in the test and acquire IP via DHCP. Offloading settings are kept default. iperf3 server is archlinux i7-10700 Realtek 8168. Machine and iperf3 server are connected by a switch.

To Reproduce

Steps to reproduce the behavior:

  1. Fresh install on a machine with Intel I219-LM(0x15fb)
  2. Running iperf3 -c 192.168.1.160 --bidir

Expected behavior

Bitrate in both direction goes to 900+Mbps.

Describe alternatives you considered

Screenshots

Relevant log files
Test output on OPNsense

root@OPNsense:~ # iperf3 -c 192.168.1.160 --bidir
Connecting to host 192.168.1.160, port 5201
[  5] local 192.168.1.120 port 4608 connected to 192.168.1.160 port 5201
[  7] local 192.168.1.120 port 65221 connected to 192.168.1.160 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  37.2 MBytes   312 Mbits/sec   38   70.0 KBytes
[  7][RX-C]   0.00-1.00   sec   112 MBytes   938 Mbits/sec
[  5][TX-C]   1.00-2.02   sec  35.8 MBytes   293 Mbits/sec   25   84.1 KBytes
[  7][RX-C]   1.00-2.02   sec   115 MBytes   940 Mbits/sec
[  5][TX-C]   2.02-3.00   sec  35.2 MBytes   303 Mbits/sec   22    103 KBytes
[  7][RX-C]   2.02-3.00   sec   109 MBytes   939 Mbits/sec
[  5][TX-C]   3.00-4.00   sec  39.2 MBytes   329 Mbits/sec   26    103 KBytes
[  7][RX-C]   3.00-4.00   sec   112 MBytes   940 Mbits/sec
[  5][TX-C]   4.00-5.00   sec  35.2 MBytes   296 Mbits/sec   37   56.6 KBytes
[  7][RX-C]   4.00-5.00   sec   112 MBytes   940 Mbits/sec
[  5][TX-C]   5.00-6.00   sec  39.5 MBytes   331 Mbits/sec   26   63.2 KBytes
[  7][RX-C]   5.00-6.00   sec   112 MBytes   938 Mbits/sec
[  5][TX-C]   6.00-7.04   sec  38.4 MBytes   310 Mbits/sec   28   49.6 KBytes
[  7][RX-C]   6.00-7.04   sec   116 MBytes   940 Mbits/sec
[  5][TX-C]   7.04-8.00   sec  31.8 MBytes   277 Mbits/sec   26   77.9 KBytes
[  7][RX-C]   7.04-8.00   sec   108 MBytes   939 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  39.6 MBytes   332 Mbits/sec   34   67.7 KBytes
[  7][RX-C]   8.00-9.00   sec   112 MBytes   939 Mbits/sec
[  5][TX-C]   9.00-10.00  sec  31.5 MBytes   264 Mbits/sec   29   58.9 KBytes
[  7][RX-C]   9.00-10.00  sec   112 MBytes   939 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec   364 MBytes   305 Mbits/sec  291            sender
[  5][TX-C]   0.00-10.00  sec   363 MBytes   304 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec    0            sender
[  7][RX-C]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver

iperf Done.
root@OPNsense:~ # iperf3 -c 192.168.1.160 --bidir
Connecting to host 192.168.1.160, port 5201
[  5] local 192.168.1.120 port 5782 connected to 192.168.1.160 port 5201
[  7] local 192.168.1.120 port 48171 connected to 192.168.1.160 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec  34.4 MBytes   288 Mbits/sec   28   68.3 KBytes
[  7][RX-C]   0.00-1.00   sec   112 MBytes   939 Mbits/sec
[  5][TX-C]   1.00-2.00   sec  33.0 MBytes   277 Mbits/sec   35   71.0 KBytes
[  7][RX-C]   1.00-2.00   sec   112 MBytes   938 Mbits/sec
[  5][TX-C]   2.00-3.00   sec  34.4 MBytes   288 Mbits/sec   32   72.0 KBytes
[  7][RX-C]   2.00-3.00   sec   112 MBytes   940 Mbits/sec
[  5][TX-C]   3.00-4.06   sec  38.4 MBytes   303 Mbits/sec   29   91.6 KBytes
[  7][RX-C]   3.00-4.06   sec   119 MBytes   939 Mbits/sec
[  5][TX-C]   4.06-5.02   sec  34.6 MBytes   302 Mbits/sec   27   74.7 KBytes
[  7][RX-C]   4.06-5.02   sec   108 MBytes   939 Mbits/sec
[  5][TX-C]   5.02-6.00   sec  35.8 MBytes   307 Mbits/sec   29   63.7 KBytes
[  7][RX-C]   5.02-6.00   sec   109 MBytes   938 Mbits/sec
[  5][TX-C]   6.00-7.00   sec  36.6 MBytes   307 Mbits/sec   25   82.3 KBytes
[  7][RX-C]   6.00-7.00   sec   112 MBytes   940 Mbits/sec
[  5][TX-C]   7.00-8.00   sec  35.0 MBytes   294 Mbits/sec   27    120 KBytes
[  7][RX-C]   7.00-8.00   sec   112 MBytes   938 Mbits/sec
[  5][TX-C]   8.00-9.00   sec  36.2 MBytes   304 Mbits/sec   29   95.9 KBytes
[  7][RX-C]   8.00-9.00   sec   112 MBytes   940 Mbits/sec
[  5][TX-C]   9.00-10.00  sec  35.0 MBytes   294 Mbits/sec   33   63.3 KBytes
[  7][RX-C]   9.00-10.00  sec   112 MBytes   938 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec   353 MBytes   296 Mbits/sec  294            sender
[  5][TX-C]   0.00-10.00  sec   353 MBytes   296 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1.10 GBytes   941 Mbits/sec    0            sender
[  7][RX-C]   0.00-10.00  sec  1.09 GBytes   939 Mbits/sec                  receiver

iperf Done.
root@OPNsense:~ #

Test output on FreeBSD 14.3

dgkj@dgkj-Default-string:~ $ iperf3 -c 192.168.1.160 --bidir && iperf3 -c 192.168.1.160 --bidir
Connecting to host 192.168.1.160, port 5201
[  5] local 192.168.1.120 port 54489 connected to 192.168.1.160 port 5201
[  7] local 192.168.1.120 port 41004 connected to 192.168.1.160 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.06   sec   116 MBytes   914 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   0.00-1.06   sec  48.0 MBytes   379 Mbits/sec
[  5][TX-C]   1.06-2.03   sec   107 MBytes   933 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   1.06-2.03   sec  28.4 MBytes   247 Mbits/sec
[  5][TX-C]   2.03-3.06   sec   115 MBytes   932 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   2.03-3.06   sec  30.5 MBytes   247 Mbits/sec
[  5][TX-C]   3.06-4.01   sec   106 MBytes   932 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   3.06-4.01   sec  28.1 MBytes   248 Mbits/sec
[  5][TX-C]   4.01-5.00   sec   110 MBytes   932 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   4.01-5.00   sec  29.1 MBytes   247 Mbits/sec
[  5][TX-C]   5.00-6.00   sec   111 MBytes   932 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   5.00-6.00   sec  29.4 MBytes   246 Mbits/sec
[  5][TX-C]   6.00-7.01   sec   112 MBytes   933 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   6.00-7.01   sec  29.8 MBytes   248 Mbits/sec
[  5][TX-C]   7.01-8.02   sec   112 MBytes   933 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   7.01-8.02   sec  29.8 MBytes   248 Mbits/sec
[  5][TX-C]   8.02-9.03   sec   113 MBytes   932 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   8.02-9.04   sec  30.1 MBytes   248 Mbits/sec
[  5][TX-C]   9.03-10.06  sec   114 MBytes   931 Mbits/sec    0   4.31 MBytes
[  7][RX-C]   9.04-10.06  sec  30.2 MBytes   248 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.06  sec  1.09 GBytes   931 Mbits/sec    0            sender
[  5][TX-C]   0.00-10.08  sec  1.09 GBytes   929 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.06  sec   316 MBytes   264 Mbits/sec    0            sender
[  7][RX-C]   0.00-10.08  sec   313 MBytes   261 Mbits/sec                  receiver

iperf Done.
Connecting to host 192.168.1.160, port 5201
[  5] local 192.168.1.120 port 45543 connected to 192.168.1.160 port 5201
[  7] local 192.168.1.120 port 10903 connected to 192.168.1.160 port 5201
[ ID][Role] Interval           Transfer     Bitrate         Retr  Cwnd
[  5][TX-C]   0.00-1.00   sec   111 MBytes   932 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   0.00-1.00   sec   103 MBytes   867 Mbits/sec
[  5][TX-C]   1.00-2.06   sec   118 MBytes   929 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   1.00-2.06   sec   106 MBytes   834 Mbits/sec
[  5][TX-C]   2.06-3.00   sec   104 MBytes   928 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   2.06-3.00   sec  93.4 MBytes   835 Mbits/sec
[  5][TX-C]   3.00-4.00   sec   111 MBytes   930 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   3.00-4.00   sec  99.5 MBytes   835 Mbits/sec
[  5][TX-C]   4.00-5.00   sec   110 MBytes   927 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   4.00-5.00   sec  99.2 MBytes   833 Mbits/sec
[  5][TX-C]   5.00-6.04   sec   115 MBytes   928 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   5.00-6.04   sec   104 MBytes   835 Mbits/sec
[  5][TX-C]   6.04-7.00   sec   106 MBytes   930 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   6.04-7.00   sec  95.2 MBytes   835 Mbits/sec
[  5][TX-C]   7.00-8.00   sec   111 MBytes   929 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   7.00-8.00   sec  99.6 MBytes   835 Mbits/sec
[  5][TX-C]   8.00-9.00   sec   111 MBytes   928 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   8.00-9.00   sec  99.4 MBytes   834 Mbits/sec
[  5][TX-C]   9.00-10.00  sec   111 MBytes   929 Mbits/sec    0   4.07 MBytes
[  7][RX-C]   9.00-10.00  sec  99.6 MBytes   836 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID][Role] Interval           Transfer     Bitrate         Retr
[  5][TX-C]   0.00-10.00  sec  1.08 GBytes   929 Mbits/sec    0            sender
[  5][TX-C]   0.00-10.02  sec  1.08 GBytes   928 Mbits/sec                  receiver
[  7][RX-C]   0.00-10.00  sec  1002 MBytes   841 Mbits/sec    0            sender
[  7][RX-C]   0.00-10.02  sec   999 MBytes   836 Mbits/sec                  receiver

iperf Done.
dgkj@dgkj-Default-string:~ $

Additional context

Similar issue
https://forums.freebsd.org/threads/i219-lm-network-card-port-speed-problem.79679/
https://forum.netgate.com/topic/162625/i219-lm-network-card-port-speed-problem

Environment

Software version used and hardware type if relevant, e.g.:

Test machine

iperf 3.20 (cJSON 1.7.15)
FreeBSD OPNsense.internal 14.3-RELEASE-p7 FreeBSD 14.3-RELEASE-p7 stable/25.7-n271786-8d37907deeb8 SMP amd64
11th Gen Intel(R) Core(TM) i5-1145G7E @ 2.60GHz
Intel(R) Core(TM) i5-1145G7E
em0@pci0:0:31:6:        class=0x020000 rev=0x20 hdr=0x00 vendor=0x8086 device=0x15fb subvendor=0x8086 subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Connection (13) I219-LM'
    class      = network
    subclass   = ethernet
igb0@pci0:3:0:0:        class=0x020000 rev=0x03 hdr=0x00 vendor=0x8086 device=0x1533 subvendor=0xffff subdevice=0x0000
    vendor     = 'Intel Corporation'
    device     = 'I210 Gigabit Network Connection'
    class      = network
    subclass   = ethernet

iperf3 server

iperf 3.20 (cJSON 1.7.15)
Linux archlinux 6.18.5-arch1-1 #1 SMP PREEMPT_DYNAMIC Sun, 11 Jan 2026 17:10:53 +0000 x86_64 GNU/Linux
Intel(R) Core(TM) i7-10700 CPU @ 2.90GHz
Realtek Semiconductor Co., Ltd. RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet Controller (rev 15)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions