Вкомпилировать то в ядро мона...
Точнее сказать, сделать патч для ядра, что бы модуль компилировался при сборки ядра.
А в чем проблема сделать, что бы оно не подгружаемым модулем было, а монолитно? У меня в ядре все части iptables монолитом собираются...
Проблема передачи параметров?
Проблема активации интерфейса до активации модуля?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Собрал я Ваш модуль монолитом, есть некоторые соображения.
В процессе загрузки машины с таким ядром видны ошибки. Из приложенной выдержки из /var/log/messages видно, что модулю не нравиться
отсутствие сети (которая появиться сильно позже).
Feb 28 00:49:29 localhost kernel: ipt_netflow version 1.6 (8192 buckets)
Feb 28 00:49:29 localhost kernel: netflow: registered: /proc/net/stat/ipt_netflow
Feb 28 00:49:29 localhost kernel: netflow: registered: sysctl net.netflow
Feb 28 00:49:29 localhost kernel: netflow: error connecting UDP socket -101
Feb 28 00:49:29 localhost kernel: netflow: remove destination 127.0.0.1:2055 ((null))
Feb 28 00:49:29 localhost kernel: ipt_netflow loaded.
Необходимо проверить, будет ли он корректно функционировать nосле ее подхвата.
Так как при монолитной сборке параметры можно передать только через sysctl (/proc/sys....) есть предложение, не ставить там по умолчанию в destination
127.0.0.1:2055, а оставлять это пустым. Соответственно, в модуле реализовать функционал, в котором при пустом destination он бы не проверял его доступность
(и возможно приостанавливал бы свою работу - раз некуда слать результат, есть ли смысл считать).
Таким образом, на мой взгляд, можно будет избежать соответсвующих ошибок.
Позже, после поднятия сетевых адаптеров (локального коллектора), соответствующим скриптом можно было бы прописывать назначение в /proc/sys/net/netflow/destination,
которое модуль подхватывая на лету фактически запускался.
Надеюсь, Вас заинтересует мои предложения.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
К сожалению нет.
Всё равно спасибо за ответ.
Вкомпилировать то в ядро мона...
Точнее сказать, сделать патч для ядра, что бы модуль компилировался при сборки ядра.
А в чем проблема сделать, что бы оно не подгружаемым модулем было, а монолитно? У меня в ядре все части iptables монолитом собираются...
Проблема передачи параметров?
Проблема активации интерфейса до активации модуля?
Присылайте патч.
чуть позже... работа придавила, но обязательно сделаю и для ядра и для iptables...
ЗЫ
Зарегистрироваться надо, а то как-то уже неудобно анонимом)))
Доброго здоровья!
Собрал я Ваш модуль монолитом, есть некоторые соображения.
В процессе загрузки машины с таким ядром видны ошибки. Из приложенной выдержки из /var/log/messages видно, что модулю не нравиться
отсутствие сети (которая появиться сильно позже).
Feb 28 00:49:29 localhost kernel: ipt_netflow version 1.6 (8192 buckets)
Feb 28 00:49:29 localhost kernel: netflow: registered: /proc/net/stat/ipt_netflow
Feb 28 00:49:29 localhost kernel: netflow: registered: sysctl net.netflow
Feb 28 00:49:29 localhost kernel: netflow: error connecting UDP socket -101
Feb 28 00:49:29 localhost kernel: netflow: remove destination 127.0.0.1:2055 ((null))
Feb 28 00:49:29 localhost kernel: ipt_netflow loaded.
Необходимо проверить, будет ли он корректно функционировать nосле ее подхвата.
Так как при монолитной сборке параметры можно передать только через sysctl (/proc/sys....) есть предложение, не ставить там по умолчанию в destination
127.0.0.1:2055, а оставлять это пустым. Соответственно, в модуле реализовать функционал, в котором при пустом destination он бы не проверял его доступность
(и возможно приостанавливал бы свою работу - раз некуда слать результат, есть ли смысл считать).
Таким образом, на мой взгляд, можно будет избежать соответсвующих ошибок.
Позже, после поднятия сетевых адаптеров (локального коллектора), соответствующим скриптом можно было бы прописывать назначение в /proc/sys/net/netflow/destination,
которое модуль подхватывая на лету фактически запускался.
Надеюсь, Вас заинтересует мои предложения.
Ок подумаю над этим. Или сами шлите патч. :)
Ставлю static char destination_buf[DST_SIZE] = "";
И оно практически так и работает, только все равно как-то криво с ним ядро грузиться....