Необходимо написать модуль, который будет с одной стороны взаимодействовать с сетевым драйвером, а с другой предоставлять пользователю некий интерфейс. Ну допустим как стек протоколов - с одной стороны драйвер , а с другой всякие сокеты (это я для примера привел, не придирайтесь).
Искал-искал я информацию по этому поводу и нашел, что сетевой драйвер реализует некий набор функций для отправки/приема пакетов (hard_start_xmit и т.д.). Но наверно не все так просто, и в тупую вызывать их из моего модуля не есть хорошо (да и даже если в тупую я не особо представляю как это работает). Поэтому хотелось бы посмотреть действующий примерчик, или почитать хорошую статью по этому поводу. Сам я конечно искал и ищу информацию, но пока мои поиски не увенчались успехом. Может кто писал сетевые модули? Или натыкался на информацию?
Еще меня интересует взаимодействие модуля с пользователем. Если не через /proc то что? Системные вызовы?
Вот, в принципе все. Я в этих делах можно сказать новичок и жажду знаний. Но у меня складывается впечатление что в этой области просто какой-то информационный пробел.
Как взаимодействовать с сетевым драйвером?
Модератор: Модераторы разделов
-
- Бывший модератор
- Сообщения: 8259
- Статус: Маньяк
- ОС: Arch, Fedora, Ubuntu
Re: Как взаимодействовать с сетевым драйвером?
Отнюдь, рекомендую найти книгу "Linux: сетевая архитектура. Структура и реализация сетевых протоколов в ядре", КУДИЦ-ОБРАЗ, ISBN 5-9579-0094-X. перевод с огромным количеством ляпов, что неудивительно для всех книг "КУДИЦ", но материал достаточно объёмный.
-
- Сообщения: 4
Re: Как взаимодействовать с сетевым драйвером?
найти книгу "Linux: сетевая архитектура. Структура и реализация сетевых протоколов в ядре", КУДИЦ-ОБРАЗ, ISBN 5-9579-0094-X
Спасибо большое. Сколько искал - а на эту книгу не натыкался.
-
- Сообщения: 974
- Статус: зарёган в пятницу 13
- ОС: Linux
Re: Как взаимодействовать с сетевым драйвером?
Просто она на русском. Есть ещё книги по данной теме в которых всё лучше описано, но они на английском.
-
- Сообщения: 4
Re: Как взаимодействовать с сетевым драйвером?
Просто она на русском. Есть ещё книги по данной теме в которых всё лучше описано, но они на английском.
Не могли бы вы назвать те книги о которых говорили? Я не против иностранных книг, даже наоборот. В некоторых переведенных на русский язык книгах и вправду куча ошибок.
-
- Сообщения: 39
- ОС: Suse Linux
Re: Как взаимодействовать с сетевым драйвером?
Для взаемодействия с драйвером нужен интерфейс у userspace.
Ты не можеш работать непосредственно с драйвером,тоесть с девайсом.
Вот ссылка http://www.freesoftwaremagazine.com/articles/drivers_linux
Там описан самый простой драйвер и интерфейс.
Ты не можеш работать непосредственно с драйвером,тоесть с девайсом.
Вот ссылка http://www.freesoftwaremagazine.com/articles/drivers_linux
Там описан самый простой драйвер и интерфейс.
-
- Сообщения: 4
Re: Как взаимодействовать с сетевым драйвером?
Это я знал. Я имел ввиду взаимодействие модуля (kernelspace) <-> драйвера (kernelspace) и модуля (kernelspace) <-> userspace, а не userspace <-> driver, или userspace <-> hardware.
sovereign писал(а): ↑14.08.2009 14:10Вот ссылка http://www.freesoftwaremagazine.com/articles/drivers_linux
Там описан самый простой драйвер и интерфейс.
А вот за статью спасибо. Лично для меня пригодилась.