qcacmn: Fix multicast traffic failure in QWRAP repeater

In the case of qwrap repeater, send the original packet on the
interface where it received and send the packet with dummy src
on the mcast primary interface

Change-Id: I08f64559ff2a9430b140c962117d4d71ab684b8d
CRs-Fixed: 3214360
此提交包含在:
Abishek Ganapathy
2022-06-15 16:58:44 +05:30
提交者 Madan Koyyalamudi
父節點 d5720bc4a3
當前提交 87190fa5f8
共有 4 個檔案被更改,包括 26 行新增3 行删除

查看文件

@@ -1167,6 +1167,20 @@ bool dp_rx_mlo_igmp_handler(struct dp_soc *soc,
dp_rx_debug("Non mlo vdev");
goto send_pkt;
}
if (qdf_unlikely(vdev->wrap_vdev)) {
/* In the case of qwrap repeater send the original
* packet on the interface where it received,
* packet with dummy src on the mcast primary interface.
*/
qdf_nbuf_t nbuf_copy;
nbuf_copy = qdf_nbuf_copy(nbuf);
if (qdf_likely(nbuf_copy))
dp_rx_deliver_to_stack(soc, vdev, peer, nbuf_copy,
NULL);
}
dp_rx_dummy_src_mac(vdev, nbuf);
dp_rx_deliver_to_stack(mcast_primary_vdev->pdev->soc,
mcast_primary_vdev,