diff --git a/mcast-pa/src/mcast-pa.c b/mcast-pa/src/mcast-pa.c
index cc58de00aca6e48e4b34c29c201cdf1be52b3a7e..33a1d61029784d2bf59fb152686248ce63ded7bf 100644
--- a/mcast-pa/src/mcast-pa.c
+++ b/mcast-pa/src/mcast-pa.c
@@ -679,17 +679,11 @@ mcg_br_entry_show(FILE * f, struct mcg_br_mdb_entry_t *mcge)
 	if (f == NULL)
 		return;
 	if (inet_ntop(AF_INET, &mcge->e.addr.u.ip4, abuf, sizeof (abuf))) {
-		fprintf(f, "brdev %s port %s grp %s join:%d \n", (char *) ll_index_to_name(mcge->br_ifindex),
-			(char *) ll_index_to_name(mcge->e.ifindex), abuf,mcge->joined);
-		fprintf(f,"mac address:%02x-%02x-%02x-%02x-%02x-%02x\n",mcge->e.src_addr.eth_addr[0],mcge->e.src_addr.eth_addr[1],mcge->e.src_addr.eth_addr[2],
-			mcge->e.src_addr.eth_addr[3],mcge->e.src_addr.eth_addr[4],mcge->e.src_addr.eth_addr[5]);
+		fprintf(f, "brdev %s port %s grp %s \n", (char *) ll_index_to_name(mcge->br_ifindex),
+			(char *) ll_index_to_name(mcge->e.ifindex), abuf);
 	}
 	return;
 }
-static int is_zero_mac(uint8_t *mac)
-{
-	return !(mac[0] | mac[1] | mac[2] | mac[3] | mac[4] | mac[5]);
-}
 
 /**
  * @brief compare bridge entries
@@ -707,16 +701,11 @@ mcg_br_entry_equal(struct br_mdb_entry *ex, struct br_mdb_entry *ey)
 			if (memcmp(&ex->src_addr.eth_addr, &ey->src_addr.eth_addr, ETH_ALEN) == 0) {
 				return (1);
 			}
-			else if(is_zero_mac(ey->src_addr.eth_addr)|| is_zero_mac(ex->src_addr.eth_addr))
-			{
-				return 1;
-			}
 		}
 	}
 	return (0);
 }
 
-
 /**
  * @brief gets a head instance of mc group
  * @details just compares mcgroup
@@ -970,7 +959,6 @@ mcg_br_entry_join(struct mcg_br_mdb_entry_t *head)
 	struct mcg_br_mdb_entry_t *mcge;
 	int len = 0;
 	char src[INET_ADDR_SIZE] = { 0 };
-	char lan_save[MCASTPA_STRING_SIZE]={0};
 					/**< ip address of video source - head use only */
 	struct mcastpa_join_leave_t mjl;
 	int res = 0;
@@ -1011,8 +999,6 @@ mcg_br_entry_join(struct mcg_br_mdb_entry_t *head)
 				mjl.flags |= MJL_FLAG_UPDATE;
 			}
 		}
-		//strtok destory the buffer ,save it first
-		memcpy(lan_save,mjl.lan,MCASTPA_STRING_SIZE);
 		list_for_each(pos, &head->mcg_entry) {
 			mcge = (struct mcg_br_mdb_entry_t *) list_entry(pos, struct mcg_br_mdb_entry_t, mcg_entry);
 			mcg_br_entry_srcmac_set(mcge, &mjl);
@@ -1023,7 +1009,6 @@ mcg_br_entry_join(struct mcg_br_mdb_entry_t *head)
 					mcge->joined = 1;
 				syslog(LOG_INFO, "%s:%d join request sent group %s res: %d\n", __FUNCTION__, __LINE__,
 				       group, res);
-				memcpy(mjl.lan,lan_save,MCASTPA_STRING_SIZE);
 			}
 		}
 	}
@@ -1699,7 +1684,7 @@ cache_mdb_entry(struct nlmsghdr *n, int ifindex, struct br_mdb_entry *e)
 	SPRINT_BUF(abuf);
 	struct mcg_br_mdb_entry_t *head;
 	struct mcg_br_mdb_entry_t *mcge;
-	int create = 0;
+
 	syslog(LOG_INFO, "%s:%d \n", __FUNCTION__, __LINE__);
 
 	if (e->state & MDB_PERMANENT)
@@ -1729,14 +1714,9 @@ cache_mdb_entry(struct nlmsghdr *n, int ifindex, struct br_mdb_entry *e)
 					mcge = mcg_br_entry_get(head, e);
 					if (mcge == NULL) {
 						mcge = mcg_br_entry_add(head, e);
-						create = 1;
 					}
 					if (mcge != NULL) {
 						mcge->br_ifindex = ifindex;
-						if(is_zero_mac(mcge->e.src_addr.eth_addr)&& !create)
-							{
-								memcpy(mcge->e.src_addr.eth_addr,e->src_addr.eth_addr,ETH_ALEN);
-							}
 					}
 					mcg_br_entry_join(head);
 				} else {