aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ieee8021ah.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-ieee8021ah.c')
-rw-r--r--epan/dissectors/packet-ieee8021ah.c62
1 files changed, 31 insertions, 31 deletions
diff --git a/epan/dissectors/packet-ieee8021ah.c b/epan/dissectors/packet-ieee8021ah.c
index da60007e76..26bdb61d71 100644
--- a/epan/dissectors/packet-ieee8021ah.c
+++ b/epan/dissectors/packet-ieee8021ah.c
@@ -23,6 +23,8 @@
void proto_register_ieee8021ah(void);
void proto_reg_handoff_ieee8021ah(void);
+static dissector_handle_t ieee8021ah_handle;
+static dissector_handle_t ieee8021ad_handle;
static dissector_handle_t ethertype_handle;
static capture_dissector_handle_t ipx_cap_handle;
@@ -36,32 +38,32 @@ static void dissect_ieee8021ah_common(tvbuff_t *tvb, packet_info *pinfo,
/* ethertype for 802.1ah tag - encapsulating an Ethernet packet */
static unsigned int ieee8021ah_ethertype = ETHERTYPE_IEEE_802_1AH;
-static int proto_ieee8021ah = -1;
-static int proto_ieee8021ad = -1;
+static int proto_ieee8021ah;
+static int proto_ieee8021ad;
/* dot1ad B-tag fields */
-static int hf_ieee8021ad_priority = -1;
-static int hf_ieee8021ad_cfi = -1;
-static int hf_ieee8021ad_id = -1;
-static int hf_ieee8021ad_svid = -1;
-static int hf_ieee8021ad_cvid = -1;
+static int hf_ieee8021ad_priority;
+static int hf_ieee8021ad_cfi;
+static int hf_ieee8021ad_id;
+static int hf_ieee8021ad_svid;
+static int hf_ieee8021ad_cvid;
/* dot1ah C-tag fields */
-static int hf_ieee8021ah_priority = -1;
-static int hf_ieee8021ah_drop = -1; /* drop eligibility */
-static int hf_ieee8021ah_nca = -1; /* no customer addresses (c_daddr & c_saddr are 0) */
-static int hf_ieee8021ah_res1 = -1; /* 2 bits reserved; ignored on receive */
-static int hf_ieee8021ah_res2 = -1; /* 2 bits reserved; delete frame if non-zero */
-static int hf_ieee8021ah_isid = -1; /* I-SID */
-static int hf_ieee8021ah_c_daddr = -1; /* encapsulated customer dest addr */
-static int hf_ieee8021ah_c_saddr = -1; /* encapsulated customer src addr */
-
-static int hf_ieee8021ah_etype = -1;
-/* static int hf_ieee8021ah_len = -1; */
-static int hf_ieee8021ah_trailer = -1;
-
-static gint ett_ieee8021ah = -1;
-static gint ett_ieee8021ad = -1;
+static int hf_ieee8021ah_priority;
+static int hf_ieee8021ah_drop; /* drop eligibility */
+static int hf_ieee8021ah_nca; /* no customer addresses (c_daddr & c_saddr are 0) */
+static int hf_ieee8021ah_res1; /* 2 bits reserved; ignored on receive */
+static int hf_ieee8021ah_res2; /* 2 bits reserved; delete frame if non-zero */
+static int hf_ieee8021ah_isid; /* I-SID */
+static int hf_ieee8021ah_c_daddr; /* encapsulated customer dest addr */
+static int hf_ieee8021ah_c_saddr; /* encapsulated customer src addr */
+
+static int hf_ieee8021ah_etype;
+/* static int hf_ieee8021ah_len; */
+static int hf_ieee8021ah_trailer;
+
+static gint ett_ieee8021ah;
+static gint ett_ieee8021ad;
#define IEEE8021AD_LEN 4
#define IEEE8021AH_LEN 18
@@ -396,10 +398,14 @@ proto_register_ieee8021ah(void)
/* dot1ah */
proto_ieee8021ah = proto_register_protocol("IEEE 802.1ah", "IEEE 802.1AH",
"ieee8021ah");
+ ieee8021ah_handle = register_dissector("ieee8021ah", dissect_ieee8021ah,
+ proto_ieee8021ah);
proto_register_field_array(proto_ieee8021ah, hf, array_length(hf));
proto_ieee8021ad = proto_register_protocol("IEEE 802.1ad", "IEEE 802.1AD",
"ieee8021ad");
+ ieee8021ad_handle = register_dissector("ieee8021ad", dissect_ieee8021ad,
+ proto_ieee8021ad);
proto_register_field_array(proto_ieee8021ad, hf_1ad, array_length(hf_1ad));
/* register subtree array for both */
@@ -418,16 +424,10 @@ void
proto_reg_handoff_ieee8021ah(void)
{
static gboolean prefs_initialized = FALSE;
- static dissector_handle_t ieee8021ah_handle;
static unsigned int old_ieee8021ah_ethertype;
static capture_dissector_handle_t ieee8021ah_cap_handle;
if (!prefs_initialized){
- dissector_handle_t ieee8021ad_handle;
- ieee8021ah_handle = create_dissector_handle(dissect_ieee8021ah,
- proto_ieee8021ah);
- ieee8021ad_handle = create_dissector_handle(dissect_ieee8021ad,
- proto_ieee8021ad);
dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AD, ieee8021ad_handle);
ethertype_handle = find_dissector_add_dependency("ethertype", proto_ieee8021ah);
find_dissector_add_dependency("ethertype", proto_ieee8021ad);
@@ -435,6 +435,9 @@ proto_reg_handoff_ieee8021ah(void)
capture_dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AD, ieee8021ah_cap_handle);
capture_dissector_add_uint("ethertype", ETHERTYPE_IEEE_802_1AH, ieee8021ah_cap_handle);
+ ipx_cap_handle = find_capture_dissector("ipx");
+ llc_cap_handle = find_capture_dissector("llc");
+
prefs_initialized = TRUE;
}
else {
@@ -443,9 +446,6 @@ proto_reg_handoff_ieee8021ah(void)
old_ieee8021ah_ethertype = ieee8021ah_ethertype;
dissector_add_uint("ethertype", ieee8021ah_ethertype, ieee8021ah_handle);
-
- ipx_cap_handle = find_capture_dissector("ipx");
- llc_cap_handle = find_capture_dissector("llc");
}
/*