tcinfo
struct tcinfo info;
struct bpf_tcinfo_t *tcinfo = cookie;
if (tcinfo->is_qdisc) {
if (tcinfo->used_len == tcinfo->array_len) {
tmp = realloc(tcinfo->handle_array,
(tcinfo->array_len + 16) * sizeof(struct tc_kind_handle));
tcinfo->handle_array = tmp;
tcinfo->array_len += 16;
tcinfo->handle_array[tcinfo->used_len].handle = info->tcm_handle;
snprintf(tcinfo->handle_array[tcinfo->used_len].kind,
sizeof(tcinfo->handle_array[tcinfo->used_len].kind),
tcinfo->used_len++;
struct bpf_tcinfo_t tcinfo;
tcinfo.handle_array = NULL;
tcinfo.used_len = 0;
tcinfo.array_len = 0;
tcinfo.is_qdisc = false;
dump_class_qdisc_nlmsg, &tcinfo);
tcinfo.is_qdisc = true;
dump_class_qdisc_nlmsg, &tcinfo);
for (i = 0; i < tcinfo.used_len; i++) {
filter_info.kind = tcinfo.handle_array[i].kind;
tcinfo.handle_array[i].handle,
free(tcinfo.handle_array);