aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMokhtar Ben Messaoud <mokhtar.ben-messaoud@sagemcom.com>2022-09-28 16:49:53 +0100
committerMokhtar Ben Messaoud <mokhtar.ben-messaoud@sagemcom.com>2022-10-09 11:25:38 +0000
commit517d2be1494f341d8f1fec6b9e03b374191e8b38 (patch)
tree96a164d0b910c6850340d63599ee091a861f1005
parenta820b439b492fd0896a56ed5e64c1b9ae03eca6c (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.c32
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,