# RPS (Receive Packet Steering) on FreeBSD?



## teekwan (Oct 23, 2020)

Hi people!

Is anybody aware of a way to achieve this?
As far as I understand, it should enable a software way to offload packet processing per interface between multiple cores a VM is assigned.
Right now, when an interface is pushing higher tps one single core is choking and others idle.
I used IRQ affinity (RSS, a HW counterpart) where it was possible to obtain multicore processing by using cpuset IRQ binds but in present scenario it is not available unfortunately...

It is seemingly a common Linux kernel feature as of late, but wasn't able to find relevant info regarding FreeBSD. Only this:








						GitHub - gokzy/freebsd-rps: RPS for FreeBSD
					

RPS for FreeBSD. Contribute to gokzy/freebsd-rps development by creating an account on GitHub.




					github.com
				




Seems interesting but it's from 2011 and based on FreeBSD 8.2 
By quick look it seems to me the guy posted the whole source there with reworkings to enable thr feature.

Now, if there's a way to enable this kind of packet processing on 11 or 12.x I'm all ears 

Thanks in advance!


----------



## teekwan (Nov 17, 2020)

If I can rephrase my question - does anyone know if this feature is even planned to be included in any of the forthcoming releases?
I've been unable to find such info (or maybe don't know where to look for).

Thanks!


----------



## SirDice (Nov 18, 2020)

There are very few FreeBSD developers here. You will probably get better responses if you ask on the mailing lists, freebsd-net@ is probably the best place to start.


----------



## teekwan (Nov 19, 2020)

Thanks SirDice, I'll try going that route!


----------

