This works towards bug 3209 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=3209) by at least satisfying the layer under SCSI. All of the dissectors that feed into SCSI seem to have similar "lun tracking" issues, so I think a more general solution may be needed to fix the bug "right"
#BACKPORT
svn path=/trunk/; revision=46464
are like the non-TVB versions except that they take a TVB and an offset
instead of (frequently) a pointer into the TVB.
Calling tvb_get_ptr() before modifying the rest of the fields should help fix
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7960 (though I can't
reproduce that problem).
Replace a bunch of calls like:
SET_ADDRESS(..., AT_XXX, length, tvb_get_ptr(tvb, offset, length));
with:
TVB_SET_ADDRESS(..., AT_XXX, tvb, offset, length);
svn path=/trunk/; revision=46324
Specifically: Replace FALSE|0 and TRUE|1 by ENC_BIG_ENDIAN|ENC_LITTLE_ENDIAN as
the encoding parameter for proto_tree_add_item() calls which directly reference
an item in hf[] which has a type of:
FT_UINT8
FT_UINT16
FT_UINT24
FT_UINT32
FT_UINT64
FT_INT8
FT_INT16
FT_INT24
FT_INT32
FT_INT64
FT_FLOAT
FT_DOUBLE
svn path=/trunk/; revision=39288
There's no need to pass the result of tvb_get_ptr() as the 'value' in
proto_tree_add_*(): just use proto_tree_add_item().
Replace some tvb_get_ptr()s with tvb_get_ephemeral_string()s to ensure the
return string is NULL terminated.
svn path=/trunk/; revision=35545
keys to have _uint in their names, to match the routines that handle
dissector tables with string keys. (Using _port can confuse people into
thinking they're intended solely for use with TCP/UDP/etc. ports when,
in fact, they work better for things such as Ethernet types, where the
binding of particular values to particular protocols are a lot
stronger.)
svn path=/trunk/; revision=35224
It would be nice to have dissection of the Fibre-Channel FCP
"Sequence retransmission request" (SRR) request.
This is like an FC ELS request, but it has FC type FCP, so it's
a little strange. It seemed like the best place to put it is in
packet-fcp.c but a slight hook is needed in packet-fc.c to
recognize that packet-fcp is the correct dissector.
svn path=/trunk/; revision=30587
(1) Trailing/leading spaces are removed from 'name's/'blurb's
(2) Duplicate 'blurb's are replaced with NULL
(3) Empty ("") 'blurb's are replaced with NULL
(4) BASE_NONE, NULL, 0x0 are used for 'display', 'strings' and 'bitmask' fields
for FT_NONE, FT_BYTES, FT_IPv4, FT_IPv6, FT_ABSOLUTE_TIME, FT_RELATIVE_TIME,
FT_PROTOCOL, FT_STRING and FT_STRINGZ field types
(5) Only allow non-zero value for 'display' if 'bitmask' is non-zero
svn path=/trunk/; revision=28770
ethernet's VLAN tag. It is sometimes called the VSAN tag.
It used to be proprietary, but now it's standard.
Wireshark currently displays it as an 8-byte field without dissecting it further.
It'd be nice to have it broken down into fields. A patch is attached.
svn path=/trunk/; revision=22879
most have been tagged unused (few have been deleted if dissector has not been
modified since a long time)
move packet-ssl-utils.c to DISSECTOR_SRC
svn path=/trunk/; revision=21431
decode this field as relative offset and also store it in the fc_hdr structure so that FCP can pick it up and pass if to the SCSI payload data in/out dissector later
svn path=/trunk/; revision=19510
so that the two scsi transports FCP and ISCSI can provide the expected data transfer lengths to SCSI to allow SCSI reassembly.
NDMP does not really need these hints since for NDMP (and also iscsi-lite) there is conceptually always both data in and data out phases and there is never any fragmentation.
svn path=/trunk/; revision=19493
structures for scsi.
we no longer need the scsi_task_id structure passed by pinfo->private_data so get rid of it.
we no longer need the (broken by design) scsi_task_data hash table since this has been replaced byt hte itl and itlq structures and tracking
svn path=/trunk/; revision=17952
and get rid of some breakage in the design
let the scsi transport keep track of itl (initiator, target, lun) matching
and let it pass a itl structure to scsi that is persistent across packets.
let scsi use this itl structure to track device type for a specific itl instead of the (must have been) broken hashtable.
update both iscsi and fc to track the itl structure for scsi and schange the scsi signature to accept itl as a parameter.
more to come.
svn path=/trunk/; revision=17942
it is silly that scsi has to track these things itself when all the transports
already keep track of exchanges.
the scsi transports should all use the fc_exchange_data structure to pass lun to scsi and where scsi kan store the opcode between requests and data/response packets
svn path=/trunk/; revision=17829