User Space Bridge - Linux vs. FreeBSD

Story:

I am working on porting a package parsing / processing program from FreeBSD to Linux (specifically, Debian-jessie). This program implements a bidirectional bridge between two physical interfaces when performing parsing / manipulation prior to TX operations.

On FreeBSD, this application used Pcap for RX / TX. On Linux, so far I have tested Pcap, PACKET_MMAP (using TPACKET_V2) and Vanilla PF_RING.

Test results:

Using the same hardware and laboratory environment, I observed the following (approximate) throughput results of several tests performed using iperf:

  • FreeBSD Kernel Bridge: 880 Mbps
  • FreeBSD Pcap Bridge (User Space): 700 Mbps
  • Debian Kernel Bridge: 880 Mbps
  • Debian Pcap Bridge (user space): 120Kb / s
  • Debian Vanilla PF_RING (user space): 980Kb / s
  • Debian PACKET_MMAP (user space): 480Kb / s

Thoughts and question:

Debian user space loading speed seems ridiculous to me. They are unsuitable for use - and I suspect that I am missing something. Is there a system parameter that I need to enable ("go fast", lol)?

Or is it just with the Linux Linux space bridge?

Change / Update

I have a lingering suspicion that there is an administrative constraint affecting Debian tests. I am looking for system documentation for (something / nothing) to no avail. Any ideas on what this might limit?

+4
1

...

, "" Linux . , -, ( YMMV "" ).

, FreeBSD, ethtool :

ethtool -K eth1 gso off gro off tso off ufo off lro off

PF_RING PACKET_MMAP ( ), Pcap - 300 /.

+2

Source: https://habr.com/ru/post/1679487/


All Articles