[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