Lines Matching refs:key
31 char key[0] __aligned(8); member
118 static inline u32 htab_map_hash(const void *key, u32 key_len) in htab_map_hash() argument
120 return jhash(key, key_len, 0); in htab_map_hash()
129 void *key, u32 key_size) in lookup_elem_raw() argument
134 if (l->hash == hash && !memcmp(&l->key, key, key_size)) in lookup_elem_raw()
141 static void *htab_map_lookup_elem(struct bpf_map *map, void *key) in htab_map_lookup_elem() argument
153 hash = htab_map_hash(key, key_size); in htab_map_lookup_elem()
157 l = lookup_elem_raw(head, hash, key, key_size); in htab_map_lookup_elem()
160 return l->key + round_up(map->key_size, 8); in htab_map_lookup_elem()
166 static int htab_map_get_next_key(struct bpf_map *map, void *key, void *next_key) in htab_map_get_next_key() argument
178 hash = htab_map_hash(key, key_size); in htab_map_get_next_key()
183 l = lookup_elem_raw(head, hash, key, key_size); in htab_map_get_next_key()
196 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
214 memcpy(next_key, next_l->key, key_size); in htab_map_get_next_key()
224 static int htab_map_update_elem(struct bpf_map *map, void *key, void *value, in htab_map_update_elem() argument
247 memcpy(l_new->key, key, key_size); in htab_map_update_elem()
248 memcpy(l_new->key + round_up(key_size, 8), value, map->value_size); in htab_map_update_elem()
250 l_new->hash = htab_map_hash(l_new->key, key_size); in htab_map_update_elem()
257 l_old = lookup_elem_raw(head, l_new->hash, key, key_size); in htab_map_update_elem()
299 static int htab_map_delete_elem(struct bpf_map *map, void *key) in htab_map_delete_elem() argument
312 hash = htab_map_hash(key, key_size); in htab_map_delete_elem()
318 l = lookup_elem_raw(head, hash, key, key_size); in htab_map_delete_elem()