Current state of FreeBSD routing

Sergey Kandaurov pluknet at gmail.com
Wed Feb 2 05:49:30 UTC 2011


On 2 February 2011 02:11, Markus Oestreicher <m.oe at x-trader.de> wrote:
> Hi there!
>
> After a few hours of reading list archives and source code I need some
> clarification on the current state of FreeBSD forwarding capabilities.
>
> Given the following setup:
> - Quad Core CPU
> - Intel 82576 NIC (igb)
> - 8.2-RELEASE
> - Router with BGP full table
>
> 1) Queues:
> Card and driver seem to have support for multiple TX/RX queues.
> How many cores will it use for RX / TX per NIC?

That depends on how many cpu cores you have.
e.g. with several 82576 NICs installed I have 8 queues per each port.
So it looks like
# vmstat -ia | grep igb7
irq320: igb7:que 0                     0          0
irq321: igb7:que 1                     0          0
irq322: igb7:que 2                     0          0
irq323: igb7:que 3                     0          0
irq324: igb7:que 4                     0          0
irq325: igb7:que 5                     0          0
irq326: igb7:que 6                     0          0
irq327: igb7:que 7                     0          0
irq328: igb7:link                      0          0

With Quad Core CPU you will have 4 queues.

>
> 2) Fastforwarding vs multiple netisr:
> In the past (6.x) using fastforwarding=1 was the best option for dedicated routers.
> I found "multiple netisr" added to 8.0. Can that help with routing on multiple cores?
> Any experience from using it in production?
>
> 3) lagg:
> I found lagg(4) mostly mentioned on home user setups.
> Any experience with using lagg in high-pps environments? (>100k pps)
> Will lagg play nicely together with multiple netisr routing or fastforwarding?
> How much overhead will it add versus a single connection?
>
> Thanks a lot
>
> Markus

-- 
wbr,
pluknet


More information about the freebsd-net mailing list