[Winpcap-users] RE: Opening a port multiple times and filters
Gianluca Varenni
gianluca.varenni at cacetech.com
Mon Jan 21 19:19:12 GMT 2008
Do you have a small application that replicates the problem and that you can
send me?
Have a nice day
GV
----- Original Message -----
From: "Paul Rocca" <Paul.Rocca at audiosoft.co.uk>
To: <winpcap-users at winpcap.org>
Sent: Friday, January 11, 2008 3:11 AM
Subject: [Winpcap-users] RE: Opening a port multiple times and filters
> Thanks for the suggestion. I tried it, but it doesn't appear to have any
> effect, I didn't think it would as I can start and stop threads at
> different
> times minutes apart and still see this behaviour.
>
> Best Wishes
>
> Paul
>
> ----- Original Message -----
>
> Can you please try wrapping all the calls to pcap_compile() with a
> critical section or a mutex? That API is not thread safe i.e. if you
> happen to call that function concurrently from multiple threads, the
> result is undefined.
>
> Have a nice day
> GV
>
> ----- Original Message -----
> From: Paul Rocca
> To: winpcap-users at winpcap.org
> <https://www.winpcap.org/mailman/listinfo/winpcap-users>
> Sent: Tuesday, January 08, 2008 5:07 AM
> Subject: [Winpcap-users] Opening a port multiple times and filters
>
>
> I am wrining an app to capture various multicast streams to seperate
> files.
> In order to make my program easier to write I have 1 thread per stream,
> and
> open the NIC card multiple times and pull out the packets and filter them
> in my code using src/dst ip addresses. This appears to work great, but
> a bit CPU intensive.
> I thought it might be easier then to use the winpcap filter function, so
> I wrote
> a bit of code to do this and that initially appeared to work great, BUT
> on further investigation, it would appear that winpcap only uses the last
> filter that was set with pcap_setfilter. i.e.
> if I have three threads and in in each one I open an instances of my port
> and
> in each thread set a filter on each one (eg thread 1 = 'dst ip
> 225.0.0.1',
> thread 2 = 'dst ip 225.0.0.2', thread 3 = 'dst ip 225.0.0.3'), then start
> calling
> pcap_next_ex() in each thread, all three threads will only receive
> packets
> matching 'dst ip 225.0.0.3'
>
> Is this "as designed"?, any ideas for a workaround, or is it back to
> filtering
> in my software?
>
> TIA
>
> Paul
>
> _______________________________________________________________________
> This e-mail has been scanned for all viruses by Star Internet. The
> service is powered by MessageLabs.
> _______________________________________________________________________
>
>
>
>
> _______________________________________________________________________
> This e-mail has been scanned for all viruses by Star Internet. The
> service is powered by MessageLabs.
> _______________________________________________________________________
>
> _______________________________________________
> Winpcap-users mailing list
> Winpcap-users at winpcap.org
> https://www.winpcap.org/mailman/listinfo/winpcap-users
More information about the Winpcap-users
mailing list