Hi,

I'm not satisfied with the network performance on my OpenBSD firewall/router.
CPU is Intel(R) Core(TM)2 Duo CPU E6550 @ 2.33GHz / with 4G ram
OpenBSD server 4.6 GENERIC.MP#89 i386

This pc/router/firewall is directly connected to a Gigabit HP 2810-48G switch.

Server:
Ext interface:  Realtek 8169SC (re0 - IP 192.168.1.2/30
Int interface: Marvell Yukon 88E8056 (msk0 - vlan61 - IP 10.100.61.2/30)
The internal interface is a VLAN trunk (802.1Q) interface.

I have a client on VLAN 61 with IP 10.100.61.1/30 connected to the same switch.

I run iperf tests with iperf -s on server / iperc -c server on client.
Changing window sizes didn't help.

I get 300 Mbps on the internal Interface and 350 Mbps on the external interface. Packet fowarding from an ftp server outside -> to the client inside is around 350-400Mbps
wget -O /dev/null

I've tried changing net.inet.tcp.recvspace and net.inet.tcp.sendspace and
the throughput settled in the values above with any value above 32768.

Now if I reboot the obsd machine in linux (same machine/same network configuration) I get 885 Mbps on the internal interface and 660 Mbps on the external interface) Packet fowarding from an ftp server outside -> to the client is around 600Mbps So apparently on the same machine I get double performance while running linux.

I've also tried changing net.inet.ip.ifq.maxlen, net.inet.tcp.rfc1323, net.bpf.bufsize, net.bpf.maxbufsize, kern.maxclusters without any significant change in performance.

The machine itself downloads with max 350-400Mbps. Linux did at 600-800Mbps (wget -O /dev/null). pf is disabled and if enabled (+client nat) there is no significant loss from there.

Any ideas on how I could improve the performance? Any sysctl parameter I'm missing? Maybe it could be a driver problem (both of them?). Something wrong in the setup?


best regards,

Giannis

Reply via email to