Hi,
I am using linux on my device.
I do not want to have to copy all the packets from kernel space to user
space for performance reasons.
I am not very familiar with the memory-mapped access capture mechanism.
Would this avoid the performance hit of context switch memory spaces?
Can you point me to some resources on that particular capture mechanism?

Thanks
-D

On Mon, Apr 6, 2009 at 4:53 PM, Guy Harris <g...@alum.mit.edu> wrote:

>
> On Apr 6, 2009, at 2:52 PM, Diego Valverde wrote:
>
>  Is there a way to specify 1 out of every N packets sampling using an
>> existing  filter combination?
>>
>
> No.  The filtering mechanism was created in order to filter based on packet
> content, and that's all it supports checking.
>
>  if not where should I look into the code in order to extend the filtering
>> functionally for my particular needs?
>>
>
> Nowhere - as indicated, the filtering mechanism checks only packet
> contents.
>
> I'm assuming the embedded device is running an operating system such as
> Linux, so that packets have to be copied from kernel space to user space
> (unless libpcap is using the memory-mapped access mechanism on Linux or
> FreeBSD) to be delivered to libpcap.
>
> If you don't care whether packets not being sampled are copied from kernel
> space to user space (or if you're running on a version of Linux or FreeBSD
> with a memory-mapped capture interface), you could just do the sampling in
> the code that reads from libpcap.
>
> If you do care, you'll have to implement the filtering in the kernel.
> -
> This is the tcpdump-workers list.
> Visit https://cod.sandelman.ca/ to unsubscribe.
>
-
This is the tcpdump-workers list.
Visit https://cod.sandelman.ca/ to unsubscribe.

Reply via email to