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:

committed by
nshrivas

parent
edd12697e4
commit
4af5584f53
@@ -1987,7 +1987,9 @@ static void dp_wds_aging_timer_fn(void *soc_hdl)
|
|||||||
* Do not expire static ast entries
|
* Do not expire static ast entries
|
||||||
* and HM WDS 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;
|
continue;
|
||||||
|
|
||||||
if (ase->is_active) {
|
if (ase->is_active) {
|
||||||
|
@@ -523,7 +523,6 @@ int dp_peer_add_ast(struct dp_soc *soc,
|
|||||||
"%s: peer %pK mac %02x:%02x:%02x:%02x:%02x:%02x",
|
"%s: peer %pK mac %02x:%02x:%02x:%02x:%02x:%02x",
|
||||||
__func__, peer, mac_addr[0], mac_addr[1], mac_addr[2],
|
__func__, peer, mac_addr[0], mac_addr[1], mac_addr[2],
|
||||||
mac_addr[3], mac_addr[4], mac_addr[5]);
|
mac_addr[3], mac_addr[4], mac_addr[5]);
|
||||||
|
|
||||||
qdf_spin_lock_bh(&soc->ast_lock);
|
qdf_spin_lock_bh(&soc->ast_lock);
|
||||||
|
|
||||||
/* For HMWDS and HWMWDS_SEC entries can be added for same mac address
|
/* 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)
|
if (ast_entry->type == CDP_TXRX_AST_TYPE_MEC)
|
||||||
ast_entry->is_active = TRUE;
|
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);
|
qdf_spin_unlock_bh(&soc->ast_lock);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user