diff options
author | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-08-01 04:28:20 +0000 |
---|---|---|
committer | Gilbert Ramirez <gram@alumni.rice.edu> | 1999-08-01 04:28:20 +0000 |
commit | b2f932c1dbb6180a3b4a86c7510ef4beff814bb0 (patch) | |
tree | 4b9c007a4f6bbfa27c0c7f9cad2a1e7800c30863 /packet-fddi.c | |
parent | c31abd81fa1fa78b0ac19d0b1de3d492a016768c (diff) |
Changed the display filter scanner from GLIB's GScanner to lex. The code
as it standed depends on your lex being flex, but that only matters if you're
a developer. The distribution will include the dfilter-scanner.c file, so
that if the user doesn't modify dfilter-scanner.l, he won't need flex to
re-create the *.c file.
The new lex scanner gives me better syntax checking for ether addresses. I
thought I could get by using GScanner, but it simply wasn't powerful enough.
All operands have English-like abbreviations and C-like syntax:
and, && ; or, || ; eq, == ; ne, != ; , etc.
I removed the ETHER_VENDOR type in favor of letting the user use the [x:y]
notation: ether.src[0:3] == 0:6:29 instead of ether.srcvendor == 00:06:29
I implemented the IPXNET field type; it had been there before, but was
not implemented. I chose to make it use integer values rather than byte
ranges, since an IPX Network is 4 bytes. So a display filter looks like this:
ipx.srcnet == 0xc0a82c00
rather than this:
ipx.srcnet == c0:a8:2c:00
I can supposrt the byte-range type IPXNET in the future, very trivially.
I still have more work to do on the parser though. It needs to check ranges
when extracting byte ranges ([x:y]) from packets. And I need to get rid
of those reduce/reduce errors from yacc!
svn path=/trunk/; revision=414
Diffstat (limited to 'packet-fddi.c')
-rw-r--r-- | packet-fddi.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/packet-fddi.c b/packet-fddi.c index 159024dcf8..4545e90282 100644 --- a/packet-fddi.c +++ b/packet-fddi.c @@ -3,7 +3,7 @@ * * Laurent Deniel <deniel@worldnet.fr> * - * $Id: packet-fddi.c,v 1.15 1999/07/29 05:46:54 gram Exp $ + * $Id: packet-fddi.c,v 1.16 1999/08/01 04:28:08 gram Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -40,9 +40,7 @@ static int proto_fddi = -1; static int hf_fddi_fc = -1; static int hf_fddi_dst = -1; -static int hf_fddi_dst_vendor = -1; static int hf_fddi_src = -1; -static int hf_fddi_src_vendor = -1; /* FDDI Frame Control values */ @@ -235,15 +233,11 @@ void dissect_fddi(const u_char *pd, frame_data *fd, proto_tree *tree) fh_tree = proto_item_add_subtree(ti, ETT_FDDI); proto_tree_add_item(fh_tree, hf_fddi_fc, FDDI_P_FC, 1, fc); proto_tree_add_item(fh_tree, hf_fddi_dst, FDDI_P_DHOST, 6, dst); - proto_tree_add_item_hidden(fh_tree, hf_fddi_dst_vendor, FDDI_P_DHOST, 3, dst); proto_tree_add_item(fh_tree, hf_fddi_src, FDDI_P_SHOST, 6, src); - proto_tree_add_item_hidden(fh_tree, hf_fddi_src_vendor, FDDI_P_SHOST, 3, src); /* hide some bit-swapped mac address fields in the proto_tree, just in case */ proto_tree_add_item_hidden(fh_tree, hf_fddi_dst, FDDI_P_DHOST, 6, dst_swapped); proto_tree_add_item_hidden(fh_tree, hf_fddi_dst, FDDI_P_SHOST, 6, src_swapped); - proto_tree_add_item_hidden(fh_tree, hf_fddi_dst_vendor, FDDI_P_DHOST, 3, dst_swapped); - proto_tree_add_item_hidden(fh_tree, hf_fddi_src_vendor, FDDI_P_SHOST, 3, src_swapped); } switch (fc) { @@ -289,12 +283,6 @@ proto_register_fddi(void) { &hf_fddi_src, { "Source", "fddi.src", FT_ETHER, NULL }}, - - { &hf_fddi_dst_vendor, - { "Destination Hardware Vendor", "fddi.dst_vendor", FT_ETHER_VENDOR, NULL }}, - - { &hf_fddi_src_vendor, - { "Source Hardware Vendor", "fddi.src_vendor", FT_ETHER_VENDOR, NULL }} }; proto_fddi = proto_register_protocol ("Fiber Distributed Data Interface", "fddi" ); |