[CFT] projects/routing + tryforward and netmap-fwd

Olivier Cochard-Labbé olivier at cochard.me
Tue Oct 27 15:27:14 UTC 2015


Hi all,

I've build a nanobsd image based on different FreeBSD projects related to
routing performance:
- melifaro's projects/routing r289642 (synced with a head r287493)
- gnn's tryforward improvement (D3737)
- loos'netmap-fwd

These improvement brings:
- Routing performance on multi-core should be improved a lot's: like from
1.2Mpps to 9.5Mpps on a 8-core Xeon E5-2650 with Chelsio [1]
- tryforward: No more choice between good routing performance or IPSec
enabled
- And you can try the work-in-progress of netmap-fwd too [2] forwarding
performance on a PC Engines APU (realtek NIC and AMD G-T40 1Ghz dual-core)
increase from 150Kpps to 315Kpps

Image files are stored here:
https://sourceforge.net/projects/bsdrp/files/BSD_Router_Project/current/amd64/

It's a customized nanobsd image (BSD Router Project) for 1GB disk including
some routing tools (bird, quagga, exabgp, mpd5, openvpn, etc.) and serial
port speed configured for 115200 bauds and no root password.
You just need to download file BSDRP-1.901-full-amd64-vga.img.xz and "xzcat
| dd" it into an USB flash disk and boot from it.

Read files /boot/loader.conf, /etc/rc.conf and /etc/rc.conf.misc for the
specific tunning parameters.
As a nanobsd image, don't forgot the "config save" once you've modified the
configuration files.
Existing BSDRP users can upgrade their running release with the file
BSDRP-1.901-upgrade-amd64-vga.img.xz.

The file BSDRP-1.901-debug-amd64.tar.xz contains symbol file for analysing
core dump your tests will generate ;-)

Tests needed:
- Standard routing feature: Do you meet some instability ?
- IPSec usage: Does AES-GCM works, or do you meet panic ?
- netmap-fwd mode: You can test its current status.

For using netmap-fwd there is an rc script included and you can use it like
that:

sysrc netmapfwd_enable="yes"
sysrc netmapfwd_ifaces="re1 re2"
service netmapfwd start
telnet /var/run/netmap-fwd.sock

For information,

The full list of patches added to the projects/routing are here:
https://github.com/ocochard/BSDRP/tree/master/BSDRProuting/patches

The netmap-fwd port is here:
https://github.com/ocochard/BSDRP/blob/master/BSDRP/patches/ports.netmap-fwd.shar

Kernel configuration file:
https://github.com/ocochard/BSDRP/blob/master/BSDRProuting/kernels/amd64

Thanks,

Olivier

[1]
https://github.com/ocochard/netbenches/blob/master/Xeon_E5-2650-8Cores-Chelsio_T540-CR/fastforwarding-pf-ipfw/results/fbsd11-routing.r287531/README.md
[2] https://github.com/NetgateUSA/netmap-fwd/blob/master/netmap-fwd.pdf


More information about the freebsd-net mailing list