diff options
author | Mokhtar Ben Messaoud <mokhtar.ben-messaoud@sagemcom.com> | 2022-09-28 16:49:53 +0100 |
---|---|---|
committer | Mokhtar Ben Messaoud <mokhtar.ben-messaoud@sagemcom.com> | 2022-10-09 11:25:38 +0000 |
commit | 517d2be1494f341d8f1fec6b9e03b374191e8b38 (patch) | |
tree | 96a164d0b910c6850340d63599ee091a861f1005 | |
parent | a820b439b492fd0896a56ed5e64c1b9ae03eca6c (diff) |
WPS: Multi-AP Profile and Multi-AP Default 802.1Q Settings subelements
Format is defined by Wi-Fi EasyMeshâ„¢ Specification Version 4.0
* 5.2.2 Backhaul STA Configuration (Table 4. Multi-AP Default 802.1Q Setting
subelement format)
* 7.1 AP configuration (Table 15. Multi-AP Profile subelement)
-rw-r--r-- | epan/dissectors/packet-wps.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/epan/dissectors/packet-wps.c b/epan/dissectors/packet-wps.c index e2cc9e52e5..33c30be763 100644 --- a/epan/dissectors/packet-wps.c +++ b/epan/dissectors/packet-wps.c @@ -258,6 +258,9 @@ static const value_string eapwps_tlv_types[] = { #define WPS_WFA_EXT_REQUEST_TO_ENROLL 0x03 #define WPS_WFA_EXT_SETTINGS_DELAY_TIME 0x04 #define WPS_WFA_EXT_MULTI_AP 0x06 +#define WPS_WFA_EXT_MULTI_AP_PROFILE 0x07 +#define WPS_WFA_EXT_MULTI_AP_8021Q 0x08 + static const value_string eapwps_wfa_ext_types[] = { { WPS_WFA_EXT_VERSION2, "Version2" }, @@ -266,6 +269,15 @@ static const value_string eapwps_wfa_ext_types[] = { { WPS_WFA_EXT_REQUEST_TO_ENROLL, "Request to Enroll" }, { WPS_WFA_EXT_SETTINGS_DELAY_TIME, "Settings Delay Time" }, { WPS_WFA_EXT_MULTI_AP, "Multi-AP Extension" }, + { WPS_WFA_EXT_MULTI_AP_PROFILE, "Multi-AP Profile" }, + { WPS_WFA_EXT_MULTI_AP_8021Q, "Multi-AP Profile 8021Q Settings" }, + { 0, NULL } +}; + +static const value_string wps_wfa_ext_multi_ap_profiles_vals[] = { + { 0x01, "Multi-AP Profile-1" }, + { 0x02, "Multi-AP Profile-2" }, + { 0x03, "Multi-AP Profile-3" }, { 0, NULL } }; #define WFA_OUI 0x0050F204 @@ -432,6 +444,8 @@ static int hf_multi_ap_fronthaul_bss = -1; static int hf_multi_ap_teardown_bsses = -1; static int hf_multi_ap_reserved = -1; static int hf_multi_ap_flags = -1; +static int hf_multi_ap_profiles = -1; +static int hf_multi_ap_8021q = -1; static gint ett_wps_tlv = -1; static gint ett_eap_wps_ap_channel = -1; @@ -848,6 +862,15 @@ add_wps_wfa_ext(guint8 id, proto_tree *tree, tvbuff_t *tvb, proto_tree_add_bitmask(elem, tvb, offset, hf_multi_ap_flags, ett_multi_ap_flags, flags, ENC_NA); offset++; + break; + case WPS_WFA_EXT_MULTI_AP_PROFILE: + proto_tree_add_item(elem, hf_multi_ap_profiles, tvb, offset, 1, + ENC_BIG_ENDIAN); + break; + case WPS_WFA_EXT_MULTI_AP_8021Q: + proto_tree_add_item(elem, hf_multi_ap_8021q, tvb, offset, 2, + ENC_LITTLE_ENDIAN); + break; default: break; } @@ -2437,6 +2460,15 @@ proto_register_wps(void) { &hf_multi_ap_flags, { "Multi-AP Flags", "wps.ext.multi_ap_flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, + + { &hf_multi_ap_profiles, + { "Multi-AP Profile", "wps.ext.multi_ap_profile", + FT_UINT8, BASE_HEX, VALS(wps_wfa_ext_multi_ap_profiles_vals), 0x0, NULL, + HFILL }}, + + { &hf_multi_ap_8021q, + { "Primary VLAN ID", "wps.ext.primary_vlan_id", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }}, }; static gint *ett[] = { &ett_eap_wps_attr, |