diff --git a/src/core/cntlr_cmdu_generator.h b/src/core/cntlr_cmdu_generator.h
index 02bb976502c2eb798072ac8a838dc915a65763b4..fe6e0d26eddc59e79f4f7c100c46c3f7a7a1ec47 100644
--- a/src/core/cntlr_cmdu_generator.h
+++ b/src/core/cntlr_cmdu_generator.h
@@ -36,4 +36,6 @@ struct cmdu_buff *cntlr_gen_ap_autoconfig_wsc(struct controller *c,
 		struct agent_policy *a, struct cmdu_buff *rec_cmdu,
 		struct tlv *basic_cap, struct tlv *wsc,
 		uint16_t mid);
+struct cmdu_buff *cntlr_gen_topology_query(struct controller *c,
+		uint8_t *origin, char *intf_name);
 #endif
diff --git a/src/core/cntlr_ubus.c b/src/core/cntlr_ubus.c
index 18d5c754dc6b1292e55f387dd70e16d24e88ce7a..84b4b84f3823203a856712403fc21a75d8a868f1 100644
--- a/src/core/cntlr_ubus.c
+++ b/src/core/cntlr_ubus.c
@@ -1630,7 +1630,7 @@ static int cntlr_topology_query(struct ubus_context *ctx, struct ubus_object *ob
 	struct controller *c = container_of(obj, struct controller, obj);
 	char agent[18] = { 0 };
 	uint8_t agent_mac[6] = { 0 };
-	struct cmdu_cstruct *cmdu_data;
+	struct cmdu_buff *cmdu_data;
 
 	blobmsg_parse(topology_query_params, __TOPOLOGY_QUERY_MAX, tb,
 			blob_data(msg), blob_len(msg));