[Winpcap-users] Updating BPF compiler
Deston High
mqx at low-axs.net
Sun Dec 4 22:31:00 GMT 2005
Oops O:-)
Thanks for the plain answer, much appreciated!
cheers
D. High
Guy Harris wrote:
> Deston High wrote:
>
>> but which files i need to update exactly?
>>
>> bpf/net/bpf_filter.c
>> <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/bpf/net/bpf_filter.c>
>
>
> No. That's the interpreter for BPF programs, but the BPF machine
> language doesn't know anything about PPPoE (and it only knows a *tiny*
> amount about IPv4) - the BPF machine language is lower-level than
> that, and the compiler translates higher-level filter expressions into
> low-level programs testing particular bytes in the packet.
>
>> bpf_dump.c <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/bpf_dump.c>
>> bpf_image.c <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/bpf_image.c>
>
>
> No, they just print out BPF programs in human-readable form.
>
>> ethertype.h <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/ethertype.h>
>
>
> You might need that, if the PPPoE Ethernet type fields weren't already
> there.
>
>> gencode.c <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/gencode.c>
>
>
> That's the file that contains the code that generates BPF programs, so
> you *do* need that.
>
>> gencode.h <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/gencode.h>
>
>
> You might need that, if I had to add some new #define for the PPPoE
> code generator stuff.
>
>> pcap-bpf.c <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/pcap-bpf.c>
>
>
> That's not used in WinPcap - or in libpcap on Linux, Solaris, HP-UX,
> or any OSes other than the various BSDs (including the BSD-derived OS
> X) or AIX; it's one of the platform-dependent files in libpcap.
> WinPcap uses pcap-win32.c, Linux uses pcap-linux.c, Solaris and HP-UX
> (and some other OSes) use pcap-dlpi.c, etc..
>
>> pcap-bpf.h <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/pcap-bpf.h>
>
>
> That defines stuff for the BPF machine language, which, as I note,
> didn't have to be changed to support PPPoE.
>
>> according to your msg i need to generate source files using
>> bison/flex from:
>> grammar.y <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/grammar.y>
>> scanner.l <http://cvs.tcpdump.org/cgi-bin/cvsweb/libpcap/scanner.l>
>
>
> YES. The keywords "pppoed" and "pppoes" were added to the filtering
> language, so the lexical analyzer (scanner.l) had to be changed to
> recognize those keywords, and the grammar (grammar.y) had to be change
> to support them as language tokens.
>
> So you will need to install Cygwin:
>
> http://www.cygwin.com/
>
> in order to get Bison and Flex.
> _______________________________________________
> 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