is there any limit for setting number of filters?? Also would it hit the performance if more and more filters gets added?
unsigned long m_TableSize;
I’m assuming the driver searches filter table sequentially each time a packet is received. If so, the average search time will of course increase as the table becomes larger. You will just have to test this on your hardware to see how your software performs.
Note that if you were to pass each packet to your application and do the filtering there, performance will be very much worse, even if you use hashing to perform the filtering. The reason for this is that the kernel-user-kernel transitions are expensive. Tests I’ve done here with my software definitely confirm this.