As far as I understand, processing of packets by pf takes place in receiving
network card's interrupt handler even up to sending the packet via another
network card (at least in my case, when using route-to targets, which make
routing inside pf).

That's interesting. So even though pf is giant locked, you can still scale the maximum capacity of your firewall, in this case, simply by adding more CPU cores? To handle the extra interrupts? So more cores = more packets per second, if you give each extra core an additional interrupt queue?

How do you count the 140kpps value? One interface, both, in, out? I'd like to
relate this somehow to my values.

Well, generally we see 80kpps rx and 40kpps tx. But I have seen the rx spike to 150kpps occasionally. This is a pfSense box, which includes RRD graphs of packet rates, that's how I'm getting the number. I'm not sure how they are obtaining that metric under the hood. But we have not disabled HT and some other items, so that number will change is my guess. We also may add another CPU die to the mix to see if we can add interrupt queues to more cores to increase performance.

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to