Lines Matching refs:aentry

67 mlxsw_sp_acl_atcam_is_centry(const struct mlxsw_sp_acl_atcam_entry *aentry)  in mlxsw_sp_acl_atcam_is_centry()  argument
69 return mlxsw_sp_acl_erp_mask_is_ctcam(aentry->erp_mask); in mlxsw_sp_acl_atcam_is_centry()
380 struct mlxsw_sp_acl_atcam_entry *aentry, in mlxsw_sp_acl_atcam_region_entry_insert() argument
384 u8 erp_id = mlxsw_sp_acl_erp_mask_erp_id(aentry->erp_mask); in mlxsw_sp_acl_atcam_region_entry_insert()
394 lkey_id = aregion->ops->lkey_id_get(aregion, aentry->enc_key, erp_id); in mlxsw_sp_acl_atcam_region_entry_insert()
397 aentry->lkey_id = lkey_id; in mlxsw_sp_acl_atcam_region_entry_insert()
402 aentry->enc_key, erp_id, in mlxsw_sp_acl_atcam_region_entry_insert()
403 aentry->delta_info.start, in mlxsw_sp_acl_atcam_region_entry_insert()
404 aentry->delta_info.mask, in mlxsw_sp_acl_atcam_region_entry_insert()
405 aentry->delta_info.value, in mlxsw_sp_acl_atcam_region_entry_insert()
422 struct mlxsw_sp_acl_atcam_entry *aentry) in mlxsw_sp_acl_atcam_region_entry_remove() argument
424 struct mlxsw_sp_acl_atcam_lkey_id *lkey_id = aentry->lkey_id; in mlxsw_sp_acl_atcam_region_entry_remove()
426 u8 erp_id = mlxsw_sp_acl_erp_mask_erp_id(aentry->erp_mask); in mlxsw_sp_acl_atcam_region_entry_remove()
431 aentry->enc_key, erp_id, in mlxsw_sp_acl_atcam_region_entry_remove()
432 aentry->delta_info.start, in mlxsw_sp_acl_atcam_region_entry_remove()
433 aentry->delta_info.mask, in mlxsw_sp_acl_atcam_region_entry_remove()
434 aentry->delta_info.value, in mlxsw_sp_acl_atcam_region_entry_remove()
444 struct mlxsw_sp_acl_atcam_entry *aentry, in mlxsw_sp_acl_atcam_region_entry_action_replace() argument
447 struct mlxsw_sp_acl_atcam_lkey_id *lkey_id = aentry->lkey_id; in mlxsw_sp_acl_atcam_region_entry_action_replace()
448 u8 erp_id = mlxsw_sp_acl_erp_mask_erp_id(aentry->erp_mask); in mlxsw_sp_acl_atcam_region_entry_action_replace()
460 aentry->enc_key, erp_id, in mlxsw_sp_acl_atcam_region_entry_action_replace()
461 aentry->delta_info.start, in mlxsw_sp_acl_atcam_region_entry_action_replace()
462 aentry->delta_info.mask, in mlxsw_sp_acl_atcam_region_entry_action_replace()
463 aentry->delta_info.value, in mlxsw_sp_acl_atcam_region_entry_action_replace()
472 struct mlxsw_sp_acl_atcam_entry *aentry, in __mlxsw_sp_acl_atcam_entry_add() argument
483 aentry->ht_key.full_enc_key, mask); in __mlxsw_sp_acl_atcam_entry_add()
488 aentry->erp_mask = erp_mask; in __mlxsw_sp_acl_atcam_entry_add()
489 aentry->ht_key.erp_id = mlxsw_sp_acl_erp_mask_erp_id(erp_mask); in __mlxsw_sp_acl_atcam_entry_add()
490 memcpy(aentry->enc_key, aentry->ht_key.full_enc_key, in __mlxsw_sp_acl_atcam_entry_add()
491 sizeof(aentry->enc_key)); in __mlxsw_sp_acl_atcam_entry_add()
496 delta = mlxsw_sp_acl_erp_delta(aentry->erp_mask); in __mlxsw_sp_acl_atcam_entry_add()
497 aentry->delta_info.start = mlxsw_sp_acl_erp_delta_start(delta); in __mlxsw_sp_acl_atcam_entry_add()
498 aentry->delta_info.mask = mlxsw_sp_acl_erp_delta_mask(delta); in __mlxsw_sp_acl_atcam_entry_add()
499 aentry->delta_info.value = in __mlxsw_sp_acl_atcam_entry_add()
501 aentry->ht_key.full_enc_key); in __mlxsw_sp_acl_atcam_entry_add()
502 mlxsw_sp_acl_erp_delta_clear(delta, aentry->enc_key); in __mlxsw_sp_acl_atcam_entry_add()
508 list_add(&aentry->list, &aregion->entries_list); in __mlxsw_sp_acl_atcam_entry_add()
514 &aentry->ht_node, in __mlxsw_sp_acl_atcam_entry_add()
522 err = mlxsw_sp_acl_erp_bf_insert(mlxsw_sp, aregion, erp_mask, aentry); in __mlxsw_sp_acl_atcam_entry_add()
526 err = mlxsw_sp_acl_atcam_region_entry_insert(mlxsw_sp, aregion, aentry, in __mlxsw_sp_acl_atcam_entry_add()
534 mlxsw_sp_acl_erp_bf_remove(mlxsw_sp, aregion, erp_mask, aentry); in __mlxsw_sp_acl_atcam_entry_add()
536 rhashtable_remove_fast(&aregion->entries_ht, &aentry->ht_node, in __mlxsw_sp_acl_atcam_entry_add()
539 list_del(&aentry->list); in __mlxsw_sp_acl_atcam_entry_add()
547 struct mlxsw_sp_acl_atcam_entry *aentry) in __mlxsw_sp_acl_atcam_entry_del() argument
549 mlxsw_sp_acl_atcam_region_entry_remove(mlxsw_sp, aregion, aentry); in __mlxsw_sp_acl_atcam_entry_del()
550 mlxsw_sp_acl_erp_bf_remove(mlxsw_sp, aregion, aentry->erp_mask, aentry); in __mlxsw_sp_acl_atcam_entry_del()
551 rhashtable_remove_fast(&aregion->entries_ht, &aentry->ht_node, in __mlxsw_sp_acl_atcam_entry_del()
553 list_del(&aentry->list); in __mlxsw_sp_acl_atcam_entry_del()
554 mlxsw_sp_acl_erp_mask_put(aregion, aentry->erp_mask); in __mlxsw_sp_acl_atcam_entry_del()
560 struct mlxsw_sp_acl_atcam_entry *aentry, in __mlxsw_sp_acl_atcam_entry_action_replace() argument
564 aentry, rulei); in __mlxsw_sp_acl_atcam_entry_action_replace()
570 struct mlxsw_sp_acl_atcam_entry *aentry, in mlxsw_sp_acl_atcam_entry_add() argument
575 err = __mlxsw_sp_acl_atcam_entry_add(mlxsw_sp, aregion, aentry, rulei); in mlxsw_sp_acl_atcam_entry_add()
584 &achunk->cchunk, &aentry->centry, in mlxsw_sp_acl_atcam_entry_add()
595 struct mlxsw_sp_acl_atcam_entry *aentry) in mlxsw_sp_acl_atcam_entry_del() argument
597 if (mlxsw_sp_acl_atcam_is_centry(aentry)) in mlxsw_sp_acl_atcam_entry_del()
599 &achunk->cchunk, &aentry->centry); in mlxsw_sp_acl_atcam_entry_del()
601 __mlxsw_sp_acl_atcam_entry_del(mlxsw_sp, aregion, aentry); in mlxsw_sp_acl_atcam_entry_del()
607 struct mlxsw_sp_acl_atcam_entry *aentry, in mlxsw_sp_acl_atcam_entry_action_replace() argument
612 if (mlxsw_sp_acl_atcam_is_centry(aentry)) in mlxsw_sp_acl_atcam_entry_action_replace()
615 &aentry->centry, in mlxsw_sp_acl_atcam_entry_action_replace()
619 aregion, aentry, in mlxsw_sp_acl_atcam_entry_action_replace()