diff --git a/src/1905_tlvs.h b/src/1905_tlvs.h
index 70266183201e65d9cc6dfcf82eb27cffc45e14f6..f979264be8220dff73a6c0cc8248d04ee6779389 100644
--- a/src/1905_tlvs.h
+++ b/src/1905_tlvs.h
@@ -560,12 +560,14 @@ struct tlv_ttl {
 #define IEEE1905_TCLAS_ELEM_ID              (14)
 #define IEEE1905_TCLAS_PROCESSING_ELEM_ID   (44)
 
+/* Normal IEEE1905 element structure */
 struct ieee1905_element {
 	uint8_t element_id;
 	uint8_t length;
 	uint8_t data[];
 } __attribute__((packed));;
 
+/* Extended IEEE1905 element structure */
 struct ieee1905_ext_element {
 	uint8_t element_id;
 	uint8_t element_id_ext;
@@ -573,6 +575,7 @@ struct ieee1905_ext_element {
 	uint8_t data[];
 } __attribute__((packed));;
 
+/* Vendor-specific IEEE1905 element */
 struct ieee1905_vendor_element {
 	uint8_t element_id;
 	uint8_t length;
@@ -581,6 +584,7 @@ struct ieee1905_vendor_element {
 	uint8_t data[];
 } __attribute__((packed));
 
+/* TCLAS element - Type 4 (IPv4) */
 struct ieee1905_tclas_elem_cls_type4_ipv4 {
 	uint32_t src_ip;
 	uint32_t dst_ip;
@@ -591,6 +595,7 @@ struct ieee1905_tclas_elem_cls_type4_ipv4 {
 	uint8_t  param_mask;
 };
 
+/* TCLAS element - Type 4 (IPv6) */
 struct ieee1905_tclas_elem_cls_type4_ipv6 {
 	uint8_t  src_ip[16];
 	uint8_t  dst_ip[16];
@@ -602,6 +607,7 @@ struct ieee1905_tclas_elem_cls_type4_ipv6 {
 	uint8_t  param_mask;
 };
 
+/* TCLAS element - generalized Type 4 */
 struct ieee1905_tclas_elem_cls_type4 {
 	uint8_t classifier_mask;
 	uint8_t ip_version;
@@ -611,6 +617,7 @@ struct ieee1905_tclas_elem_cls_type4 {
 	};
 };
 
+/* TCLAS element - frame classifier types */
 enum ieee1905_tclas_elem_frame_classifier_type {
 	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_ETH = 0,
 	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_TCP_UDP_IP = 1,
@@ -622,13 +629,17 @@ enum ieee1905_tclas_elem_frame_classifier_type {
 	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_DL_PV1 = 7,
 	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_UL_PV1 = 8,
 	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_PV1_FULL = 9,
-	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_IP_EXT= 10,
+	IEEE1905_TCLAS_ELEM_FRAME_CLASSIFIER_TYPE_IP_EXT = 10,
 };
 
+/* TCLAS element - generalized frame classifier */
 struct ieee1905_tclas_elem_frame_classifier {
 	uint8_t type; /**< Belongs to ieee1905_tclas_elem_frame_classifier_type
 					   enumeration */
-	/* classifier mask is put into specific classifier type for ease */
+	/*
+	 * classifier mask is put into specific classifier type for proper structure
+	 * packing
+	 */
 	union {
 		struct ieee1905_tclas_elem_cls_type4 params4;
 	};
@@ -640,12 +651,14 @@ struct ieee1905_tclas_elem {
 	struct ieee1905_tclas_elem_frame_classifier classifier;
 };
 
+/* SCS descriptor - request types */
 enum ieee1905_scs_desc_request_type {
 	IEEE1905_SCS_DESC_REQUEST_TYPE_ADD = 0,
 	IEEE1905_SCS_DESC_REQUEST_TYPE_REMOVE = 1,
 	IEEE1905_SCS_DESC_REQUEST_TYPE_CHANGE = 2,
 };
 
+/* Separate TCLAS processing field */
 struct ieee1905_tclas_processing {
 	uint8_t processing;
 };
@@ -703,7 +716,7 @@ struct ieee1905_mscs_desc {
 
 /* User-friendly structures that might be used in configuration parsing */
 struct ieee1905_scs_desc_usr {
-	uint8_t scsid;
+	uint8_t  scsid;
 	uint32_t intra_access_category_priority;
 
 	/* TCLAS elements */
@@ -748,24 +761,24 @@ struct ieee1905_qos_mgmt_attr_usr {
 	uint8_t attribute_id; /* belongs to ieee1905_qos_mgmt_attr_id enumeration */
 	union {
 		struct {
-			uint16_t start_port;	/**< Start port in port range */
-			uint16_t end_port;		/**< End port in port range */
+			uint16_t start_port;    /**< Start port in port range */
+			uint16_t end_port;      /**< End port in port range */
 		} port_range;
 		struct {
-			uint8_t dscp_policy_id;	/**< DSCP policy ID */
-			uint8_t request_type;	/* practically, this field is not needed
-									   here, but we keep it here in order to
-									   have just one structure for write/recv
-									   functions */
-			uint8_t dscp;			/**< Target DSCP value */
+			uint8_t dscp_policy_id; /**< DSCP policy ID */
+			uint8_t request_type;   /* practically, this field is not needed
+			                           here, but we keep it here in order to
+			                           have just one structure for write/recv
+			                           functions */
+			uint8_t dscp;           /**< Target DSCP value */
 		} dscp_policy;
 		struct {
 			struct ieee1905_tclas_elem_frame_classifier classifier; /**<
-				Complete TCLAS classifier */
+			    Complete TCLAS classifier */
 		} tclas;
 		struct {
-			uint32_t domain_name_len;	/**< Target domain name length */
-			uint8_t *domain_name;		/**< Target domain name */
+			uint32_t domain_name_len;   /**< Target domain name length */
+			uint8_t *domain_name;       /**< Target domain name */
 		} domain_name;
 	};
 };
@@ -774,11 +787,9 @@ struct ieee1905_qos_mgmt_attr_usr {
  * QoS management attribute container
  */
 struct ieee1905_qos_mgmt_usr {
-	uint32_t                           attributes_count;	/**< Number of
-	                                                             attributes
-	                                                             in attributes
-	                                                             field */
-	struct ieee1905_qos_mgmt_attr_usr *attributes;	/**< Array of attributes */
+	uint32_t    attributes_count;   /**< Number of attributes in attributes
+	                                     field */
+	struct ieee1905_qos_mgmt_attr_usr *attributes;  /**< Array of attributes */
 };
 
 #endif	/* _1905_TLVS_H_ */
diff --git a/src/extensions/map/easymesh.h b/src/extensions/map/easymesh.h
index 0a60bb03e9f1ccc8d8977430f48ee69cc7da73b1..13667d8baec85db1749a769a8291670a1616197e 100644
--- a/src/extensions/map/easymesh.h
+++ b/src/extensions/map/easymesh.h
@@ -994,11 +994,28 @@ struct tlv_traffic_sep_policy {
 	} __attribute__((packed)) ssid[];
 } __attribute__((packed));
 
+/** TLV: Error Response Reason codes */
+enum tlv_profile2_reason_code {
+	TLV_PROFILE2_ERR_CODE_REASON_SPR_NOT_FOUND = 0x01,
+	TLV_PROFILE2_ERR_CODE_REASON_TOO_MANY_SPR = 0x02,
+	TLV_PROFILE2_ERR_CODE_REASON_DEF_PCP_NOT_PROVIDED = 0x03,
+	TLV_PROFILE2_ERR_CODE_REASON_TOO_MANY_VLAN_ID = 0x05,
+	TLV_PROFILE2_ERR_CODE_REASON_TS_COMBINED_BSS_UNSUPPORTED = 0x07,
+	TLV_PROFILE2_ERR_CODE_REASON_TS_UNSUPPORTED = 0x0A,
+	TLV_PROFILE2_ERR_CODE_REASON_QM_CONFIGURE_FAIL = 0x0B,
+	TLV_PROFILE2_ERR_CODE_REASON_QM_DSCP_POLICY_REJECTED = 0x0C,
+	TLV_PROFILE2_ERR_CODE_REASON_ONBOARD_AGENT_DPP_FAIL = 0x0D,
+};
 
 /** TLV: Profile-2 error code */
 struct tlv_profile2_error_code {
 	uint8_t reason;
-	macaddr_t bssid[];
+	union {
+		macaddr_t bssid;
+		uint32_t  spr_id;
+		uint16_t  qmid;
+		uint8_t   __dummy[0];
+	} __attribute__((packed));
 } __attribute__((packed));