qcacmn: Use same reo hash key for all SOCs in MLO
In case Multi chip MLO configure same hash key for all SOCs in MLO. This change is needed to avoid same flow traffic distributed to multiple REOs. Change-Id: Ib6cde4ae32e58ef2d45c02d640c133458f5bfac5 CRs-Fixed: 3201978
此提交包含在:

提交者
Madan Koyyalamudi

父節點
304559ad0c
當前提交
8889b96325
@@ -48,6 +48,13 @@ dp_mlo_ctxt_attach_wifi3(struct cdp_ctrl_mlo_mgr *ctrl_ctxt)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
qdf_get_random_bytes(mlo_ctxt->toeplitz_hash_ipv4,
|
||||
(sizeof(mlo_ctxt->toeplitz_hash_ipv4[0]) *
|
||||
LRO_IPV4_SEED_ARR_SZ));
|
||||
qdf_get_random_bytes(mlo_ctxt->toeplitz_hash_ipv6,
|
||||
(sizeof(mlo_ctxt->toeplitz_hash_ipv6[0]) *
|
||||
LRO_IPV6_SEED_ARR_SZ));
|
||||
|
||||
qdf_spinlock_create(&mlo_ctxt->ml_soc_list_lock);
|
||||
return dp_mlo_ctx_to_cdp(mlo_ctxt);
|
||||
}
|
||||
@@ -516,6 +523,23 @@ dp_link_peer_hash_find_by_chip_id(struct dp_soc *soc,
|
||||
|
||||
qdf_export_symbol(dp_link_peer_hash_find_by_chip_id);
|
||||
|
||||
void dp_mlo_get_rx_hash_key(struct dp_soc *soc,
|
||||
struct cdp_lro_hash_config *lro_hash)
|
||||
{
|
||||
struct dp_soc_be *be_soc = dp_get_be_soc_from_dp_soc(soc);
|
||||
struct dp_mlo_ctxt *ml_ctxt = be_soc->ml_ctxt;
|
||||
|
||||
if (!be_soc->mlo_enabled || !ml_ctxt)
|
||||
return dp_get_rx_hash_key_bytes(lro_hash);
|
||||
|
||||
qdf_mem_copy(lro_hash->toeplitz_hash_ipv4, ml_ctxt->toeplitz_hash_ipv4,
|
||||
(sizeof(lro_hash->toeplitz_hash_ipv4[0]) *
|
||||
LRO_IPV4_SEED_ARR_SZ));
|
||||
qdf_mem_copy(lro_hash->toeplitz_hash_ipv6, ml_ctxt->toeplitz_hash_ipv6,
|
||||
(sizeof(lro_hash->toeplitz_hash_ipv6[0]) *
|
||||
LRO_IPV6_SEED_ARR_SZ));
|
||||
}
|
||||
|
||||
struct dp_soc *
|
||||
dp_rx_replensih_soc_get(struct dp_soc *soc, uint8_t reo_ring_num)
|
||||
{
|
||||
|
@@ -51,6 +51,8 @@ struct dp_mlo_ctxt {
|
||||
} mld_peer_hash;
|
||||
|
||||
qdf_spinlock_t mld_peer_hash_lock;
|
||||
uint32_t toeplitz_hash_ipv4[LRO_IPV4_SEED_ARR_SZ];
|
||||
uint32_t toeplitz_hash_ipv6[LRO_IPV6_SEED_ARR_SZ];
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -100,4 +102,12 @@ void dp_pdev_mlo_fill_params(struct dp_pdev *pdev,
|
||||
struct dp_soc*
|
||||
dp_mlo_get_soc_ref_by_chip_id(struct dp_mlo_ctxt *ml_ctxt, uint8_t chip_id);
|
||||
|
||||
/**
|
||||
* dp_mlo_get_rx_hash_key() - Get Rx hash key from MLO context
|
||||
* @soc: DP SOC
|
||||
* @lro_hash: Hash params
|
||||
*
|
||||
*/
|
||||
void dp_mlo_get_rx_hash_key(struct dp_soc *soc,
|
||||
struct cdp_lro_hash_config *lro_hash);
|
||||
#endif /* __DP_MLO_H */
|
||||
|
新增問題並參考
封鎖使用者