Lines Matching refs:pkey
55 static unsigned int sel_ib_pkey_hashfn(u16 pkey) in sel_ib_pkey_hashfn() argument
57 return (pkey & (SEL_PKEY_HASH_SIZE - 1)); in sel_ib_pkey_hashfn()
73 struct sel_ib_pkey *pkey; in sel_ib_pkey_find() local
76 list_for_each_entry_rcu(pkey, &sel_ib_pkey_hash[idx].list, list) { in sel_ib_pkey_find()
77 if (pkey->psec.pkey == pkey_num && in sel_ib_pkey_find()
78 pkey->psec.subnet_prefix == subnet_prefix) in sel_ib_pkey_find()
79 return pkey; in sel_ib_pkey_find()
93 static void sel_ib_pkey_insert(struct sel_ib_pkey *pkey) in sel_ib_pkey_insert() argument
100 idx = sel_ib_pkey_hashfn(pkey->psec.pkey); in sel_ib_pkey_insert()
101 list_add_rcu(&pkey->list, &sel_ib_pkey_hash[idx].list); in sel_ib_pkey_insert()
132 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid_slow() local
137 pkey = sel_ib_pkey_find(subnet_prefix, pkey_num); in sel_ib_pkey_sid_slow()
138 if (pkey) { in sel_ib_pkey_sid_slow()
139 *sid = pkey->psec.sid; in sel_ib_pkey_sid_slow()
159 new->psec.pkey = pkey_num; in sel_ib_pkey_sid_slow()
183 struct sel_ib_pkey *pkey; in sel_ib_pkey_sid() local
186 pkey = sel_ib_pkey_find(subnet_prefix, pkey_num); in sel_ib_pkey_sid()
187 if (pkey) { in sel_ib_pkey_sid()
188 *sid = pkey->psec.sid; in sel_ib_pkey_sid()
207 struct sel_ib_pkey *pkey, *pkey_tmp; in sel_ib_pkey_flush() local
212 list_for_each_entry_safe(pkey, pkey_tmp, in sel_ib_pkey_flush()
214 list_del_rcu(&pkey->list); in sel_ib_pkey_flush()
215 kfree_rcu(pkey, rcu); in sel_ib_pkey_flush()