Packet drop while using BPF filter

Raghavendra D Prabhu raghu.prabhu13 at gmail.com
Sat Dec 24 13:54:45 EST 2011


* On Sat, Dec 24, 2011 at 09:57:50PM +0530, Mukesh Yadav <mukesh.fkd at gmail.com> wrote:
>Hi  Raghavendra,
>
>" /proc/sys/net/core/bpf_jit_**enable " is not present on machine. Seems
>kernel need to be configured for these.
Yes, it is a fairly new option -- CONFIG_BPF_JIT=y

>Btw CPU scaling issue is resolved. Packet drop was because all interrupt
>handling was happening on core where packets were getting drop. Tuning
>system for interrupt handling using smp_affinity resolved the issue.
That is generally how it is done. The core which handles packets 
initially
handles the interrupts too. Do you mean all non-network 
interrupts were happening on same core ? Then give irqbalance a 
shot.

>
>Thanks
>Mukesh
>
>On 22 December 2011 19:18, Raghavendra D Prabhu <raghu.prabhu13 at gmail.com>wrote:
>
>> Hi,

>>    Have you tried enabling -- /proc/sys/net/core/bpf_jit_**enable --
>>    provides JIT compiled BPF  on 64 bit linux.


>> * On Wed, Dec 21, 2011 at 12:08:04AM +0530, Mukesh Yadav <
>> mukesh.fkd at gmail.com> wrote:

>>> Hi Guys,

>>> I am working on user level code which uses BPF filter.
>>> Solution has two threads and  BPF filter for incoming packets to raw
>>> socket
>>> dedicated to each thread.
>>> Intent is to divide ingress traffic between two thread based on whether
>>> dest IP is even or odd.

>>> BPF filters used are:
>>> Even IP filter :-> tcpdump -i interface 'ether dst <dest mac> && ip[19] &
>>> 0x01 = 0'
>>> Odd IP filter :->  tcpdump -i interface  'ether dst <dest mac> && ip[19] &
>>> 0x01 = 1'

>>> There is a packet loss for odd IP thread even when CPU is available.
>>> Reason
>>> being packet drop due  recv buffer full.
>>> Same amount of traffic is well handled by even IP thread(user code being
>>> same in both), scaling CPU to full 100%.

>>> In odd IP thread, If filter is changed to "tcpdump -i interface  'ether
>>> dst
>>> <dest mac> && ip proto 17' ", all goes fine.
>>> Also CPU usage at kernel drops from 50% to 4 % for a particular amount of
>>> traffic.

>>> Would appreciate any I/ps for reducing load at kernel for packet
>>> filtering(Odd/Even IP distribution)


>>> Cheers
>>> Mukesh


>>  ______________________________**_________________
>>> Kernelnewbies mailing list
>>> Kernelnewbies at kernelnewbies.**org <Kernelnewbies at kernelnewbies.org>
>>> http://lists.kernelnewbies.**org/mailman/listinfo/**kernelnewbies<http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies>


>> --------------------------
>> Raghavendra Prabhu
>> GPG Id : 0xD72BE977
>> Fingerprint: B93F EBCB 8E05 7039 CD3C A4B8 A616 DCA1 D72B E977
>> www: wnohang.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111225/dea47c08/attachment.bin 


More information about the Kernelnewbies mailing list