I got it working!
First off, use RouterOS, not SwitchOS. Upgrade to at least 7.3.1, which added the option to force a 2.5Gbps SFP.
On the Omnia side (not persistent - put it in an init script):
ethtool -s eth2 speed 2500 autoneg off
On the Mikrotik side:
Interfaces → whichever SFP+ port you’re going to use → Ethernet → Auto Negotiation off, Speed 2.5Gbps, Full Duplex
(Unsure if flow control should be on or off)
That should be it.
# iperf3 -c 192.168.1.1
Connecting to host 192.168.1.1, port 5201
[ 5] local 192.168.1.4 port 43936 connected to 192.168.1.1 port 5201
[ ID] Interval Transfer Bitrate Retr Cwnd
[ 5] 0.00-1.00 sec 282 MBytes 2.36 Gbits/sec 0 814 KBytes
[ 5] 1.00-2.00 sec 279 MBytes 2.33 Gbits/sec 0 947 KBytes
[ 5] 2.00-3.00 sec 279 MBytes 2.35 Gbits/sec 0 947 KBytes
[ 5] 3.00-4.00 sec 278 MBytes 2.33 Gbits/sec 0 1.06 MBytes
[ 5] 4.00-5.00 sec 278 MBytes 2.33 Gbits/sec 0 1.11 MBytes
[ 5] 5.00-6.00 sec 280 MBytes 2.35 Gbits/sec 0 1.11 MBytes
[ 5] 6.00-7.00 sec 275 MBytes 2.31 Gbits/sec 0 1.22 MBytes
[ 5] 7.00-8.00 sec 276 MBytes 2.32 Gbits/sec 0 1.30 MBytes
[ 5] 8.00-9.00 sec 280 MBytes 2.35 Gbits/sec 0 1.30 MBytes
[ 5] 9.00-10.00 sec 275 MBytes 2.31 Gbits/sec 0 1.30 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bitrate Retr
[ 5] 0.00-10.00 sec 2.72 GBytes 2.33 Gbits/sec 0 sender
[ 5] 0.00-10.00 sec 2.71 GBytes 2.33 Gbits/sec receiver
iperf Done.