Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 29 Nov 2022 11:05:33 +0000
From:      Benoit Chesneau <benoitc@enki-multimedia.eu>
To:        "freebsd-net@FreeBSD.org" <freebsd-net@freebsd.org>
Subject:   ng_eth: can't achieve 10G throughput
Message-ID:  <rRUYrigMhegFbhKqKA5v5Wt88MDhxwItbpFKVcpbpUmENWnGXm5i8T-tRwaqU6iDnL_Bp30J9vhHsLCrh_foZ4Eo2wz4_GmeX8XHRi3wEtY=@enki-multimedia.eu>

next in thread | raw e-mail | index | archive | help
hi all ,

I've an issue to achieve goos performance using netgraph thatis not reprodu=
ced with a if_bridge interface. I have setup my network using netgraph like=
 this:
https://www.friendpaste.com/4zrXvdx1l5fjDRG1oheHMN

I am using ngeth1 as main port and setup it to 10G connected to a bridge li=
nked to the  main interface ixl2 as the diagram below show:

https://imgur.com/a/5nTHqEi

But I can't get more than 1.5Gb/s throughput (see iperf log below)
```
=C2=A0iperf3 -c XXXX:10
Connecting to host XXXX::10, port 5201
[ =C2=A05] local XXXX::11 port 24822 connected to XXXX::10 port 5201
[ ID] Interval =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Transfer =C2=A0 =C2=A0 Bi=
trate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Retr =C2=A0Cwnd
[ =C2=A05] =C2=A0 0.00-1.00 =C2=A0 sec =C2=A0 192 MBytes =C2=A01.61 Gbits/s=
ec =C2=A0141 =C2=A0 70.3 KBytes
[ =C2=A05] =C2=A0 1.00-2.00 =C2=A0 sec =C2=A0 193 MBytes =C2=A01.62 Gbits/s=
ec =C2=A0143 =C2=A0 64.7 KBytes
[ =C2=A05] =C2=A0 2.00-3.00 =C2=A0 sec =C2=A0 194 MBytes =C2=A01.63 Gbits/s=
ec =C2=A0144 =C2=A0 43.6 KBytes
[ =C2=A05] =C2=A0 3.00-4.00 =C2=A0 sec =C2=A0 183 MBytes =C2=A01.54 Gbits/s=
ec =C2=A0144 =C2=A0 46.4 KBytes
[ =C2=A05] =C2=A0 4.00-5.00 =C2=A0 sec =C2=A0 196 MBytes =C2=A01.64 Gbits/s=
ec =C2=A0144 =C2=A0 23.9 KBytes
[ =C2=A05] =C2=A0 5.00-6.00 =C2=A0 sec =C2=A0 190 MBytes =C2=A01.60 Gbits/s=
ec =C2=A0143 =C2=A0 2.81 KBytes
[ =C2=A05] =C2=A0 6.00-7.00 =C2=A0 sec =C2=A0 169 MBytes =C2=A01.42 Gbits/s=
ec =C2=A0146 =C2=A0 11.2 KBytes
[ =C2=A05] =C2=A0 7.00-8.00 =C2=A0 sec =C2=A0 164 MBytes =C2=A01.38 Gbits/s=
ec =C2=A0147 =C2=A0 73.1 KBytes
[ =C2=A05] =C2=A0 8.00-9.00 =C2=A0 sec =C2=A0 166 MBytes =C2=A01.39 Gbits/s=
ec =C2=A0147 =C2=A0 75.9 KBytes
[ =C2=A05] =C2=A0 9.00-10.00 =C2=A0sec =C2=A0 166 MBytes =C2=A01.39 Gbits/s=
ec =C2=A0147 =C2=A0 8.44 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 Transfer =C2=A0 =C2=A0 Bi=
trate =C2=A0 =C2=A0 =C2=A0 =C2=A0 Retr
[ =C2=A05] =C2=A0 0.00-10.00 =C2=A0sec =C2=A01.77 GBytes =C2=A01.52 Gbits/s=
ec =C2=A01446 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 sender
[ =C2=A05] =C2=A0 0.00-10.00 =C2=A0sec =C2=A01.77 GBytes =C2=A01.52 Gbits/s=
ec =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0receiver
```

Where with the interface alone I get 9.8 Gb/s. With an if_bridge bridge I g=
et  7Gb/s . Any idea what's wrong in my configuration? Also why an ng_eth i=
nterface is set to 1 1000baseT mode while epar is set correctly to 10GbaseT=
 ?=20

Beno=C3=AEt




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?rRUYrigMhegFbhKqKA5v5Wt88MDhxwItbpFKVcpbpUmENWnGXm5i8T-tRwaqU6iDnL_Bp30J9vhHsLCrh_foZ4Eo2wz4_GmeX8XHRi3wEtY=>