Вопросы по теме 'ebpf'
Linux TC eBPF и параллелизм
Есть ли ограничение на количество экземпляров программ eBPF, которые ядро может запускать одновременно на нескольких процессорах (аналогично проблеме с Python GIL)
В частности, могут ли программы eBPF tc работать на нескольких процессорах...
520 просмотров
schedule
07.06.2023
не удалось создать карту: 22 Неверный аргумент
Я скомпилировал примеры программ bpf, представленные здесь — https://github.com/torvalds/linux/tree/master/samples/bpf , следуя инструкциям. Для большей части программы во время выполнения я получаю эту ошибку:
sudo ./sockex1
failed to create...
1043 просмотров
schedule
22.05.2023
Как получить доступ к регистрам xmm в программе eBPF
Я пытаюсь использовать bcc-tools для отслеживания пользовательского процесса с помощью uprobe, но некоторые функции принимают аргументы с плавающей запятой. Согласно x86_64 ABI, эти значения обычно передаются в регистрах xmm.
Функции eBPF в bcc...
191 просмотров
schedule
01.12.2022
Разрешены ли циклы в программах Linux BPF?
Я думаю о решении репликации пакетов в ядре и пересылке на 5 хостов (unicast). Планируется использовать для этого eBPF/XDP.
Я пытаюсь зациклиться 5 раз, и внутри цикла я планирую клонировать пакет, изменить IP-адрес DST, обновить cksum и отправить...
1470 просмотров
schedule
07.02.2023
Можно ли отслеживать коды eBPF, использующие разные режимы?
Можно ли отслеживать коды eBPF, использующие разные режимы?
Например, если я написал код, который printk("hello world") с помощью kprobe,
смогу ли я впоследствии вызвать код XDP или наоборот?
Я запрограммировал что-то на eBPF, которое...
221 просмотров
schedule
15.11.2022
Основное отличие загрузчиков ebpf
Если я правильно понял, есть разные загрузчики ebpf:
bpf_load.c в исходный код ядра
libbpf
бпфтул
tc
... ‹-- другие?
Каковы основные различия между ними? Всегда ли они взаимозаменяемы? Должен ли я всегда предпочитать libbpf?
206 просмотров
schedule
28.04.2023
Реализует ли BPF_PROG_RUN резервный интерпретатор ebpf?
https://github.com/torvalds/linux/blob/33920f1ec5bf47c5c0a1d2113989bdd9dfb3fae9/include/linux/filter.h#L556-L571 это реализация резервного интерпретатора ebpf?
106 просмотров
schedule
09.11.2022
Зонд EBPF для скомпилированной встроенной функции
Я хотел бы создать программу EBPF для Golang, которая записывает, когда функция вводится и возвращается.
Некоторые проблемы у меня есть:
A. Функции встроены.
B. Замыкания анонимны.
C. Чтение структур Golang.
Вопросы:
A.
В моем...
85 просмотров
schedule
10.07.2022
Как включить /kernel/sched/* в программу BPF?
Я пытаюсь создать пользовательскую программу bpf с помощью bpftrace в Linux, согласно книге BPF Performance Tools. Я попытался включить некоторые файлы из пути linux/kernel/sched/sched.h. Как я могу включить их? (не только из папки /include, но и...
105 просмотров
schedule
21.03.2023
Как получить путь к задаче cgroup в программе eBPF?
Я пытался поиграть с инструментом tcptop BCC от Брендана. Грегг, чтобы узнать больше о том, как работают программы eBPF. Я пытаюсь заставить его распечатать путь CGROUP к задачам.
С моими заржавевшими знаниями системного программирования Linux...
443 просмотров
schedule
24.09.2022
Как подсчитать промахи кеша в памяти mmap (используя eBPF)?
Я хотел бы получить временные ряды
t0, misses
...
tN, misses
где tN — отметка времени (секундное разрешение), а misses — количество раз, когда ядро выполняло дисковый ввод-вывод для моего PID для загрузки отсутствующей страницы области...
171 просмотров
schedule
19.04.2023
Ошибка ebpf bpf_get_socket_uid: неверный рело для insn[0].code 0x85
Я создаю демо-версию ebpf в исходном коде ядра. демо код такой:
cgroup_kern.c
#include <uapi/linux/bpf.h>
#include <uapi/linux/if_ether.h>
#include <uapi/linux/if_packet.h>
#include <uapi/linux/ip.h>
#include...
88 просмотров
schedule
30.12.2023
Как разделить карту ebpf между интерфейсами
Можно ли разделить карту ebpf между двумя сетевыми интерфейсами. Я хочу написать программу XDP и подключить ее к двум устройствам, а именно к eth0 и eth1. Реализация требует, чтобы они оба использовали одну и ту же карту. Можно ли загрузить одну и...
200 просмотров
schedule
04.05.2024
eBPF: печать полезной нагрузки UDP и исходного IP-адреса в шестнадцатеричном формате
Я новичок в eBPF и хочу научиться делать несколько основных вещей. Мой вопрос заключается в том, как написать код C для моего кода eBPF, чтобы напечатать ( bpf_trace_printk ) полезную нагрузку UPD полученного пакета в HEX. Я пробовал безуспешно....
258 просмотров
schedule
16.04.2023
Как вы вычисляете влияние на производительность зонда eBPF?
eBPF стал важным инструментом для простого и быстрого мониторинга процессов. Однако мне не удалось найти, как можно вычислить влияние самого зонда на производительность. Я уверен, что если я перехватываю каждый системный вызов и добавляю какую-то...
156 просмотров
schedule
28.05.2023
eBPF — невозможно прочитать argv и envp из точки трассировки sys_enter_execve
Я изучаю BPF для собственного удовольствия, и мне трудно понять, как читать argv и envp из контекста, переданного моей программе eBPF для sys_enter_execve.
Здесь я покажу свою программу BPF, а затем более подробно объясню, чего я пытаюсь...
101 просмотров
schedule
08.04.2024
Чтение sk_buff с ebpf внутри dev_queue_xmit дает сомнительные данные
Я пытаюсь захватить исходящие кадры Ethernet на локальном хосте до их отправки, вставив kprobe в __dev_queue_xmit() . Однако байты, которые я извлек из структуры sk_buff , не соответствуют захваченным впоследствии пакетам.
До сих пор я пробовал...
48 просмотров
schedule
19.07.2023
Поиск eBPF BPF_ARRAY
Я пытаюсь создать счетчик пакетов с помощью eBPF и XDP. Мне нужен способ отслеживать общее количество полученных пакетов. Поскольку я использую XDP, я использую BPF_ARRAY и увеличиваю его каждый раз при получении пакета. Проблема в том, что я не...
33 просмотров
schedule
29.10.2022
Проблема с отправкой данных из пользовательского пространства в программу bpf с картами
У меня проблема с моей программой bpf. Я получаю сообщение об ошибке при загрузке этой программы. моя программа bpf:
#include <linux/skbuff.h>
#include <linux/netdevice.h>
#include <uapi/linux/bpf.h>
#include...
60 просмотров
schedule
11.04.2023