I hardly believe this. pcap_loop and pcap_next are simply two interfaces to
access the same underlying capture system, and your prblem is in the capture
systems.
Loris
> I need to change the filter condition dynamically. So I have another
> thread that changes filter expression.
>
> This code works fine on Windows changing the filter condition. On LINUX
> if I change a filter condition no packages come anymore through
> pcap_next.
>
>
> Will it help to use pcap_loop instead of pcap_next (pcap_next_ex on
> Windows)?
>
> Thank you
>
>
> Alex
>
>
>
> while((res = pcap_next_ex( m_adhandle, &header, &pkt_data)) >= 0){
>
> bpf_u_int32 NetMask=0xffffff;
>
> struct bpf_program fcode;
>
> if(pcap_compile(m_adhandle, &fcode,
> packet_filter, 0, NetMask) <0 )
>
> {
>
> if (changeFilter)
>
> {
>
> if(pcap_compile(m_adhandle, &fcode, packet_filter, 0,
> NetMask) <0 )
>
> {
>
> fprintf(stderr,"\nUnable to compile the packet filter.
> Check the syntax.\n");
>
> return
> -1;
>
> }
>
>
>
> //set the filter
>
> if(pcap_setfilter(m_adhandle, &fcode)<0)
>
> {
>
> fprintf(stderr,"\nError setting the filter.\n");
>
> return -1;
>
> }
>
> }
>
>
>
> if(res == 0)
>
> /* Timeout elapsed */
>
> continue;
>
> packet_handler(header, pkt_data);
>
> }
>
>
>
>
>
> ==================================================================
> This is the WinPcap users list. It is archived at
> http://www.mail-archive.com/[EMAIL PROTECTED]/
>
> To unsubscribe use
> mailto: [EMAIL PROTECTED]
> ==================================================================
==================================================================
This is the WinPcap users list. It is archived at
http://www.mail-archive.com/[EMAIL PROTECTED]/
To unsubscribe use
mailto: [EMAIL PROTECTED]
==================================================================