Описание тега netlink

Netlink - это протокол межпроцессного взаимодействия на основе сокетов для систем Linux. В настоящее время, начиная с версии 2.6, это предпочтительный способ связи с пользовательским пространством из ядра.
1 ответ

Ошибка в функции netlink_kernel_create

Я только начал изучать разработку Linux и для целей обучения написал простой загружаемый модуль ядра. Когда я пытаюсь добавить его, введя следующую команду - make -C /lib/modules/$(uname -r)/build M=$PWD modules Я получаю следующую ошибку: ошибка: с…
1 ответ

netlink_unicast возвращает errno -111 (соединение отказано) в режиме демона

У меня есть модуль ядра Linux, использующий Netlink для связи с процессом демона, работающим в пространстве пользователя. На этапе разработки я всегда запускал исполняемый файл демона как обычный процесс (без вызова fork()) и все работало нормально.…
08 апр '13 в 17:33
1 ответ

Уведомление о приостановке / возобновлении операций в Linux

Я работаю на встроенной платформе Linux. Когда я сделаю "echo "mem" > /sys/power/state", система остановится. Я знаю, что ядро ​​и драйвер могут знать, что операция приостановки идет. Но возможно ли, чтобы процесс или приложение в пользовательском п…
1 ответ

Ошибка netlink_broadcast с возвращаемым значением -3

Я не могу передать сообщение netlink в пространство пользователя с помощью следующего кода. Тем не менее, я не могу найти ничего плохого. Моя пользовательская программа может получать широковещательные сообщения других типов, например sock_fd=socket…
0 ответов

Проблемы с сокетом netlink, ядро ​​opps 0002

Я пытаюсь отправить некоторые данные из пользовательского режима в мой модуль ядра. Но когда он что-то отправляет, он вызывает ошибку ядра: Ошибка: невозможно обработать запрос подкачки ядра в объявлении ffff88022f168bc0 IP: [<...>] build_skb + 0xf5…
06 фев '13 в 20:53
1 ответ

libnl на macOS и iOS

Я пытаюсь перенести приложение Linux/Android C на macOS/iOS. У меня есть эта проблема, это приложение использует библиотеку libnl несколько раз, в исходном коде, который вы видите, как: #include &lt;linux/netlink.h&gt; #include &lt;linux/rtnetlink.h…
19 окт '16 в 16:42
1 ответ

Подробности интерфейса Vlan с использованием NETLINK

Я понимаю, что добавление нового интерфейса можно обнаружить, используя тип сообщения RTE_NEWLINK в NETLINK. NETlink отправляет сообщение, с помощью которого мы можем получить индекс и имя интерфейса, используя (if_indextoname & if_nametoindex). Мой…
23 июн '15 в 00:12
2 ответа

Многоадресная передача из ядра в пространство пользователя через Netlink в C

Я пытался написать простую программу, взаимодействующую между ядром и пользовательским пространством, используя Netlink. В основном вот чего я хотел добиться: Программа пространства пользователя начинает привязку к определенной пользователем многоад…
27 мар '14 в 14:52
1 ответ

Netlink дает панику ядра

Я попробовал эту программу. Эта программа отправляет "привет" ядру, и ядро ​​снова отвечает "привет" в пространство пользователя еще раз. Мое требование: пользователь должен отправить "привет" и должен получать сообщения каждые 2 секунды. Что я проб…
25 май '14 в 07:02
1 ответ

Можно ли использовать канал NETLINK_ROUTE для отправки сообщений из модуля ядра в программу пространства пользователя?

Я написал программу пользовательского пространства, которая опрашивает состояние доступных интерфейсов Ethernet на предмет их рабочего состояния, используя netlink розетки с NETLINK_ROUTE протокол.Но теперь я хочу написать модуль ядра, который испол…
10 июл '14 в 07:15
1 ответ

Отправка структуры из ядра в пользовательскую область через netlink

Я пытаюсь отправить структуру из LKM в пользовательскую область, основываясь на этом ответе: сокеты Netlink в C с использованием ядра Linux 3.X Код из самого ответа отлично компилируется, но когда я пытаюсь отправить struct вместо char *Я получаю se…
22 сен '13 в 14:03
1 ответ

Сокет Netlink, libnl - - nl_recvmsgs_default возвращает -22

У меня такая же проблема, как здесь: Netlink сокеты и libnl - nl_recvmsgs_default возвращает -16 (EBUSY) Но nl_recvmsgs_defaul() вернуть это значение ошибки -22 (NLE_MSGTYPE_NOSUPPORT). У кого-нибудь есть идея, почему я получаю эту ошибку? Вот приме…
16 апр '15 в 09:46
2 ответа

Ошибка сокетов NetLink в C++

Недавно я снова начал на C++ приложении. Я использую NetLink для сокетов и Visual Studio для разработки. Я сделал небольшой код, но получил некоторые ошибки. Я включил файлы из NetLink и добавил ws2_32.lib (в компоновщике / общем и в качестве коммен…
11 апр '14 в 21:16
1 ответ

Установите беспроводной канал, используя Netlink API

Я разрабатываю инструмент WiFi в среде Ubuntu Linux 12.04, и мне нужно переключить интерфейс WiFi между разными каналами. В настоящее время я нашел решение в исходном коде Wireshark ws80211_utils.c в функции ws80211_set_freq, но я не знаю, как внедр…
18 фев '14 в 07:31
0 ответов

Разъемы netlink

Я работал с сетевым программированием раньше. Но это мой первый набег в сокеты netlink. Я выбрал тип разъема netlink для подключения. Как и в случае с любым другим компонентом ядра, он также имеет аналог пользователя. Ядро linux имеет пример програм…
03 фев '13 в 18:27
1 ответ

Как отправить команду на сетевой интерфейс с библиотекой netlink

Я начинаю проект, связанный с Wi-Fi, и я завершил один с помощью вызовов Linux ioctl. Теперь я должен сделать то же самое с помощью libnl, поскольку ioctl устарел, я уже прочитал всю основную документацию, но все еще не понимаю, как отправить команд…
1 ответ

Извлечь текущий маршрут из сообщения netlink с кодом

Я пытаюсь отслеживать изменения маршрута с помощью сокета netlink, но как мне получить обновленный адрес маршрута? Код: #include &lt;sys/socket.h&gt; #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;linux/net…
03 авг '12 в 02:11
0 ответов

sendmsg вызывает панику ядра

Я попробовал программу ниже, используя сокеты Netlink, и она работала как шарм. Источник: http://binwaheed.blogspot.in/2010/08/after-reading-kernel-source-i-finally.html Модуль ядра #include &lt;linux/module.h&gt; #include &lt;net/sock.h&gt; #includ…
04 июн '13 в 06:03
2 ответа

insmod: ОШИБКА: не удалось вставить модуль: нет дочерних процессов

Я пытаюсь запустить модуль ядра Linux в ядре Linux. Но что происходит, иногда это удается и запускается, иногда вставка модуля завершается с ошибкой: insmod: ERROR: could not insert module netlinkKernel.ko: No child processes и журналы ядра показыва…
11 мар '16 в 20:01
1 ответ

Слушатель события сокета netlink в ядре

Я использую сокет netlink для связи между приложением пространства пользователя и модулем ядра. Однако я хочу остановить маршрутизацию данных из ядра в пользовательское приложение, когда пользовательское приложение закрывается. Есть ли способ получи…
07 апр '14 в 06:45