On Fri, 2016-03-25 at 12:21 +0100, Yann Ylavic wrote: > Not my intention, you guys know what's the better for the kernel and its APIs. > My concern is (was) admittedly due to my own lack of knowledge of > (e)BPF, hence how much of kernel internals I'd need to know to make > the SO_REUSEPORT work in my case. > > But sure, any of the help suggested above would make it go away, I'll > stay tuned.
Most of the time, the BPF filter can be trivial. If your server has a multi queue NIC with 16 queues on a 16 cpus host, it would be natural to use 16 listeners, to properly use the NIC features (RSS). BPF program would be A = QUEUE_NUMBER(skb); RETURN A; If you chose to have 4 listeners instead, for whatever reasons. A = QUEUE_NUMBER(skb); A = A & 3; RETURN A; You also can use A = CURRENT_CPU; RETURN A;