From Steve Magnani:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Feb 2012 16:59:38 +0000 (16:59 +0000)
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>
Sat, 11 Feb 2012 16:59:38 +0000 (16:59 +0000)
USB: support filtering of isochronous packets via usb.bInterfaceClass.

https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6824

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@40973 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-usb.c

index f74a64689e62ead4e03e74b374c94bee1e8ecd98..696ec682a1a20a0bf28c2250d8a1e68589deee0b 100644 (file)
@@ -2210,6 +2210,11 @@ dissect_linux_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
         break;
     case URB_ISOCHRONOUS:
         {
+        guint32 iso_numdesc = 0;
+        proto_item *ti = NULL;
+        ti=proto_tree_add_uint(tree, hf_usb_bInterfaceClass, tvb, offset, 0, usb_conv_info->interfaceClass);
+        PROTO_ITEM_SET_GENERATED(ti);
+
         /* All fields which belong to Linux usbmon headers are in host-endian
          * byte order. The fields coming from the USB communication are in little
          * endian format (see usb_20.pdf, chapter 8.1 Byte/Bit ordering).
@@ -2218,10 +2223,8 @@ dissect_linux_usb_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent,
          * than packet was captured then the necessary swapping happens in
          * wiretap/pcap-common.c, pcap_process_linux_usb_pseudoheader().
          */
-        guint32 iso_numdesc = 0;
 
         if (setup_flag == 0) {
-            proto_item *ti = NULL;
             proto_tree *setup_tree = NULL;
             int type_2;