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 {