qcacmn: MEC loopback check even when sa_is_valid not set
There is a case when the multicast/broadcast frame gets loop backed even before a MEC WDS entry gets added, in this case the MEC check based on sa_is_valid will fail, hence added another ast lookup check. Also fix the ast entry iterator to use _safe option, since we are deleting ast entries in the same iterations Change-Id: I0567893783649d991c3623a61c60fbc63d1a24ef
This commit is contained in:

committed by
snandini

parent
fb72b637f7
commit
1c14d5d8e9
@@ -54,14 +54,14 @@ void dp_rx_sec_ind_handler(void *soc_handle, uint16_t peer_id,
|
||||
uint8_t dp_get_peer_mac_addr_frm_id(struct cdp_soc_t *soc_handle,
|
||||
uint16_t peer_id, uint8_t *peer_mac);
|
||||
|
||||
struct dp_ast_entry *dp_peer_ast_hash_find(struct dp_soc *soc,
|
||||
uint8_t *ast_mac_addr, int mac_addr_is_aligned);
|
||||
|
||||
#ifdef FEATURE_WDS
|
||||
int dp_peer_add_ast(struct dp_soc *soc, struct dp_peer *peer,
|
||||
uint8_t *mac_addr, uint8_t is_self);
|
||||
void dp_peer_del_ast(struct dp_soc *soc,
|
||||
struct dp_ast_entry *ast_entry);
|
||||
struct dp_ast_entry *dp_peer_ast_hash_find(struct dp_soc *soc,
|
||||
uint8_t *ast_mac_addr, int mac_addr_is_aligned);
|
||||
#else
|
||||
static inline int dp_peer_add_ast(struct dp_soc *soc, struct dp_peer *peer,
|
||||
uint8_t *mac_addr, uint8_t is_self)
|
||||
@@ -72,6 +72,11 @@ static inline void dp_peer_del_ast(struct dp_soc *soc,
|
||||
struct dp_ast_entry *ast_entry)
|
||||
{
|
||||
}
|
||||
static inline struct dp_ast_entry *dp_peer_ast_hash_find(struct dp_soc *soc,
|
||||
uint8_t *ast_mac_addr, int mac_addr_is_aligned)
|
||||
{
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef DP_LFR
|
||||
|
Reference in New Issue
Block a user