Fix the Frame Relay dissector to call subdissectors regardless of

whether a full protocol tree dissection is being done or not.

svn path=/trunk/; revision=2843
This commit is contained in:
Guy Harris 2001-01-07 22:18:32 +00:00
parent 6cc7a2e804
commit c6381f45b0
1 changed files with 16 additions and 17 deletions

View File

@ -3,7 +3,7 @@
* *
* Copyright 2001, Paul Ionescu <paul@acorp.ro> * Copyright 2001, Paul Ionescu <paul@acorp.ro>
* *
* $Id: packet-fr.c,v 1.1 2001/01/07 22:08:31 guy Exp $ * $Id: packet-fr.c,v 1.2 2001/01/07 22:18:32 guy Exp $
* *
* Ethereal - Network traffic analyzer * Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org> * By Gerald Combs <gerald@zing.org>
@ -84,26 +84,25 @@ static void dissect_fr(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_boolean(fr_tree, hf_fr_becn, tvb, 1, 1, fr_header); proto_tree_add_boolean(fr_tree, hf_fr_becn, tvb, 1, 1, fr_header);
proto_tree_add_boolean(fr_tree, hf_fr_de, tvb, 1, 1, fr_header); proto_tree_add_boolean(fr_tree, hf_fr_de, tvb, 1, 1, fr_header);
proto_tree_add_uint(fr_tree, hf_fr_proto,tvb, 2, 2, fr_proto ); proto_tree_add_uint(fr_tree, hf_fr_proto,tvb, 2, 2, fr_proto );
}
next_tvb = tvb_new_subset(tvb,4, -1 , -1); next_tvb = tvb_new_subset(tvb, 4, -1, -1);
switch (fr_proto){ switch (fr_proto){
/* case 0x0703: /* case 0x0703:
dissect_lmi(next_tvb,pinfo,tree); dissect_lmi(next_tvb,pinfo,tree);
break; break;
this is not yet implemented this is not yet implemented
*/ */
case 0x0800: case 0x0800:
dissect_ip(next_tvb,pinfo,tree); dissect_ip(next_tvb,pinfo,tree);
break; break;
case 0x8137: case 0x8137:
dissect_ipx(next_tvb,pinfo,tree); dissect_ipx(next_tvb,pinfo,tree);
break; break;
default: default:
dissect_data(next_tvb,0,pinfo,tree); dissect_data(next_tvb,0,pinfo,tree);
break; break;
}
} }
return; return;
} }