Freebsd IP Forwarding performance (question, and some info) [7-stable, current, em, smp]

Ingo Flaschberger if at xip.at
Thu Jul 3 17:17:04 UTC 2008


Dear Steve,

>>>> My next "router" appliance will be:
>>>> http://www.axiomtek.com.tw/products/ViewProduct.asp?view=429
>>> 
>>> This is exactly the device that I have been testing with (just rebranded).
>> 
>> cool.
>> what performace do you reach?
>
> After some very quick testing with everything default, I am witnessing 
> results that are far below what I would have expected. I have a few 
> questions:
>
> - how do I identify if polling on an interface is enabled? I see no 
> difference with ifconfig output

em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
         options=5b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,POLLING> <---
         ether 00:90:0b:08:d7:90
         media: Ethernet autoselect (1000baseTX <full-duplex>)
         status: active

kern.polling.reg_frac=20
kern.polling.user_frac=20
kern.polling.burst_max=512

man polling

polling does not help to get more pps, but prevent locks and preserve some 
%cpu for other tasks (routing daemons,..)

> - do I need to compile a new kernel to be able to enable/disable polling?

options         DEVICE_POLLING
you need this in kern-conf.

> - without moving some hardware around, I only have a single box connected to 
> a router, and I've been testing from that box to a different interface within 
> the router. Will the test results be optimal if I ping all the way through 
> the router to a second device connected to it?

use any other packet generator.
linux has one in kernel, and there are moch more.
(iperf,...)
ping uses a lot of cpu.

> - how are the results affected when generating and receiving the test packets 
> within the router itself (as opposed to using outside devices)?

thats no real "pps" forwarding performance over the network cards.

Kind regards,
 	Ingo Flaschberger



More information about the freebsd-net mailing list