Not getting full upload speed with new IPFire

Hello Everyone, We just migrated over from AT&T Dedicated Fiber service at 50Mbps down/50Mbps up to AT&T Business Fiber at 100Mbps down 100Mbps up. Our old IPFire Router has been in use for years, but due to some recent security concerns and the age of the hardware I was going to swap it out with a new IPFire box.

Old Hardware: 4U Rackmount Unit, Supermicro X10SLM±LN4F Motherboard, Xeon E3-1225 v3 CPU 3.2 Ghz, 8GB ram, 500 GB WD Black Hard drive, the board has 4 Intel I210 Gigabit Network Connection (rev03) ports on it

New Hardware: Supermicro Mini PC Model X11SBA-LN4F, Intel Pentium N3710 1.6 Ghz 4 core, 8 GB ram, 128 GB SSD, board has 4 Intel I210 (rev03) Nic cards.

On the new connection, the old IPFire unit tests consistently at 90+Mbps down and 90+Mbps up.

On the new connection, the new IPFire unit tests at 90+Mbps down, but only 50-60Mbps up. I’ve tried multiple tests sites: speedtest.net, xfinity, google, AT&T, they all produce varying results, some as low as 35Mbps up, some as high as 60Mbps up, but still nowhere near full capacity.

red0 (and all other NICs) on old IPFire:

[root@ipfire ~]# ethtool -k red0
Features for red0:
Cannot get device udp-fragmentation-offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: on
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: on
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]

red0 and all other NICs on new IPFire

[root@ipfire ~]# ethtool -k red0
Features for red0:
Cannot get device udp-fragmentation-offload settings: Operation not supported
rx-checksumming: on
tx-checksumming: on
        tx-checksum-ipv4: off [fixed]
        tx-checksum-ip-generic: on
        tx-checksum-ipv6: off [fixed]
        tx-checksum-fcoe-crc: off [fixed]
        tx-checksum-sctp: on
scatter-gather: on
        tx-scatter-gather: on
        tx-scatter-gather-fraglist: off [fixed]
tcp-segmentation-offload: on
        tx-tcp-segmentation: on
        tx-tcp-ecn-segmentation: off [fixed]
        tx-tcp-mangleid-segmentation: off
        tx-tcp6-segmentation: on
udp-fragmentation-offload: off
generic-segmentation-offload: on
generic-receive-offload: on
large-receive-offload: off [fixed]
rx-vlan-offload: on
tx-vlan-offload: on
ntuple-filters: off
receive-hashing: on
highdma: on [fixed]
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-lockless: off [fixed]
netns-local: off [fixed]
tx-gso-robust: off [fixed]
tx-fcoe-segmentation: off [fixed]
tx-gre-segmentation: on
tx-gre-csum-segmentation: on
tx-ipxip4-segmentation: on
tx-ipxip6-segmentation: on
tx-udp_tnl-segmentation: on
tx-udp_tnl-csum-segmentation: on
tx-gso-partial: on
tx-sctp-segmentation: off [fixed]
tx-esp-segmentation: off [fixed]
fcoe-mtu: off [fixed]
tx-nocache-copy: off
loopback: off [fixed]
rx-fcs: off [fixed]
rx-all: off
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
l2-fwd-offload: off [fixed]
hw-tc-offload: off [fixed]
esp-hw-offload: off [fixed]
esp-tx-csum-hw-offload: off [fixed]
rx-udp_tunnel-port-offload: off [fixed]

I cannot figure out why I am getting 1/3 to 1/2 of the total available bandwidth on the connection. Both units are running update 155. I get 90-100Mbps download and 90-100Mbps upload when connected directly to the AT&T modem.

Any thoughts on why I would get reduced speeds only on the upload side with the new IPFire?

Chris

Is your testing via Wi-Fi access point? Or directly connected via ethernet?

You may want to experiment and temporarily turn off some of the services like IPS and QOS. There maybe other services that are slowing things down…

When you run the command top is the CPU lightly loaded? Or?

What commands are at the top of the top list? The suricata IPS is the top of my list.

I just found the solution, it’s just a false reading, nothing was wrong. With the speedtest-cli add-on a true test shows 103Mbps down 95Mpbs up, I found the info from this post:

This is resolved.

1 Like