author | John Beck <John.Beck@Oracle.COM> |
Thu, 08 Sep 2016 09:45:54 -0700 | |
changeset 6864 | 45128c94429d |
parent 5619 | 4d97a998cbcc |
permissions | -rw-r--r-- |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
1 |
Patch origin: in-house |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
2 |
Patch status: Will be sent to upstream. |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
3 |
|
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
4 |
Oracle Solaris ECP/VDP dissection based on IEEE 802.1Qbg Draft 2.1. |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
5 |
|
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
6 |
Index: epan/oui.h |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
7 |
=================================================================== |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
8 |
--- epan/oui.h (revision 41973) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
9 |
+++ epan/oui.h (working copy) |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
10 |
@@ -45,6 +45,7 @@ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
11 |
#define OUI_ERICSSON 0x0001EC /* Ericsson Group */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
12 |
#define OUI_CATENA 0x00025A /* Catena Networks */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
13 |
#define OUI_ATHEROS 0x00037F /* Atheros Communications */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
14 |
+#define OUI_ORACLE 0x0003BA /* Oracle */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
15 |
#define OUI_SONY_ERICSSON 0x000AD9 /* Sony Ericsson Mobile Communications AB */ |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
16 |
#define OUI_ARUBA 0x000B86 /* Aruba Networks */ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
17 |
#define OUI_SONY_ERICSSON_2 0x000E07 /* Sony Ericsson Mobile Communications AB */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
18 |
Index: epan/etypes.h |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
19 |
=================================================================== |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
20 |
--- epan/etypes.h (revision 41973) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
21 |
+++ epan/etypes.h (working copy) |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
22 |
@@ -538,6 +538,10 @@ |
955
d73530a1bcea
7193164 upgrade wireshark to version 1.8.2
Petr Cvachoucek <petr.cvachoucek@oracle.com>
parents:
883
diff
changeset
|
23 |
#define ETHERTYPE_HSR 0x892F /* High-availability Seamless Redundancy (IEC62439 Part 3) */ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
24 |
#endif |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
25 |
|
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
26 |
+#ifndef ETHERTYPE_ECP |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
27 |
+#define ETHERTYPE_ECP 0x8940 /* Edge Control Protocol */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
28 |
+#endif |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
29 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
30 |
#ifndef ETHERTYPE_LOOP |
1488
04528ffd139d
17508584 Upgrade Wireshark to version 1.10.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
955
diff
changeset
|
31 |
#define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
32 |
#endif |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
33 |
Index: epan/dissectors/packet-ecp.c |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
34 |
=================================================================== |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
35 |
--- epan/dissectors/packet-ecp.c (revision 0) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
36 |
+++ epan/dissectors/packet-ecp.c (revision 0) |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
37 |
@@ -0,0 +1,624 @@ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
38 |
+/* packet-ecp.c |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
39 |
+ * Routines for Solaris ECP/VDP dissection based on IEEE 802.1Qbg Draft 2.1 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
40 |
+ * |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
41 |
+ * Wireshark - Network traffic analyzer |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
42 |
+ * By Gerald Combs <[email protected]> |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
43 |
+ * Copyright 1998 Gerald Combs |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
44 |
+ * |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
45 |
+ * This program is free software; you can redistribute it and/or |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
46 |
+ * modify it under the terms of the GNU General Public License |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
47 |
+ * as published by the Free Software Foundation; either version 2 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
48 |
+ * of the License, or (at your option) any later version. |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
49 |
+ * |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
50 |
+ * This program is distributed in the hope that it will be useful, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
51 |
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
52 |
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
53 |
+ * GNU General Public License for more details. |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
54 |
+ * |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
55 |
+ * You should have received a copy of the GNU General Public License |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
56 |
+ * along with this program; if not, write to the Free Software |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
57 |
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
58 |
+ */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
59 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
60 |
+#ifdef HAVE_CONFIG_H |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
61 |
+# include "config.h" |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
62 |
+#endif |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
63 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
64 |
+#include <stdio.h> |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
65 |
+#include <epan/packet.h> |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
66 |
+#include <epan/etypes.h> |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
67 |
+#include <epan/to_str.h> |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
68 |
+#include <epan/oui.h> |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
69 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
70 |
+static int proto_ecp = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
71 |
+static int hf_ecp_version = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
72 |
+static int hf_ecp_op = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
73 |
+static int hf_ecp_subtype = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
74 |
+static int hf_ecp_seqno = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
75 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
76 |
+static int proto_vdp = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
77 |
+static int hf_vdp_tlv_type = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
78 |
+static int hf_vdp_tlv_len = -1; |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
79 |
+static int hf_vdp_tlv_len_invalid = -1; |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
80 |
+static int hf_vdp_tlv_assoc_reason = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
81 |
+static int hf_vdp_tlv_org_oui = -1; |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
82 |
+static int hf_vdp_vidstr = -1; |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
83 |
+static int hf_vdp_vsitypeid = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
84 |
+static int hf_vdp_vsiversion = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
85 |
+static int hf_vdp_vsiid_format = -1; |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
86 |
+static int hf_vdp_vsiid = -1; |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
87 |
+static int hf_vdp_filter_format = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
88 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
89 |
+static int hf_oui_oracle_subtype = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
90 |
+static int hf_oui_oracle_encoding = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
91 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
92 |
+static gint ett_ecp = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
93 |
+static gint ett_vdp_tlv = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
94 |
+static gint ett_vdp_tlv_mgrid = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
95 |
+static gint ett_vdp_tlv_assoc = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
96 |
+static gint ett_vdp_tlv_org = -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
97 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
98 |
+static dissector_handle_t data_handle; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
99 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
100 |
+#define ECP_OP_REQ 0x0 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
101 |
+#define ECP_OP_ACK 0x1 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
102 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
103 |
+#define ECP_SUBTYPE_VDP 0x0001 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
104 |
+#define ECP_SUBTYPE_PECSP 0x0002 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
105 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
106 |
+#define VDP_TLV_PREASSOC 0x01 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
107 |
+#define VDP_TLV_PREASSOCRR 0x02 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
108 |
+#define VDP_TLV_ASSOC 0x03 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
109 |
+#define VDP_TLV_DEASSOC 0x04 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
110 |
+#define VDP_TLV_MGRID 0x05 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
111 |
+#define VDP_TLV_ORG 0x7F |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
112 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
113 |
+#define VSI_FMT_IPv4 0x01 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
114 |
+#define VSI_FMT_IPv6 0x02 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
115 |
+#define VSI_FMT_MAC 0x03 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
116 |
+#define VSI_FMT_LOCAL 0x04 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
117 |
+#define VSI_FMT_UUID 0x05 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
118 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
119 |
+#define VDP_FILTER_VID 0x01 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
120 |
+#define VDP_FILTER_MACVID 0x02 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
121 |
+#define VDP_FILTER_GRPVID 0x03 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
122 |
+#define VDP_FILTER_GRPMACVID 0x04 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
123 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
124 |
+/* Masks - from packet-lldp.c */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
125 |
+#define TLV_TYPE_MASK 0xFE00 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
126 |
+#define TLV_TYPE(value) (((value) & TLV_TYPE_MASK) >> 9) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
127 |
+#define TLV_INFO_LEN_MASK 0x01FF |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
128 |
+#define TLV_INFO_LEN(value) ((value) & TLV_INFO_LEN_MASK) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
129 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
130 |
+#define ECP_VERSION_MASK 0xF000 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
131 |
+#define ECP_OP_MASK 0x0C00 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
132 |
+#define ECP_SUBTYPE_MASK 0x03FF |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
133 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
134 |
+#define ECP_VERSION(value) (((value) & ECP_VERSION_MASK) >> 12) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
135 |
+#define ECP_OP(value) (((value) & ECP_OP_MASK) >> 10) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
136 |
+#define ECP_SUBTYPE(value) (((value) & ECP_SUBTYPE_MASK)) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
137 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
138 |
+#define OUI_ORACLE_VSIMGR_SUBTYPE 0x01 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
139 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
140 |
+/* |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
141 |
+ * Hash table for translating OUIs to a dissector table/field info pair; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
142 |
+ * the dissector table maps PID values to dissectors, and the field |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
143 |
+ * corresponds to the PID for that OUI. |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
144 |
+ */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
145 |
+typedef struct { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
146 |
+ dissector_table_t table; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
147 |
+ hf_register_info *field_info; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
148 |
+} oui_info_t; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
149 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
150 |
+static GHashTable *oui_info_table = NULL; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
151 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
152 |
+static const value_string ecp_op_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
153 |
+ { ECP_OP_REQ, "ECP request" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
154 |
+ { ECP_OP_ACK, "ECP acknowledgement" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
155 |
+ { 0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
156 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
157 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
158 |
+static const value_string ecp_subtype_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
159 |
+ { ECP_SUBTYPE_VDP, "VDP" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
160 |
+ { 0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
161 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
162 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
163 |
+static const value_string vdp_tlv_type_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
164 |
+ { VDP_TLV_PREASSOC, "PreAssociate" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
165 |
+ { VDP_TLV_PREASSOCRR, "PreAssociate with RR" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
166 |
+ { VDP_TLV_ASSOC, "Associate" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
167 |
+ { VDP_TLV_DEASSOC, "DeAssociate" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
168 |
+ { VDP_TLV_MGRID, "VSI Manager ID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
169 |
+ { VDP_TLV_ORG, "Orgnaizationally defined TLV" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
170 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
171 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
172 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
173 |
+static const value_string vdp_tlv_oui_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
174 |
+ { OUI_ORACLE, "Oracle" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
175 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
176 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
177 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
178 |
+static const value_string oui_oracle_subtype_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
179 |
+ { OUI_ORACLE_VSIMGR_SUBTYPE, "VSI Manager Subtype" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
180 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
181 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
182 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
183 |
+static const value_string oui_oracle_encoding_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
184 |
+ { 0x1, "oracle_vsi_v1" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
185 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
186 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
187 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
188 |
+static const value_string vdp_response_error_type_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
189 |
+ { 0x0, "Success" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
190 |
+ { 0x1, "Invalid Format" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
191 |
+ { 0x2, "Insufficient Resource" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
192 |
+ { 0x3, "Unable to Contact VSI Manager" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
193 |
+ { 0x4, "Other Failure" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
194 |
+ { 0x5, "Invalid VID, GroupID, or Mac address" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
195 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
196 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
197 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
198 |
+static const value_string vdp_vsiid_format_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
199 |
+ { VSI_FMT_IPv4, "IPv4" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
200 |
+ { VSI_FMT_IPv6, "IPv6" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
201 |
+ { VSI_FMT_MAC, "MAC" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
202 |
+ { VSI_FMT_LOCAL, "Local" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
203 |
+ { VSI_FMT_UUID, "UUID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
204 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
205 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
206 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
207 |
+static const value_string vdp_filter_format_vals[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
208 |
+ { VDP_FILTER_VID, "VID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
209 |
+ { VDP_FILTER_MACVID, "MAC/VID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
210 |
+ { VDP_FILTER_GRPVID, "GroupID/VID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
211 |
+ { VDP_FILTER_GRPMACVID, "GroupID/MAC/VID" }, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
212 |
+ { 0x0, NULL } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
213 |
+}; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
214 |
+ |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
215 |
+static const true_false_string tfs_tlv_len_invalid = { |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
216 |
+ "", |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
217 |
+ "" |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
218 |
+}; |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
219 |
+ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
220 |
+ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
221 |
+static void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
222 |
+vdp_add_vidstr(tvbuff_t *tvb, proto_tree *tree, guint32 offset, proto_item *ti) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
223 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
224 |
+ guint16 val; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
225 |
+ guint ps, pcp, vid; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
226 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
227 |
+ val = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
228 |
+ ps = (val >> 12) & 0x8; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
229 |
+ pcp = (val >> 12) & 0x7; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
230 |
+ vid = val & 0x0FFF; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
231 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
232 |
+ if (ti == NULL) |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
233 |
+ proto_tree_add_bytes_format_value(tree, hf_vdp_vidstr, tvb, offset, 2, NULL, |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
234 |
+ "PS %u, PCP %u, VID %u", ps, pcp, vid); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
235 |
+ else |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
236 |
+ proto_item_append_text(ti, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
237 |
+ "PS %u, PCP %u, VID %u", ps, pcp, vid); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
238 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
239 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
240 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
241 |
+static gint32 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
242 |
+dissect_vdp_tlv_assoc(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint32 offset, guint8 tlvtype) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
243 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
244 |
+ proto_tree *vdp_tlv_assoc_tree; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
245 |
+ proto_item *ti; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
246 |
+ guint16 tlvhdr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
247 |
+ guint32 tlvlen = 0; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
248 |
+ guint8 reason, flags; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
249 |
+ gboolean request; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
250 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
251 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
252 |
+ if (tlvtype == VDP_TLV_ASSOC) |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
253 |
+ vdp_tlv_assoc_tree = proto_tree_add_subtree(tree, tvb, offset, 2, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
254 |
+ ett_vdp_tlv_assoc, &ti, "VDP Associate"); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
255 |
+ else |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
256 |
+ vdp_tlv_assoc_tree = proto_tree_add_subtree(tree, tvb, offset, 2, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
257 |
+ ett_vdp_tlv_assoc, &ti, "VDP DeAssociate"); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
258 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
259 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
260 |
+ tlvhdr = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
261 |
+ tlvlen = TLV_INFO_LEN(tlvhdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
262 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
263 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
264 |
+ /* Reason */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
265 |
+ reason = tvb_get_bits8(tvb, offset, 8); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
266 |
+ flags = reason >> 4; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
267 |
+ request = !(flags & 0x4); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
268 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
269 |
+ ti = proto_tree_add_item(vdp_tlv_assoc_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
270 |
+ hf_vdp_tlv_assoc_reason, tvb, offset, 1, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
271 |
+ if (request) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
272 |
+ proto_item_append_text(ti, " Request"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
273 |
+ if (flags != 0) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
274 |
+ proto_item_append_text(ti, "; Flags (%x)", |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
275 |
+ flags); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
276 |
+ if (flags & 0x1) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
277 |
+ proto_item_append_text(ti, " M-Bit"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
278 |
+ if (flags & 0x2) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
279 |
+ proto_item_append_text(ti, " S-Bit"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
280 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
281 |
+ } else { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
282 |
+ guint8 error = reason & 0x0F; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
283 |
+ const char *errorstr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
284 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
285 |
+ proto_item_append_text(ti, " Response"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
286 |
+ errorstr = val_to_str(error, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
287 |
+ vdp_response_error_type_vals, "Unknown error"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
288 |
+ proto_item_append_text(ti, "%s", errorstr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
289 |
+ if ((flags & 0x0F) != 0) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
290 |
+ proto_item_append_text(ti, "; Flags (%x)", |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
291 |
+ flags); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
292 |
+ if (flags & 0x1) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
293 |
+ proto_item_append_text(ti, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
294 |
+ " Hard Error"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
295 |
+ if (flags & 0x2) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
296 |
+ proto_item_append_text(ti, " Keep"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
297 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
298 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
299 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
300 |
+ offset++; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
301 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
302 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
303 |
+ guint8 filter_format; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
304 |
+ const char *str; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
305 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
306 |
+ /* VSITYPEID/VERSION */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
307 |
+ proto_tree_add_item(vdp_tlv_assoc_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
308 |
+ hf_vdp_vsitypeid, tvb, offset, 3, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
309 |
+ offset += 3; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
310 |
+ proto_tree_add_item(vdp_tlv_assoc_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
311 |
+ hf_vdp_vsiversion, tvb, offset, 1, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
312 |
+ offset++; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
313 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
314 |
+ /* VSIID Format */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
315 |
+ proto_tree_add_item(vdp_tlv_assoc_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
316 |
+ hf_vdp_vsiid_format, tvb, offset, 1, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
317 |
+ offset++; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
318 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
319 |
+ /* VSIID */ |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
320 |
+ str = tvb_bytes_to_str_punct(wmem_packet_scope(), tvb, offset, 16, ':'); |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
321 |
+ proto_tree_add_string(vdp_tlv_assoc_tree, hf_vdp_vsiid, tvb, offset, 16, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
322 |
+ str); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
323 |
+ offset += 16; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
324 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
325 |
+ /* Filter Format */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
326 |
+ proto_tree_add_item(vdp_tlv_assoc_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
327 |
+ hf_vdp_filter_format, tvb, offset, 1, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
328 |
+ filter_format = tvb_get_guint8(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
329 |
+ offset++; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
330 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
331 |
+ switch (filter_format) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
332 |
+ case VDP_FILTER_VID: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
333 |
+ vdp_add_vidstr(tvb, vdp_tlv_assoc_tree, offset, NULL); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
334 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
335 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
336 |
+ case VDP_FILTER_MACVID: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
337 |
+ str = tvb_ether_to_str(tvb, offset); |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
338 |
+ proto_tree_add_subtree_format(vdp_tlv_assoc_tree, tvb, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
339 |
+ offset, 6, ett_vdp_tlv_assoc, &ti, "MAC %s. ", str); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
340 |
+ offset += 6; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
341 |
+ vdp_add_vidstr(tvb, vdp_tlv_assoc_tree, offset, ti); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
342 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
343 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
344 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
345 |
+ } else { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
346 |
+ offset += 30; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
347 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
348 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
349 |
+ return offset; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
350 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
351 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
352 |
+static gint32 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
353 |
+dissect_vdp_tlv_mgrid(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint32 offset) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
354 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
355 |
+ proto_tree *vdp_tlv_mgrid_tree = NULL; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
356 |
+ proto_item *ti = NULL; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
357 |
+ guint16 tlvhdr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
358 |
+ guint32 tlvlen = 0; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
359 |
+ const char *str; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
360 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
361 |
+ if (tree) { |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
362 |
+ vdp_tlv_mgrid_tree = proto_tree_add_subtree(tree, tvb, offset, 2, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
363 |
+ ett_vdp_tlv_mgrid, &ti, "VDP Manager ID"); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
364 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
365 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
366 |
+ tlvhdr = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
367 |
+ tlvlen = TLV_INFO_LEN(tlvhdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
368 |
+ if (tlvlen != 16) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
369 |
+ if (tree) { |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
370 |
+ proto_tree_add_boolean(vdp_tlv_mgrid_tree, hf_vdp_tlv_len_invalid, tvb, offset, 2, tlvlen); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
371 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
372 |
+ return -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
373 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
374 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
375 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
376 |
+ str = tvb_ip6_to_str(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
377 |
+ if (ti != NULL) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
378 |
+ proto_item_append_text(ti, ": %s", str); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
379 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
380 |
+ offset += 16; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
381 |
+ return offset; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
382 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
383 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
384 |
+static gint32 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
385 |
+dissect_oracle_tlv(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint32 offset) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
386 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
387 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
388 |
+ proto_tree_add_item(tree, hf_oui_oracle_encoding, tvb, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
389 |
+ offset, 1, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
390 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
391 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
392 |
+ return offset + 1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
393 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
394 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
395 |
+static gint32 |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
396 |
+dissect_vdp_tlv_org(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, guint32 offset) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
397 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
398 |
+ guint16 tlvhdr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
399 |
+ guint32 tlvlen = 0; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
400 |
+ guint32 oui; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
401 |
+ guint8 subtype; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
402 |
+ const char *ouistr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
403 |
+ const char *subtypestr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
404 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
405 |
+ /* TLV header */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
406 |
+ tlvhdr = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
407 |
+ tlvlen = TLV_INFO_LEN(tlvhdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
408 |
+ if (tlvlen < 3) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
409 |
+ if (tree) { |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
410 |
+ proto_tree_add_boolean(tree, hf_vdp_tlv_len_invalid, tvb, offset, 2, tlvlen); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
411 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
412 |
+ return -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
413 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
414 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
415 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
416 |
+ oui = tvb_get_ntoh24(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
417 |
+ ouistr = val_to_str(oui, vdp_tlv_oui_vals, "Unknown"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
418 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
419 |
+ /* XXX only support Oracle OUI for now */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
420 |
+ if (oui != OUI_ORACLE) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
421 |
+ return -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
422 |
+ offset += 3; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
423 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
424 |
+ subtype = tvb_get_guint8(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
425 |
+ subtypestr = val_to_str(subtype, oui_oracle_subtype_vals, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
426 |
+ "Unknown subtype 0x%x"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
427 |
+ offset++; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
428 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
429 |
+ if (tree) { |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
430 |
+ proto_tree_add_subtree_format(tree, tvb, offset, 0, ett_vdp_tlv_org, NULL, "%s - %s", |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
431 |
+ ouistr, subtypestr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
432 |
+ /* XXX create a org tlv tree if neccessary */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
433 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
434 |
+ switch (subtype) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
435 |
+ case OUI_ORACLE_VSIMGR_SUBTYPE: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
436 |
+ offset = dissect_oracle_tlv(tvb, pinfo, tree, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
437 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
438 |
+ default: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
439 |
+ return -1; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
440 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
441 |
+ return offset; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
442 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
443 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
444 |
+static void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
445 |
+dissect_vdp_tlv(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, gint32 offset) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
446 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
447 |
+ proto_tree *vdp_tlv_tree = NULL; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
448 |
+ proto_item *ti; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
449 |
+ guint8 tlvtype; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
450 |
+ guint16 tlvhdr; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
451 |
+ guint32 tlvlen = 0; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
452 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
453 |
+ while (offset > 0) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
454 |
+ tlvhdr = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
455 |
+ tlvtype = TLV_TYPE(tlvhdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
456 |
+ tlvlen = TLV_INFO_LEN(tlvhdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
457 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
458 |
+ if (tlvtype == 0) /* XXX most likely it's padding */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
459 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
460 |
+ if (tree) { |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
461 |
+ vdp_tlv_tree = proto_tree_add_subtree(tree, tvb, offset, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
462 |
+ tlvlen + 2, ett_vdp_tlv, &ti, "VDP TLV"); |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
463 |
+ proto_tree_add_item(vdp_tlv_tree, hf_vdp_tlv_type, tvb, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
464 |
+ offset, 2, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
465 |
+ proto_tree_add_item(vdp_tlv_tree, hf_vdp_tlv_len, tvb, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
466 |
+ offset, 2, ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
467 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
468 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
469 |
+ switch (tlvtype) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
470 |
+ case VDP_TLV_PREASSOC: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
471 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
472 |
+ case VDP_TLV_PREASSOCRR: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
473 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
474 |
+ case VDP_TLV_ASSOC: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
475 |
+ case VDP_TLV_DEASSOC: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
476 |
+ offset = dissect_vdp_tlv_assoc(tvb, pinfo, vdp_tlv_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
477 |
+ offset, tlvtype); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
478 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
479 |
+ case VDP_TLV_MGRID: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
480 |
+ offset = dissect_vdp_tlv_mgrid(tvb, pinfo, vdp_tlv_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
481 |
+ offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
482 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
483 |
+ case VDP_TLV_ORG: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
484 |
+ offset = dissect_vdp_tlv_org(tvb, pinfo, vdp_tlv_tree, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
485 |
+ offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
486 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
487 |
+ default: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
488 |
+ /* unknown type */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
489 |
+ goto done; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
490 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
491 |
+ } |
883
50516829ab64
7174457 EVB patch for wireshark userland (fix parfait build)
Mike Sullivan <Mike.Sullivan@Oracle.COM>
parents:
872
diff
changeset
|
492 |
+done: ; |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
493 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
494 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
495 |
+static void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
496 |
+dissect_ecp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
497 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
498 |
+ proto_item *ti; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
499 |
+ proto_tree *ecp_tree = NULL; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
500 |
+ int offset = 0; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
501 |
+ guint16 hdr, ver, op, subtype, seqno; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
502 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
503 |
+ col_set_str(pinfo->cinfo, COL_PROTOCOL, "ECP"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
504 |
+ col_clear(pinfo->cinfo, COL_INFO); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
505 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
506 |
+ /* Version/OP/Subtype */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
507 |
+ hdr = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
508 |
+ ver = ECP_VERSION(hdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
509 |
+ op = ECP_OP(hdr); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
510 |
+ subtype = ECP_SUBTYPE(hdr); |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
511 |
+ col_append_fstr(pinfo->cinfo, COL_INFO, |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
512 |
+ "PDU Version = %x OP = %x" |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
513 |
+ " Subtype = %x", ver, op, subtype); |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
514 |
+ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
515 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
516 |
+ /* details */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
517 |
+ ti = proto_tree_add_item(tree, proto_ecp, tvb, 0, -1, ENC_NA); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
518 |
+ ecp_tree = proto_item_add_subtree(ti, ett_ecp); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
519 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
520 |
+ proto_tree_add_item(ecp_tree, hf_ecp_version, tvb, offset, 2, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
521 |
+ ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
522 |
+ proto_tree_add_item(ecp_tree, hf_ecp_op, tvb, offset, 2, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
523 |
+ ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
524 |
+ proto_tree_add_item(ecp_tree, hf_ecp_subtype, tvb, offset, 2, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
525 |
+ ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
526 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
527 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
528 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
529 |
+ /* Seqno */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
530 |
+ if (tree) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
531 |
+ proto_tree_add_item(ecp_tree, hf_ecp_seqno, tvb, offset, 2, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
532 |
+ ENC_BIG_ENDIAN); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
533 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
534 |
+ seqno = tvb_get_ntohs(tvb, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
535 |
+ switch (op) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
536 |
+ case ECP_OP_REQ: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
537 |
+ col_append_fstr(pinfo->cinfo, COL_INFO, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
538 |
+ " SEQ = 0x%x", seqno); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
539 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
540 |
+ case ECP_OP_ACK: |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
541 |
+ col_append_fstr(pinfo->cinfo, COL_INFO, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
542 |
+ " ACK = 0x%x", seqno); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
543 |
+ break; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
544 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
545 |
+ offset += 2; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
546 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
547 |
+ /* XXX todo: use sub-dissector */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
548 |
+ if (subtype == ECP_SUBTYPE_VDP) { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
549 |
+ dissect_vdp_tlv(tvb, pinfo, ecp_tree, offset); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
550 |
+ } |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
551 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
552 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
553 |
+void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
554 |
+proto_register_ecp(void) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
555 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
556 |
+ static hf_register_info hf_ecp[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
557 |
+ { &hf_ecp_version, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
558 |
+ { "Version", "ecp.ver", FT_UINT16, BASE_DEC, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
559 |
+ NULL, ECP_VERSION_MASK, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
560 |
+ { &hf_ecp_op, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
561 |
+ { "Operation", "ecp.op", FT_UINT16, BASE_HEX, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
562 |
+ VALS(ecp_op_vals), ECP_OP_MASK, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
563 |
+ { &hf_ecp_subtype, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
564 |
+ { "Subtype", "ecp.subtype", FT_UINT16, BASE_HEX, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
565 |
+ VALS(ecp_subtype_vals), ECP_SUBTYPE_MASK, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
566 |
+ { &hf_ecp_seqno, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
567 |
+ { "Sequence number", "ecp.seqno", FT_UINT16, BASE_DEC, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
568 |
+ NULL, 0x0, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
569 |
+ }; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
570 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
571 |
+ static hf_register_info hf_vdp[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
572 |
+ { &hf_vdp_tlv_type, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
573 |
+ { "VDP TLV Type", "vdp.tlvtype", FT_UINT16, BASE_DEC, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
574 |
+ VALS(vdp_tlv_type_vals), TLV_TYPE_MASK, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
575 |
+ { &hf_vdp_tlv_len, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
576 |
+ { "VDP TLV Length", "vdp.tlvlen", FT_UINT16, BASE_DEC, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
577 |
+ NULL, TLV_INFO_LEN_MASK, NULL, HFILL }}, |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
578 |
+ { &hf_vdp_tlv_len_invalid, |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
579 |
+ { "VDP TLV Invalid Length", "vdp.tlvlen_invalid", FT_BOOLEAN, |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
580 |
+ 16, TFS(&tfs_tlv_len_invalid), TLV_INFO_LEN_MASK, |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
581 |
+ NULL, HFILL}}, |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
582 |
+ { &hf_vdp_tlv_assoc_reason, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
583 |
+ { "Reason/Status", "vdp.assoc.reason", FT_UINT8, BASE_HEX, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
584 |
+ NULL, 0x0, NULL, HFILL }}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
585 |
+ { &hf_vdp_tlv_org_oui, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
586 |
+ { "Org OUI", "vdp.org.oui", FT_UINT24, BASE_HEX, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
587 |
+ VALS(vdp_tlv_oui_vals), 0x0, NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
588 |
+ { &hf_oui_oracle_subtype, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
589 |
+ { "Oracle Subtype", "vdp.oracle.subtype", FT_UINT8, BASE_HEX, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
590 |
+ VALS(oui_oracle_subtype_vals), 0x0, NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
591 |
+ { &hf_oui_oracle_encoding, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
592 |
+ { "VSI Manager ID Encoding", "vdp.oracle.encoding", FT_UINT8, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
593 |
+ BASE_HEX, VALS(oui_oracle_encoding_vals), |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
594 |
+ 0x0, NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
595 |
+ { &hf_vdp_vsitypeid, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
596 |
+ { "VSI Type ID", "vdp.vsitypeid", FT_UINT24, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
597 |
+ BASE_HEX, NULL, 0x0, NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
598 |
+ { &hf_vdp_vsiversion, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
599 |
+ { "VSI Version", "vdp.vsiversion", FT_UINT8, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
600 |
+ BASE_HEX, NULL, 0x0, NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
601 |
+ { &hf_vdp_vsiid_format, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
602 |
+ { "VSIID Format ", "vdp.vsiidformat", FT_UINT8, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
603 |
+ BASE_HEX, VALS(vdp_vsiid_format_vals), 0x0, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
604 |
+ NULL, HFILL}}, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
605 |
+ { &hf_vdp_filter_format, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
606 |
+ { "VDP Filter Format ", "vdp.filterformat", FT_UINT8, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
607 |
+ BASE_HEX, VALS(vdp_filter_format_vals), 0x0, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
608 |
+ NULL, HFILL}}, |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
609 |
+ { &hf_vdp_vsiid, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
610 |
+ { "VSIID", "vdp.VSIID", FT_STRING, BASE_NONE, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
611 |
+ NULL, 0x0, NULL, HFILL }}, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
612 |
+ { &hf_vdp_vidstr, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
613 |
+ { "VIDSTR", "vdp.vidstr", FT_BYTES, BASE_NONE, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
614 |
+ NULL, 0x0, NULL, HFILL }}, |
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
615 |
+ |
872
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
616 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
617 |
+ }; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
618 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
619 |
+ static gint *ett[] = { |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
620 |
+ &ett_ecp, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
621 |
+ &ett_vdp_tlv, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
622 |
+ &ett_vdp_tlv_assoc, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
623 |
+ &ett_vdp_tlv_mgrid, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
624 |
+ &ett_vdp_tlv_org, |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
625 |
+ }; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
626 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
627 |
+ proto_ecp = proto_register_protocol("Edge Control Protocol", |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
628 |
+ "ECP21", "ecp21"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
629 |
+ proto_register_field_array(proto_ecp, hf_ecp, array_length(hf_ecp)); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
630 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
631 |
+ proto_vdp = proto_register_protocol("VSI protocol", |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
632 |
+ "VDP21", "vdp21"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
633 |
+ proto_register_field_array(proto_vdp, hf_vdp, array_length(hf_vdp)); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
634 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
635 |
+ proto_register_subtree_array(ett, array_length(ett)); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
636 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
637 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
638 |
+static void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
639 |
+register_hf(gpointer key _U_, gpointer value, gpointer user_data _U_) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
640 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
641 |
+ oui_info_t *info = value; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
642 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
643 |
+ proto_register_field_array(proto_ecp, info->field_info, 1); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
644 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
645 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
646 |
+void |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
647 |
+proto_reg_handoff_ecp_21(void) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
648 |
+{ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
649 |
+ dissector_handle_t ecp_handle; |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
650 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
651 |
+ data_handle = find_dissector("data"); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
652 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
653 |
+ ecp_handle = create_dissector_handle(dissect_ecp, proto_ecp); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
654 |
+ dissector_add_uint("ethertype", ETHERTYPE_ECP, ecp_handle); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
655 |
+ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
656 |
+ /* |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
657 |
+ * Register all the fields for PIDs for various OUIs. |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
658 |
+ */ |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
659 |
+ if (oui_info_table != NULL) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
660 |
+ g_hash_table_foreach(oui_info_table, register_hf, NULL); |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
661 |
+} |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
662 |
Index: epan/dissectors/Makefile.common |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
663 |
=================================================================== |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
664 |
--- epan/dissectors/Makefile.common (revision 41973) |
4ce8edeb91bf
7174457 EVB patch for wireshark userland
Xiangning Yu<xiangning.yu@oracle.com>
parents:
diff
changeset
|
665 |
+++ epan/dissectors/Makefile.common (working copy) |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
666 |
@@ -114,6 +114,7 @@ |
3878
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
667 |
packet-dop.c \ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
668 |
packet-dsp.c \ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
669 |
packet-ess.c \ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
670 |
+ packet-ecp.c \ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
671 |
packet-ftam.c \ |
b6ed43d2d1b8
20530019 Upgrade Wireshark to version 1.12.3
Petr Sumbera <petr.sumbera@oracle.com>
parents:
1488
diff
changeset
|
672 |
packet-goose.c \ |
5619
4d97a998cbcc
22866734 Upgrade Wireshark to version 2.0.2
Petr Sumbera <petr.sumbera@oracle.com>
parents:
3878
diff
changeset
|
673 |
packet-gsm_map.c \ |