diff options
author | maisheri <maisheri.hitesh@gmail.com> | 2014-12-14 01:44:20 +0530 |
---|---|---|
committer | Alexis La Goutte <alexis.lagoutte@gmail.com> | 2014-12-14 22:36:59 +0000 |
commit | 9815dc19fb1cadc506e3da963ff7291bf2538a64 (patch) | |
tree | 87615f8ba41f397dda5d413c2dcdb7dba2770e9f /epan/dissectors/packet-eapol.c | |
parent | 16f38e9ab27a076418e88fe38edd9b8bcf6a1345 (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.c | 9 |
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); |