[beagleboard] BBB as a router w/ firewall capabilities

Wild guess... I would say the USB dongles would be where you hit the wall. The BBB has more than enough CPU power, RAM might become a factor with that many users with a lot of rules.

LEAF has an ARM port for Rpi. I don't recall if it's in main or not. I would think the same hurdles would apply here for that number of users.

Seems to me for the money a Sokeris (sp?) board or something similar might be more appropriate.

My 2 cents worth anyway.


As far as I am concerned the BBB is inapproprite as a firewall To keep performance up as high as possible, two high speed (1 gig) NIC cards are needed. USB is not high speed.

I’ve setup my home with a BBB acting as a firewall/router.

With the 3.12 kernel, I had problems in high data-volume situations (3+MB/s DL according to my download managers). ksoftirqd would start taking up all the processor and then my packets would be dropped.

After upgrading to the 3.13 kernel… this problem was abated. ksoftirqd rarely goes above 30% now. Still, I wouldn’t put 150 users’ data through a BBB.

Im a bit curious about what changed in the 3.13 kernel to give me such a performance boost.

TI has a sitara dev board with dual GbE one it . . .

There should be a cape to have these 2 NICS, thus using Xenomai -or Charles’ Machinekit- is enough for such performances I think. As an example tests on eMMC with latency tests gave an average of 14 µS

I can’t get more than about 20Mbit/sec down with BBB as a router. I tried installing kernel 3.13.9-bone9 after reading your comment, but there is no difference. When I connect my old router, I get the 30Mbit/sec I pay for. Any ideas? Where is this ksoftirqd you speak of? I don’t see it in my running processes.

I’m not sure if you saw my original reply to this, which disappeared. In any case, I was able to max out my internet connection finally after applying the linux kernel update you suggested; before it maxed out at about 20Mbit/sec, and now I am reaching the 30Mbit/sec I pay for. However, I have a couple questions:

  1. Where did you see the CPU usage of ksoftirqd? ksoftirqd does not show up in htop.
  2. Have you since gained any insight into what changed between the kernel versions?