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
Este cometimento está contido em:

cometido por
Madan Koyyalamudi

ascendente
4905072179
cometimento
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))
|
||||
|
Criar uma nova questão referindo esta
Bloquear um utilizador