diff --git a/src/ieee1905/cmdu_validate.c b/src/ieee1905/cmdu_validate.c
index 4bdb092af69a228db0a202be47a519be4cfe9bb9..77c05665ee13ecbeff5336316f67ac6ec921d51b 100644
--- a/src/ieee1905/cmdu_validate.c
+++ b/src/ieee1905/cmdu_validate.c
@@ -177,7 +177,7 @@ bool validate_topology_response(struct cmdu_buff *cmdu, struct tlv *tv[][TLV_MAX
 	dbg("parsing topology response |" MACFMT "|CMDU: topology response\n",
 			MAC2STR(cmdu->origin));
 
-	ret = t_cmdu_parse_tlvs(cmdu, tv, a_policy, 11);
+	ret = t_cmdu_parse_tlvs(cmdu, tv, a_policy, 10);
 	if (ret) {
 		dbg("%s: parse_tlv failed\n", __func__);
 		return false;
diff --git a/src/ieee1905/topologyd.c b/src/ieee1905/topologyd.c
index 22da516555fa60ba4503202d6dc9347544aed827..9dc381050eaba4e30881130dd780eb928f458f72 100644
--- a/src/ieee1905/topologyd.c
+++ b/src/ieee1905/topologyd.c
@@ -2861,6 +2861,7 @@ int send_buildcmdu(struct topologyd_private *priv, uint16_t msg_type)
 	blob_buf_init(&b, 0);
 
 	blobmsg_add_u32(&b, "type", (uint32_t)msg_type);
+	blobmsg_add_string(&b, "ifname", "lo");
 
 	if (ubus_lookup_id(priv->ctx, I1905_OBJ, &id)) {
 		dbg("[%s:%d] not present i1905", __func__, __LINE__);