Lines Matching defs:maps

265 static int load_maps(struct bpf_map_data *maps, int nr_maps,
272 fixup_map(&maps[i], i);
274 if (maps[i].fd != -1) {
275 map_fd[i] = maps[i].fd;
280 numa_node = maps[i].def.map_flags & BPF_F_NUMA_NODE ?
281 maps[i].def.numa_node : -1;
283 if (maps[i].def.type == BPF_MAP_TYPE_ARRAY_OF_MAPS ||
284 maps[i].def.type == BPF_MAP_TYPE_HASH_OF_MAPS) {
285 int inner_map_fd = map_fd[maps[i].def.inner_map_idx];
287 map_fd[i] = bpf_create_map_in_map_node(maps[i].def.type,
288 maps[i].name,
289 maps[i].def.key_size,
291 maps[i].def.max_entries,
292 maps[i].def.map_flags,
295 map_fd[i] = bpf_create_map_node(maps[i].def.type,
296 maps[i].name,
297 maps[i].def.key_size,
298 maps[i].def.value_size,
299 maps[i].def.max_entries,
300 maps[i].def.map_flags,
305 i, maps[i].name, errno, strerror(errno));
308 maps[i].fd = map_fd[i];
310 if (maps[i].def.type == BPF_MAP_TYPE_PROG_ARRAY)
341 struct bpf_map_data *maps, int nr_maps)
369 if (maps[map_idx].elf_offset == sym.st_value) {
375 insn[insn_idx].imm = maps[map_idx].fd;
399 static int load_elf_maps_section(struct bpf_map_data *maps, int maps_shndx,
415 /* Get data for maps section via elf index */
420 printf("Failed to get Elf_Data from maps section %d\n",
433 /* Only increment iif maps section */
440 /* Keeping compatible with ELF maps section changes
468 /* Memcpy relevant part of ELF maps data to loader maps */
476 maps[i].name = strdup(map_name);
477 if (!maps[i].name) {
484 /* Symbol value is offset into ELF maps section data area */
487 maps[i].elf_offset = offset;
488 memset(&maps[i].def, 0, sizeof(struct bpf_load_map_def));
489 memcpy(&maps[i].def, def, map_sz_copy);
563 } else if (strcmp(shname, "maps") == 0) {
587 printf("Error: Failed loading ELF maps (errno:%d):%s\n",
598 /* process all relo sections, and rewrite bpf insns for maps */