Packet drop while using BPF filter

Raghavendra D Prabhu raghu.prabhu13 at gmail.com
Thu Dec 22 08:48:32 EST 2011


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
>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



More information about the Kernelnewbies mailing list