aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-eapol.c
diff options
context:
space:
mode:
authormaisheri <maisheri.hitesh@gmail.com>2014-12-14 01:44:20 +0530
committerAlexis La Goutte <alexis.lagoutte@gmail.com>2014-12-14 22:36:59 +0000
commit9815dc19fb1cadc506e3da963ff7291bf2538a64 (patch)
tree87615f8ba41f397dda5d413c2dcdb7dba2770e9f /epan/dissectors/packet-eapol.c
parent16f38e9ab27a076418e88fe38edd9b8bcf6a1345 (diff)
Add support for EAPOL-MKA (802.1x-2010)
Use by MACSec Change-Id: I27eee40ddc476435aecd57711c1b3597c2049901 Reviewed-on: https://code.wireshark.org/review/5751 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-eapol.c')
-rw-r--r--epan/dissectors/packet-eapol.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/epan/dissectors/packet-eapol.c b/epan/dissectors/packet-eapol.c
index 6d1c8e38f1..478f3e3861 100644
--- a/epan/dissectors/packet-eapol.c
+++ b/epan/dissectors/packet-eapol.c
@@ -58,6 +58,7 @@ static dissector_table_t eapol_keydes_type_dissector_table;
static dissector_handle_t eapol_handle;
static dissector_handle_t eap_handle;
+static dissector_handle_t mka_handle;
static dissector_handle_t data_handle;
#define EAPOL_HDR_LEN 4
@@ -71,6 +72,7 @@ static dissector_handle_t data_handle;
#define EAPOL_LOGOFF 2
#define EAPOL_KEY 3
#define EAPOL_ENCAP_ASF_ALERT 4
+#define EAPOL_MKA 5
static const value_string eapol_version_vals[] = {
{ EAPOL_2001, "802.1X-2001" },
@@ -85,6 +87,7 @@ static const value_string eapol_type_vals[] = {
{ EAPOL_LOGOFF, "Logoff" },
{ EAPOL_KEY, "Key" },
{ EAPOL_ENCAP_ASF_ALERT, "Encapsulated ASF Alert" },
+ { EAPOL_MKA, "MKA" },
{ 0, NULL }
};
@@ -154,6 +157,11 @@ dissect_eapol(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree_add_item(eapol_tree, hf_eapol_keydes_body, tvb, offset, -1, ENC_NA);
break;
+ case EAPOL_MKA:
+ next_tvb = tvb_new_subset_remaining(tvb, offset);
+ call_dissector(mka_handle, next_tvb, pinfo, eapol_tree);
+ break;
+
case EAPOL_ENCAP_ASF_ALERT: /* XXX - is this an SNMP trap? */
default:
next_tvb = tvb_new_subset_remaining(tvb, offset);
@@ -314,6 +322,7 @@ proto_reg_handoff_eapol(void)
* Get handles for the EAP and raw data dissectors.
*/
eap_handle = find_dissector("eap");
+ mka_handle = find_dissector("mka");
data_handle = find_dissector("data");
dissector_add_uint("ethertype", ETHERTYPE_EAPOL, eapol_handle);