What makes you think this is an issue with the ICX6610?
A change in OpnSense changes the situation significantly. This points to an issue in OpnSense.
Is OpnSense managing the layer 3 routing in your network?
I assume OpnSense hw does not have enough single core performance to keep up with your network traffic and therefore becoming the bottleneck.
There are multiple threads explaining how to enable layer 3 routing in ICX6610. You can even find examples buried deep in this thread.
Thank you for replying Jode.
The ICX6610 is doing all of the routing in my network. My OPNSense (172.16.0.1/29) is unaware of any VLANs and simply has static routes for my 2 Vlans directed to the Brocade (172.16.0.2). The brocade then has a default gateway to OPNSense.
The reason why I think it's the brocade is when I connect a 2.5 or greater device direct to OPNSense using a spare IP on my 172.16.0.0/29 network I consistently get my full internet speeds (~2100/350). If I connect the brocade back up so that the only thing between the router and device is the brocade and on the same vlan the speeds tank down to ~550/350 with the same device connected at 1GB. I do also have a server connected up at 40gbps and it gets about 1000-1200mbps.
When I check the core utilization with htop or top on OPNSense. It never shows any core anywhere near 100% and they are generally 50% or lower. I've also tested OPNSense on another device that is 30% faster single core and double the multicore speed. That different hardware got exactly the same result. No higher, no lower speed.
When I do a speedtest with OPNSense set to 1GB I get no dropped packets on the Brocade, but when I turn change it back to 2.5G/10G the brocade starts to drop packets. This happens on all devices 1GB or higher. Note: I haven't tested conected at 100mbps or lower.
I attached 3 pictures in different senerios. Every test I made sure nothing had any resources maxed out down to individual cores.
In my opinion is seems that the brocade is being overloaded.... some how... and is dropping packets. This could also be a misconfiguration issue but all I have it doing is very simple static routing, no where near what it can handle.