Это следующий вопрос к моему вчерашнему сообщению: AF-XDP: внедрение сокетов общего Umem
Я только что переместил xsk_umem
-структуру в xsk.h
, таким образом делая Это опубликовано c для моей программы пространства пользователя. Основной процесс теперь копирует свою xsk_umem_info
-структуру в общую память. Другой процесс, использующий в своем сокете shared umem, загружает эту xsk_umem_info
-структуру из разделяемой памяти и передает ее в xsk_socket__create
.
Но теперь возникает другой вопрос: как узнать индекс Сокет shared-umem в xsks_map в моей программе ядра XDP?
В xsk.c
есть функция xsk_set_bpf_maps
, которая записывает socket-fd в карту xsks с индексом queue-id
. Эта функция не вызывается для процесса shared-umem (возможно, потому, что shared umem работает только для процессов с одинаковым идентификатором очереди).
Итак, как мне узнать индекс сокета общего umem в моем xsks- карта