qcacmn: Add intra-bss check for NAWDS in tx path
In NAWDS, if ast for self bridge is present in AST table, then the mcast arp frames are getting dropped if peerid for nawds peer is matching ast peerid of self bridge. To fix this, add intra-bss check for NAWDS in tx path. Change-Id: I6f1b44634536c558520aaf0bd0c0155c4b2a4e28
This commit is contained in:

committed by
Madan Koyyalamudi

parent
4905072179
commit
8fb88793e5
@@ -3122,14 +3122,16 @@ void dp_tx_nawds_handler(struct dp_soc *soc, struct dp_vdev *vdev,
|
||||
qdf_ether_header_t *eh = (qdf_ether_header_t *)qdf_nbuf_data(nbuf);
|
||||
|
||||
if (!soc->ast_offload_support) {
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
ast_entry = dp_peer_ast_hash_find_by_pdevid
|
||||
(soc,
|
||||
(uint8_t *)(eh->ether_shost),
|
||||
vdev->pdev->pdev_id);
|
||||
if (ast_entry)
|
||||
sa_peer_id = ast_entry->peer_id;
|
||||
qdf_spin_unlock_bh(&soc->ast_lock);
|
||||
if (qdf_nbuf_get_tx_ftype(nbuf) == CB_FTYPE_INTRABSS_FWD) {
|
||||
qdf_spin_lock_bh(&soc->ast_lock);
|
||||
ast_entry = dp_peer_ast_hash_find_by_pdevid
|
||||
(soc,
|
||||
(uint8_t *)(eh->ether_shost),
|
||||
vdev->pdev->pdev_id);
|
||||
if (ast_entry)
|
||||
sa_peer_id = ast_entry->peer_id;
|
||||
qdf_spin_unlock_bh(&soc->ast_lock);
|
||||
}
|
||||
} else {
|
||||
if ((qdf_nbuf_get_tx_ftype(nbuf) == CB_FTYPE_INTRABSS_FWD) &&
|
||||
qdf_nbuf_get_tx_fctx(nbuf))
|
||||
|
Reference in New Issue
Block a user