Ethereal-dev: [Ethereal-dev] FCIP Special Frame Dissection

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Andy Homan <Andy_Homan@xxxxxxx>
Date: Wed, 21 May 2003 14:43:17 -0500
It looks as though the dissection code for the FCIP Special Frame might be
off by two bytes on the last two fields, namely Destination Fabric WWN and
K_A_TOV.  I propose the following change to dissect_fcip_sf to take care of
the problem (see comments in code for details on the changes I made):

static void
dissect_fcip_sf (tvbuff_t *tvb, proto_tree *tree, gint offset)
{
    if (tree) {
        proto_tree_add_string (tree, hf_fcip_src_wwn, tvb, offset, 8,
                               fcwwn_to_str (tvb_get_ptr (tvb, offset, 8)));
        proto_tree_add_bytes (tree, hf_fcip_src_entity_id, tvb, offset+8, 8,
                              tvb_get_ptr (tvb, offset+8, 8));
        proto_tree_add_bytes (tree, hf_fcip_conn_nonce, tvb, offset+16, 8,
                              tvb_get_ptr (tvb, offset+16, 8));
        proto_tree_add_item (tree, hf_fcip_conn_flags, tvb, offset+24, 1,
0);
        proto_tree_add_item (tree, hf_fcip_conn_code, tvb, offset+26, 2, 0);
        // changes are below:
	  // 'offset+30' is now 'offset+28'
	  // 'offset+38' is now 'offset+36'
	  proto_tree_add_string (tree, hf_fcip_dst_wwn, tvb, offset+28, 8,
                               fcwwn_to_str (tvb_get_ptr (tvb, offset+28,
8)));
        proto_tree_add_item (tree, hf_fcip_katov, tvb, offset+36, 4, 0);
    }
}



Andy Homan
homa0016@xxxxxxx
andy_homan@xxxxxxx