struct arg prog_type_id = decode_arg("prog-type-id", factory->params, argc, argv);
int iprog_type_id = ARG_INTEGER(prog_type_id);
+ struct arg name = decode_arg("name", factory->params, argc, argv);
+ const char *sname = ARG_STRING(name);
+
int bfd;
union bpf_attr attr;
/* Just doing exit with 0. */
},
};
-
memset(&attr, 0, sizeof(attr));
attr.prog_type = iprog_type_id;
attr.insns = (uint64_t)(unsigned long)insns;
attr.insn_cnt = ARRAY_SIZE(insns);
attr.license = (int64_t)(unsigned long)"GPL";
+ strncpy(attr.prog_name, sname, sizeof(attr.prog_name) - 1);
+
+ free_arg(&name);
+ free_arg(&prog_type_id);
bfd = syscall(SYS_bpf, BPF_PROG_LOAD, &attr, sizeof(attr));
if (bfd < 0)
struct arg map_type_id = decode_arg("map-type-id", factory->params, argc, argv);
int imap_type_id = ARG_INTEGER(map_type_id);
+ struct arg name = decode_arg("name", factory->params, argc, argv);
+ const char *sname = ARG_STRING(name);
+
int bfd;
union bpf_attr attr = {
.map_type = imap_type_id,
.max_entries = 10,
};
+ strncpy(attr.map_name, sname, sizeof(attr.map_name) - 1);
+
+ free_arg(&name);
+ free_arg(&map_type_id);
+
bfd = syscall(SYS_bpf, BPF_MAP_CREATE, &attr, sizeof(attr));
if (bfd < 0)
err((errno == ENOSYS? EXIT_ENOSYS: EXIT_FAILURE),
.desc = "program type by id",
.defv.integer = 1,
},
+ {
+ .name = "name",
+ .type = PTYPE_STRING,
+ .desc = "name assigned to bpf prog object",
+ .defv.string = "mkfds_bpf_prog",
+ },
PARAM_END
}
},
.desc = "map type by id",
.defv.integer = 1,
},
+ {
+ .name = "name",
+ .type = PTYPE_STRING,
+ .desc = "name assigned to the bpf map object",
+ .defv.string = "mkfds_bpf_map",
+ },
PARAM_END
}
},