qcacmn: Appropriate WDS and MEC entry has been made

Ageout MEC entry after two minutes of inactivity and changes
included to modify existing WDS entry of a peer to MEC on promption

Change-Id: I0ad89671a053250413cbadad2d495f5abff89ac2
CRs-Fixed: 2316368
This commit is contained in:
Sathyanarayanan Esakkiappan
2018-10-23 12:58:07 +05:30
committed by nshrivas
parent edd12697e4
commit 4af5584f53
2 changed files with 13 additions and 2 deletions

View File

@@ -1987,7 +1987,9 @@ static void dp_wds_aging_timer_fn(void *soc_hdl)
* Do not expire static ast entries
* and HM WDS entries
*/
if (ase->type != CDP_TXRX_AST_TYPE_WDS)
if (ase->type !=
CDP_TXRX_AST_TYPE_WDS &&
ase->type != CDP_TXRX_AST_TYPE_MEC)
continue;
if (ase->is_active) {

View File

@@ -523,7 +523,6 @@ int dp_peer_add_ast(struct dp_soc *soc,
"%s: peer %pK mac %02x:%02x:%02x:%02x:%02x:%02x",
__func__, peer, mac_addr[0], mac_addr[1], mac_addr[2],
mac_addr[3], mac_addr[4], mac_addr[5]);
qdf_spin_lock_bh(&soc->ast_lock);
/* For HMWDS and HWMWDS_SEC entries can be added for same mac address
@@ -554,6 +553,16 @@ int dp_peer_add_ast(struct dp_soc *soc,
if (ast_entry->type == CDP_TXRX_AST_TYPE_MEC)
ast_entry->is_active = TRUE;
/* Modify an already existing AST entry from type
* WDS to MEC on promption. This serves as a fix when
* backbone of interfaces are interchanged wherein
* wds entr becomes its own MEC.
*/
if ((ast_entry->type == CDP_TXRX_AST_TYPE_WDS) &&
(type == CDP_TXRX_AST_TYPE_MEC)) {
ast_entry->is_active = FALSE;
dp_peer_del_ast(soc, ast_entry);
}
qdf_spin_unlock_bh(&soc->ast_lock);
return 0;
}