|
@@ -1193,18 +1193,12 @@ struct dp_rx_desc *dp_rx_desc_cookie_2_va_be(struct dp_soc *soc,
|
|
static inline void dp_rx_dummy_src_mac(struct dp_vdev *vdev,
|
|
static inline void dp_rx_dummy_src_mac(struct dp_vdev *vdev,
|
|
qdf_nbuf_t nbuf)
|
|
qdf_nbuf_t nbuf)
|
|
{
|
|
{
|
|
- uint8_t random_mac[QDF_MAC_ADDR_SIZE] = {0};
|
|
|
|
qdf_ether_header_t *eh =
|
|
qdf_ether_header_t *eh =
|
|
(qdf_ether_header_t *)qdf_nbuf_data(nbuf);
|
|
(qdf_ether_header_t *)qdf_nbuf_data(nbuf);
|
|
|
|
|
|
- qdf_mem_copy(random_mac, &vdev->mld_mac_addr.raw[0], QDF_MAC_ADDR_SIZE);
|
|
|
|
- random_mac[DP_MAC_LOCAL_ADMBIT_OFFSET] =
|
|
|
|
- random_mac[DP_MAC_LOCAL_ADMBIT_OFFSET] |
|
|
|
|
- DP_MAC_LOCAL_ADMBIT_MASK;
|
|
|
|
- random_mac[DP_RANDOM_MAC_OFFSET] =
|
|
|
|
- random_mac[DP_RANDOM_MAC_OFFSET] ^ DP_RANDOM_MAC_ID_BIT_MASK;
|
|
|
|
-
|
|
|
|
- qdf_mem_copy(&eh->ether_shost[0], random_mac, QDF_MAC_ADDR_SIZE);
|
|
|
|
|
|
+ eh->ether_shost[DP_MAC_LOCAL_ADMBIT_OFFSET] =
|
|
|
|
+ eh->ether_shost[DP_MAC_LOCAL_ADMBIT_OFFSET] |
|
|
|
|
+ DP_MAC_LOCAL_ADMBIT_MASK;
|
|
}
|
|
}
|
|
|
|
|
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
|
#ifdef QCA_SUPPORT_WDS_EXTENDED
|
|
@@ -1283,15 +1277,6 @@ bool dp_rx_mlo_igmp_handler(struct dp_soc *soc,
|
|
NULL);
|
|
NULL);
|
|
}
|
|
}
|
|
|
|
|
|
- if (qdf_nbuf_is_ipv4_igmp_leave_pkt(nbuf) ||
|
|
|
|
- qdf_nbuf_is_ipv6_igmp_leave_pkt(nbuf)) {
|
|
|
|
- qdf_nbuf_free(nbuf);
|
|
|
|
- dp_vdev_unref_delete(mcast_primary_vdev->pdev->soc,
|
|
|
|
- mcast_primary_vdev,
|
|
|
|
- DP_MOD_ID_RX);
|
|
|
|
- return true;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
dp_rx_dummy_src_mac(vdev, nbuf);
|
|
dp_rx_dummy_src_mac(vdev, nbuf);
|
|
dp_rx_deliver_to_stack(mcast_primary_vdev->pdev->soc,
|
|
dp_rx_deliver_to_stack(mcast_primary_vdev->pdev->soc,
|
|
mcast_primary_vdev,
|
|
mcast_primary_vdev,
|