LINUX.ORG.RU

Сообщения malord

 

Отправляемые данные в сеть

Форум — Development

В ядре с помощью netfilter в точке NF_IP_POST_ROUTING получаю доступ к исходящим пакетам.
В ф-ции обработчике есть доступ к заполненным заголовкам ip и tcp и к буферу сокета skb
skb->data указывает на начало ip
Далее, если вывести данные которые находятся по skb->data, то можно увидеть, что за tcp заголовком нет данных
(Т.е. в буфер сокета, на данном этапе данные ещё не записаны)
А в skb->data_len указано количество отправляемых данных (не ноль)
Вопрос: Где находится указатель на данные, которые будут переданы в сеть? (Записаны в буфер сокета) (Мне нужно прочесть отправляемые данные. Как это сделать?)

 ,

malord
()

raw в ядре

Форум — Development

Создаю в ядре linux сокет

( читать дальше... )


(Чтоб формировать свои tcp пакеты)
При записи данных в сокет (для отправки) всегда получаю ошибку с номером -89
в файле https://elixir.bootlin.com/linux/v6.10.7/source/arch/alpha/include/uapi/asm/errno.h#L24 Указано следующее

#define	EL2NSYNC	89	/* Level 2 not synchronized */

Я никак не могу понять, что это ошибка значит.
Есть какие-то дополнительные действия при создании raw сокета в ядре? (что за ошибка -89, что она означает? как её исправить?)

 

malord
()

RSS подписка на новые темы