qcacmn: Add AST entry for Destination MAC in RX path

Because of a HW issue we have added a WAR where we do
learning even on destination MAC address. This will ensure
da_is_valid even for forwarding traffic and HW will cache
this entry for subsequent pkts there by we achieve better
throughput in UL.

Change-Id: Ib61693e9ce52b3a1cdcd4c34eabb3d8368b1ef13
此提交包含在:
Tallapragada Kalyan
2018-08-31 19:30:54 +05:30
提交者 nshrivas
父節點 1c6217a666
當前提交 2ae71e0531
共有 4 個檔案被更改,包括 56 行新增3 行删除

查看文件

@@ -587,6 +587,10 @@ int dp_peer_add_ast(struct dp_soc *soc,
ast_entry->next_hop = 1;
ast_entry->type = CDP_TXRX_AST_TYPE_MEC;
break;
case CDP_TXRX_AST_TYPE_DA:
ast_entry->next_hop = 1;
ast_entry->type = CDP_TXRX_AST_TYPE_DA;
break;
default:
QDF_TRACE(QDF_MODULE_ID_DP, QDF_TRACE_LEVEL_ERROR,
FL("Incorrect AST entry type"));
@@ -598,7 +602,8 @@ int dp_peer_add_ast(struct dp_soc *soc,
dp_peer_ast_hash_add(soc, ast_entry);
qdf_spin_unlock_bh(&soc->ast_lock);
if (ast_entry->type == CDP_TXRX_AST_TYPE_MEC)
if (ast_entry->type == CDP_TXRX_AST_TYPE_MEC ||
ast_entry->type == CDP_TXRX_AST_TYPE_DA)
qdf_mem_copy(next_node_mac, peer->vdev->mac_addr.raw, 6);
else
qdf_mem_copy(next_node_mac, peer->mac_addr.raw, 6);