[devel] Fw: [sisyphus] I: iproute2fs
Peter V. Saveliev
peet на altlinux.ru
Пт Авг 26 10:52:55 UTC 2011
Ok, тогда переходим в devel на .
On 26.08.2011 14:17, Alexey Gladkov wrote:
> On 26.08.2011 13:00, Peter V. Saveliev wrote:
>> Скоординируем усилия, хотя бы в части обмена информацией? Например, у
>> меня ещё до конца не сформировано ТЗ, обычная история для проектов,
>> начинавшихся just for fun (iproute2fs вообще выросла из statfs, у меня в
>> гитах лежит).
>
> У меня тоже сейчас proof-of-concept :)
>
> У меня не проработана правильная иерархия представления сети на
> файловую систему. Я сначала хочу сделать набросок, а потом последовать
> настоятельному совету kas@ и написать так называемое rfc и обсудить
> его с ядерным апстримом (а там выслушать какой я дебил :).
Надо как-то мне тоже это обсуждение не пропустить. Ибо воистину.
>
>> На данный момент я занят формализацией требований и реализацией базовой
>> архитектуры, а Паша Волнейкин переписывает имплементацию 9P на ctypes
>> (сейчас используется правоверная, но медленная py9p).
>
> Если будет ядерный модуль реализующий uevent'ы в userspace о сети (ну
> и представление в /sys) не упростит ли это вашу реализацию ?
Надо подумать и посмотреть прочие протоколы netlink. Дело в том, что
rtnetlink генерит события именно так, как надо -- добавили адрес А,
пришло событие (пакет) А', послали пакет А' -- добавился адрес А (и на 0
seq_number снова продублировалось событие). Это вообще идеально.
Входящий траффик тогда == лог == данные для playback, которые можно
пихать обратно в rtnetlink, вызывая (в идеале, но не всегда) все те
события, которые они описывают.
Но так не во всех протоколах, скорее всего. Где не так -- там упростит.
И rtnetlink также не всю логику отражает, например, взаимосвязь внезапно
появляющихся ppp-интерфейсов и работы pptp (или tap и openvpn). Если
uevent'ы позволят чуть более широко взглянуть на происходящее -- тоже
упростит жизнь. Чего мне прямо сейчас сильно не хватает -- возможности
связать виртуальный интерфейс с тем, как и кем он был порождён. Правда,
я пока не представляю, как это можно сделать в общем случае.
Кстати, надо таки взглянуть, а что сейчас-то там передаётся :)
>
>> Netlink же выбрал по причине крайнего удобства журналирования (см. про
>> мониторинг событий) и потому, что ооооочень много туда уже торчит --
>> rtnetlink, taskstats, аудит, ipq, wifi и ещё не один десяток всякой
>> всячины. Не нужно писать с нуля протоколы, не нужно копаться в ядре (у
>> меня с этим напряг, больше привлекают юзерспейсные прилады, наследие
>> архитектуры Plan9).
>
> Netlink в линуксе сейчас повсюду. Через него предаётся масса сего и
> это основной механизм общения ядра и userspace.
>
Угу.
--
Peter V. Saveliev
Подробная информация о списке рассылки Devel