u3v: set interface class/subclass by first clearly identified packet

In case no descriptors are in the trace, payload packets can
only be identified, if a clearly identified STREAM or CONTROL packet sets
class/subclass of the conversation

Change-Id: I30be30df908ede468fadf56fdef20f9869ce6b56
Reviewed-on: https://code.wireshark.org/review/14467
Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
This commit is contained in:
Moeller, Thies 2016-03-15 07:56:57 +01:00 committed by Alexis La Goutte
parent 8b8253b8ad
commit 880ac95391
1 changed files with 9 additions and 0 deletions

View File

@ -1695,6 +1695,15 @@ dissect_u3v(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data)
stream_detected = TRUE;
}
/* initialize interface class/subclass in case no descriptors have been dissected yet */
if ( control_detected || stream_detected){
if ( usb_conv_info->interfaceClass == IF_CLASS_UNKNOWN &&
usb_conv_info->interfaceSubclass == IF_SUBCLASS_UNKNOWN){
usb_conv_info->interfaceClass = IF_CLASS_MISCELLANEOUS;
usb_conv_info->interfaceSubclass = IF_SUBCLASS_MISC_U3V;
}
}
if ( control_detected ) {
/* Set the protocol column */
col_set_str(pinfo->cinfo, COL_PROTOCOL, "U3V");