Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - john-WE1DER

#1
Hello All.
This is my first post on the forums and I am wondering if anyone else has noticed this. I just converted to OPNSense this last weekend and so far seems to be alright except for some throughput issues. I am on a FTTH connection at 1Gbps and routinely only pull around 350-400Mbps (speedtest.net and iperf3 public servers). My current opnsense setup is as follows:

Intel i3-530 @ 2.93GHz
Intel H55 Chipset
8GB RAM
On-board Gigabit NIC (em0/WAN)
Intel I225-V 4 Port (igc0-3)
OPNSense 24.1.1

I have read a lot on the previous issues that have popped up with this controller since it was baked into FreeBSD and I have been researching kernel tunables to try and increase throughput. I have noticed in my pursuit that it seems like opnsense is not loading the igc driver. When I run kldstat, I am not seeing a module loaded for the card but somehow the card is still identified:
# kldstat
Id Refs Address                Size Name
1   46 0xffffffff80200000  216c2e0 kernel
2    1 0xffffffff8236d000     3b18 pflog.ko
3    3 0xffffffff82371000    78aa0 pf.ko
4    1 0xffffffff823ea000     aa70 if_gre.ko
5    1 0xffffffff823f5000    16148 if_lagg.ko
6    2 0xffffffff8240c000     3538 if_infiniband.ko
7    1 0xffffffff82410000     e8f8 if_bridge.ko
8    2 0xffffffff8241f000     8958 bridgestp.ko
9    1 0xffffffff82428000     f4c8 pfsync.ko
10    1 0xffffffff82438000     4b58 if_enc.ko
11    1 0xffffffff8243e000     f858 carp.ko
12    1 0xffffffff828e5000     3250 ichsmb.ko
13    1 0xffffffff828e9000     2180 smbus.ko
14    1 0xffffffff828ec000     4700 nullfs.ko
15    2 0xffffffff828f1000    27198 ipfw.ko
16    1 0xffffffff82919000    12520 dummynet.ko
17    1 0xffffffff8292c000     39c0 ng_socket.ko
18    1 0xffffffff82930000     aac8 netgraph.ko


# sysctl -a | grep -E 'dev.igc.*.%desc'
dev.igc.3.%desc: Intel(R) Ethernet Controller I225-V
dev.igc.2.%desc: Intel(R) Ethernet Controller I225-V
dev.igc.1.%desc: Intel(R) Ethernet Controller I225-V
dev.igc.0.%desc: Intel(R) Ethernet Controller I225-V


# pciconf -llv igc0
drv selector class    rev  hdr  vendor device subven subdev
igc0@pci0:3:0:0: 020000   03   00   8086   15f3   8086   0000
    vendor     = 'Intel Corporation'
    device     = 'Ethernet Controller I225-V'
    class      = network
    subclass   = ethernet


When I run 'pciconf -a igc0', it only shows that it is attached and no driver information. Am I missing something here? I know that the freebsd man page for IGC4 says that the driver was not implemented until 14.0, but how is this card working under freebsd 13.2 base? The reason I am asking about this is that I found a driver pack that references the I225-V card that was updated on 12/23/2023 here (https://www.intel.com/content/www/us/en/download/15084/intel-ethernet-adapter-complete-driver-pack.html) and was wondering if maybe this could be helpful to alleviate the rampant issues with this controller. Other reason that I am curious is because I found this paper "Tuning FreeBSD for routing and firewalling" (https://papers.freebsd.org/2018/asiabsdcon/cochard-tuning_freebsd_for_routing_and_firewalling.files/cochard-tuning_freebsd_for_routing_and_firewalling-paper.pdf referenced in another post under this forum and it makes mention of setting the receive process limit to unlimited on Intel controllers; however, 'sysctl -a | grep rx_process_limit' only returns an oid of "hw.vtnet.rx_process_limit: 1024".
Am I missing something on this whole thing?