dwc on banana pi pro and poor network performance

jau789 at gmail.com jau789 at gmail.com
Sat Oct 3 05:41:27 UTC 2015


Since iperf uses tcp by default, the congestion control methods
used on the test systems may affect the test results quite seriously.
Most of the cc methods known to freebsd were not designed with
short high capasity links in mind. Many of those cc methods were
in fact intended for long distances and high bandwidth. In this case
the RTT is very short while many of the CC methods expext much
higher RTTs. For the best results on short distances and high
bandwidth enable ECN bits and use dctcp. The dctcp method was
from day one intended to behave gracefully also when RTT is very
short and the bandwidth is large.

--jau
On 03/10/2015 7:30 Jim Thompson wrote:

> On Oct 3, 2015, at 2:53 AM, TooMeeK Admin <maps at toomeek.waw.pl> wrote:
> 
> Hello,
> 
> I'm very interested what exacly image was used here? I would like to build it for my BPi :)

FreeBSD -CURRENT and Crochet were mentioned. 

> On Linux it should go close to ~960Mbit,

Not even.  600Mbits tops, and that's on a good day, downhill, and with the wind. 

> so You're right - there is something wrong.
> Please report CPU usage on Your tests? These VLANs are on the same port, so what about Your switch load?
> Please enable Jumbo Frames and test again?

Why?  What would jumbo frames do for you, other than potentially (and artificially) decease the interrupt rate?

Without running something like jmg's automtu script, how would you talk to other hosts on the network that don't support jumbo frames?

> Iperf isn't accurate really..

It is fairly accurate. Really. 

> W dniu 2015-10-02 o 21:19, C.Dornig pisze:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA256
>> 
>> Hi,
>> 
>> 
>> I have a Lemaker Banana Pi Pro and want to use it as router (regarding
>> the GBit interface).
>> 
>> For testing i used iperf with two test hosts. The Pi have two vlans
>> configured and each test node use the pi as router to reach the other node.
>> 
>> I created a FreeBSD 11 image with crochet (FreeBSD r288430,
>> +u-boot-bananapi version 2015-04).
>> 
>> Test scenario:
>> 
>> # On Banana:
>> sysctl net.inet.ip.forwarding=1
>> sysctl net.inet.ip.fastforwarding=1
>> ifconfig vlan10 create
>> ifconfig vlan10 vlan 10 vlandev dwc0
>> ifconfig vlan10 10.0.0.1/24 up
>> ifconfig vlan11 create
>> ifconfig vlan11 vlan 11 vlandev dwc0
>> ifconfig vlan11 10.0.1.1/24 up
>> 
>> # Host 1:
>> ifconfig vlan10 create
>> ifconfig vlan10 vlan 10 vlandev em0
>> ifconfig vlan10 10.0.0.100/24 up
>> route add -net 10.0.1.0/24 10.0.0.1
>> iperf -c 10.0.1.100
>> 
>> # Host 2:
>> ifconfig vlan11 create
>> ifconfig vlan11 vlan 11 vlandev em0
>> ifconfig vlan11 10.0.1.100/24 up
>> route add -net 10.0.0.0/24 10.0.1.1
>> iperf -s
>> 
>> The hosts can reach each others.
>> 
>> Iperf reports me ~130 Mbit.
>> 
>> During the test, netstat reports ~37k pps and the interrupt rate are
>> also not very high (~300).
>> 
>> The same test with Linux on the PI results ~550 Mbit.
>> 
>> Iperf from host 1 to host 2 without PI in between reports ~990 Mbit.
>> 
>> 
>> What's wrong here ?
>> 
>> Regards,
>> C.
>> -----BEGIN PGP SIGNATURE-----
>> Version: GnuPG v2
>> 
>> iQIcBAEBCAAGBQJWDtjaAAoJENpF8Q7kD80ylu0P/AwenlTV9xU5ZTGyOec8LQK9
>> p6GkBuBrXx/if8Su/c81mvSrJWnIufSUIZJmUTgOWLfYqgYAvc5MptTHzzgSa90d
>> i96MdOurF60pKI+a9zcssC7GPYm6yEoSSwDkWecIn0VatlqDTB2ygCdQxie+FRgb
>> SuCFWtyntfLlI45f63IRLgOA5rflEQiPq0L64XTcVe9EJpS6iAUrWnd5KA93/qn3
>> wJmzqFGITTgyV1OHzYQbkrTKZxQx2CUXpWr08O55J3vsD++Sl2AkGrq3iB4jowap
>> UjA9BxF0KqtY6IwaepnsyrhbacARhJwwMdwjRI/0+zQP2pQcmzjCLtg8mYuOxVp1
>> lkljVy0FDN2U47eWjybdJ3YWDB4FVFZTOmxj55UKA9X4ayR2a2OMc64vxzJV+cjF
>> 30spBAxYCCHGKWiRWLW0viuajCrBhS0wbD44jF1Be9GmBtRbBBOiZ0f2cLBzAV/x
>> wJCjWaapDvmqzZ2R98uhc1N04ezmlidn1OrAt/Mgca85qQnz5vricbJRR5LUrZzJ
>> tWuq5cTRE+vRC3nQCXuNqHa8AE0rzuSmzMxW12JETHHVqOwBPT5KD5JXk2+N5o2m
>> 67DByhMVxnW/IrsDghNWTyQJJpceUkag2KffddqjYz3ph8KoGraaGw9f5pIOWGUN
>> kWPmLJiSr29OX0/EAygK
>> =ExPu
>> -----END PGP SIGNATURE-----
>> _______________________________________________
>> freebsd-arm at freebsd.org mailing list
>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
> 
> _______________________________________________
> freebsd-arm at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
_______________________________________________
freebsd-arm at freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"



More information about the freebsd-arm mailing list