Как определить значение кодов возврата для вспомогательных функций BPF? - PullRequest
0 голосов
/ 05 апреля 2019

Я пишу BPF_PROG_TYPE_SOCKET_OPS программу и вижу следующее в /sys/kernel/debug/tracing/trace_pipe:

<...>-12586 [001] ....  6972.409111: 0: update err: -95

при загрузке из-за следующего фрагмента:

ret = bpf_sock_map_update(ops, &sock_ops, &idx, BPF_ANY);
if (ret < 0) {
    bpf_debug("update err: %d\n", ret);
}

Как я могу понять, что означает -95? Когда я смотрю в https://elixir.bootlin.com/linux/latest/source/arch/alpha/include/uapi/asm/errno.h я вижу:

#define ENOCSI      95  /* No CSI structure available */

Это правильный способ найти значение ошибки? И какой смысл в описании, если так?

1 Ответ

1 голос
/ 05 апреля 2019

Ошибка была EOPNOTSUPP с здесь .Это было вызвано тем, что сокет не был заполнен при попытке добавить сокет (т. Е. Должно быть установлено TCP-соединение ).

...