Lines Matching refs:pkey
56 static unsigned int sel_ib_pkey_hashfn(u16 pkey) in sel_ib_pkey_hashfn() argument
58 return (pkey & (SEL_PKEY_HASH_SIZE - 1)); in sel_ib_pkey_hashfn()
74 struct sel_ib_pkey *pkey; in sel_ib_pkey_find() local
77 list_for_each_entry_rcu(pkey, &sel_ib_pkey_hash[idx].list, list) { in sel_ib_pkey_find()
78 if (pkey->psec.pkey == pkey_num && in sel_ib_pkey_find()
79 pkey->psec.subnet_prefix == subnet_prefix) in sel_ib_pkey_find()
80 return pkey; in sel_ib_pkey_find()
94 static void sel_ib_pkey_insert(struct sel_ib_pkey *pkey) in sel_ib_pkey_insert() argument
101 idx = sel_ib_pkey_hashfn(pkey->psec.pkey); in sel_ib_pkey_insert()
102 list_add_rcu(&pkey->list, &sel_ib_pkey_hash[idx].list); in sel_ib_pkey_insert()
133 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid_slow() local
138 pkey = sel_ib_pkey_find(subnet_prefix, pkey_num); in sel_ib_pkey_sid_slow()
139 if (pkey) { in sel_ib_pkey_sid_slow()
140 *sid = pkey->psec.sid; in sel_ib_pkey_sid_slow()
158 new->psec.pkey = pkey_num; in sel_ib_pkey_sid_slow()
182 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid() local
185 pkey = sel_ib_pkey_find(subnet_prefix, pkey_num); in sel_ib_pkey_sid()
186 if (pkey) { in sel_ib_pkey_sid()
187 *sid = pkey->psec.sid; in sel_ib_pkey_sid()
206 struct sel_ib_pkey *pkey, *pkey_tmp; in sel_ib_pkey_flush() local
211 list_for_each_entry_safe(pkey, pkey_tmp, in sel_ib_pkey_flush()
213 list_del_rcu(&pkey->list); in sel_ib_pkey_flush()
214 kfree_rcu(pkey, rcu); in sel_ib_pkey_flush()