Начинается процесс сбора вопросов для интервью с Алексеем Кузнецовым, внёсшем огромный вклад в развитие ядра Linux. Последние 10 лет Алексей отстранился от публичных дел, но в конце 90-х и начале 2000-х годов входил в категорию наиболее значительных разработчиков ядра Linux и занимал c 2000 по 2003 год пост мэйнтейнера сетевой подсистемы Linux.
В частности, Алексей довёл до полноценного вида сетевой стек Linux, переработал его для использования на многоядерных системах, доработал поддержку IPv6 и обеспечил средства для управления трафиком. После переработки IP-стека Алексей принялся за переделку поддержки протокола TCP. Результатом стал новый TCP-стек, представленный в ядре Linux 2.2 и до сих пор используемый повсеместно. Из подготовленных Алексеем инструментов наиболее известны наборы утилит iputils (http://www.skbuff.net/iputils/) (ping, tracepath, tftpd, rarpd) и утилиты управления трафиком iproute2 (http://ru.wikipedia.org/wiki/Iproute2) (ip, tc, ss). С 2003 года Алексей занимается развитием продуктов виртуализации компании Parallels.
Свои варианты вопросов следует задавать в комментарии к данной новости. Через неделю вопросы будут обработаны и переданы Алексею, после чего ещё примерно через неделю будут опубликованы ответы.
URL:
Новость: http://www.opennet.me/opennews/art.shtml?num=37802
grep -r 'Alexey Kuznetsov' Documentation/Documentation/DocBook/kernel-hacking.tmpl:
The name 'tasklet' is misleading: they have nothing to do with 'tasks', and probably more to do with some bad vodka Alexey Kuznetsov had at the time.
Для тех, кто не знает английский, вольный перевод:Название "tasklet" вводит в заблуждение: тасклеты никак не связаны с задачами ("тасками"), вероятно они больше связаны с плохой водкой, которую Алексей Кузнецов пил в то время.
Отлично.
А вопрос какой?
> А вопрос какой?Ты перестал пить кон^Wводку по утрам?
Это больше ради прикола было, но можно и вопрос. Выходит, что это он придумал тасклеты. Если так, то такой вопрос: для решения какой задачи он их написал? Ну и второй вопрос: кто такую прикольную документацию про тасклеты написал :)
Не надоело?
Вопрос всего один:Неужели так трудно было сделать нормальное форматирование вывода «ss -p»?
+1))
неужели так трудно патч запилить? да с форматированием как душе угодно?
> неужели так трудно патч запилить? да с форматированием как душе угодно?А смысл? Его ж никто не примет.
ss -p | column -tПодходит?
Костыли - это так юниксвейно. Сначала создать проблему, а потом героически ее преодолевать.
> Костыли - это так юниксвейно.Как известно, "юникс -- стройная система костылей и подпорок". По сравнению с One Microsoft Way такой подход по крайней мере работает диагностируемо и управляемо :]
А вообще предупреждение за попытку раздуть флейм на ровном месте, к тому же не владея терминологией и пихая умные слова не в тему.
> Сначала создать проблему
Т.е. о том, что парсят не только глазами, не слышали.
Да, хорошо, когда утилита смотрит -- tty там на выходе или нет, и соответственно для человека старается сразу сформатировать по-человечески. Но поскольку нормальные люди в выхлоп таких утилит стараются много глазами не смотреть (если приходится, значит, скриптовать пора) -- это не проблема даже особо. :)
> ss -p | column -t
> Подходит?netstat -tp попрощ.
А ss в помойку.
согласно модным трендам, как раз netstat отправится на помойку
Класть на моду, главное - надежность, функциональность и эффективность.
ну уж нет! я только месяца 1.5 назад про него узнал, даже удивился наличию в линаксе аналога sockstat (гыгы), до этого приходилось каждый раз открывать man netstat в этих ваших линаксах
> Вопрос всего один:
> Неужели так трудно было сделать нормальное форматирование вывода «ss -p»?Нормальный вывод, он еще от формата монитора зависеть может
>>так трудно было сделать нормальное форматирование вывода «ss -p»?
> Нормальный вывод, он еще от формата монитора зависеть можетXML не зависит!!!
Алексей, оч интересно, чем Вы сейчас занимаетесь, в какой области работаете?
Дык, в паралелльсе он сейчас работает, пилит Parallels Desktop
Почему утилита ip, например, красивая, понятная, документированная, а tc - чёрт ногу сломит: документация неполная, фрагментированная да ещё и не соответствует действительности? Она писалась в условиях нехватки времени?Когда я пытался выяснить, почему не работают мои правила для tc, я был вынужден лезть в исходники (потому что сообщения об ошибках очень неинформативные), и в итоге обнаружил, что в данном месте принимаются только HEX числа, хотя в документации был пример с DEC
Это сбор вопросов для интервью, а не багзилла.
> Это сбор вопросов для интервью, а не багзилла.Это был всего лишь пример, поясняющий самоочевидный вопрос: почему Кузнецов и Ко так откровенно кладут на документирование своих шедевров?
Присоединяюсь. Когда будет полная документация на tc.
Я надеюсь вы внесли коррективы в документацию? Она вообще то правится как и исходный код.
Можно ссылку на Ваши коммиты, предложенные апстриму, или переписку, на основании которой написали это утверждение?На http://git.kernel.org/cgit/linux/kernel/git/shemminger/iprou.../ наблюдаю довольно разных авторов, включая знакомых.
При отсутствии подтверждения сообщение будет удалено как лживое.
PS: #74 удалено. Просьба при желании разместить повторно потрудиться аргументировать сразу.
> Можно ссылку на Ваши коммиты, предложенные апстриму, или переписку, на основании которой
> написали это утверждение?
> На http://git.kernel.org/cgit/linux/kernel/git/shemminger/iprou.../ наблюдаю
> довольно разных авторов, включая знакомых.
> При отсутствии подтверждения сообщение будет удалено как лживое.Вам корона модератора не жмет, а? Свободу слова давите своим авторитетом? Ну-ну.
> Вам корона модератора не жмет, а?Ещё как жмёт, это ведь не корона, а гиря.
> Свободу слова давите своим авторитетом? Ну-ну.
Ложь давил, давлю и давить буду всеми доступными средствами. Как и тех, кто намеренно пытается смешать понятия "свобода" и "вседозволенность" -- не берите с таких пример.
Возможно, Вы пропустили уйму случаев проявления здесь такой вот "свободы слова" в виде вбросов и намеренной лжи, вот краткая выжимка: http://wiki.opennet.ru/MSSP
Данный случай классифицирован как попытка с уверенным выражением рассказать "этим СПОшникам", что у них плохо и как, не владея ситуацией. Трутся такие порой десятками в неделю. Если хотите почитать коллекцию, пишите почтой.
>[оверквотинг удален]
>> Свободу слова давите своим авторитетом? Ну-ну.
> Ложь давил, давлю и давить буду всеми доступными средствами. Как и
> тех, кто намеренно пытается смешать понятия "свобода" и "вседозволенность" -- не
> берите с таких пример.
> Возможно, Вы пропустили уйму случаев проявления здесь такой вот "свободы слова" в
> виде вбросов и намеренной лжи, вот краткая выжимка: http://wiki.opennet.ru/MSSP
> Данный случай классифицирован как попытка с уверенным выражением рассказать "этим СПОшникам",
> что у них плохо и как, не владея ситуацией. Трутся
> такие порой десятками в неделю. Если хотите почитать коллекцию, пишите
> почтой.Я все же не считаю, что заблуждение или некоторое искажение фактов вызванное (возможно) не пониманием сути - повод для удаления.
Если идет откровенный саботаж в стиле - земля квадратная, да, не спорю, но тут - все лыком шито. Может человек и обращался к кому-то и его послали/забыли, в мире даже коммерческих систем - это не новинка, а в опенсорц - тем более. Ситуации бывают разные.
> Я все же не считаю, что заблуждение или некоторое искажение фактов,
> вызванное (возможно) непониманием сути - повод для удаления.Первое -- да, поэтому и предложил аргументировать утверждение. Второе -- нет, если это искажение (может быть) направлено на введение в заблуждение других.
> Если идет откровенный саботаж в стиле - земля квадратная, да, не спорю,
> но тут - все лыком шито.Прошу глянуть http://wiki.opennet.ru/ForumHelp и п.6, в частности.
У меня уже давно выработан и постоянно корректируется набор эвристик, которые Вам могут быть вовсе не очевидными, но которые помогают идентифицировать и отстреливать такие вот вбросы. Что самое смешное, их авторы не осознают даже намёки на то, по каким признакам происходит идентификация, и продолжают ломиться ровно так же.
Подобное наблюдается не только на opennet и не только в разрезе попыток дискредитации фрисофта, кросс-вбросная статистика тоже набирается по минимум трём направлениям в разных местах. Занятно то, что некоторые методы "расползаются" по таким malcomments.
> Может человек и обращался к кому-то и его послали/забыли, в мире даже коммерческих
> систем - это не новинка, а в опенсорц - тем более. Ситуации бывают разные.Разумеется. Но удалённое утверждение было сделано во вполне конкретном контексте проекта iproute2. Если нет -- оно является бессодержательным.
Давайте проверим: раз уж Вы копали реализацию вместо документации -- сделайте небольшой патч на документацию и предложите его апстриму либо пришлите мне, а я займусь работой с апстримом (если неудобно по части английского или ещё как). По результатам отпишемся сюда. Если именно в этом проекте пошлют со внятным коммитом -- берусь принести извинения и попросить Максима восстановить удалённый мной комментарий.
Сейчас для обработки сетевых подключений можно использовать GPU? Хм... как включить?
Вопрос: участие в разработке СПО «окупилось»? Я имею ввиду не деньги, а опыт, связи и т.п.
А мне бы хотелось узнать чисто технические аспекты работы.
Как именно общался с разработчиками (почта? какой именно клиент, какие рассылки,… или ещё как), каким ПО для разработки пользовался (vim|emacs|IDE|…), как отлаживал|профайлил этот сетевой стэк.
Хотя бы вкратце.
И второе — почему этим занялся и почему потом бросил.
>каким ПО для разработки пользовался (vim|emacs|IDE|…)каким ПО для разработки пользовался (vim|emacs|IDE|…дистр…винда:D)
Вот тут есть ответ почему бросил
" C середины 90-х я был одним из мейнтейнеров Linux. Тогда все общение происходило через конференции, линуксные мэйл-листы. Часто агрессивно с кем-то ругался, не помню даже по каким поводам. Сейчас это смешно вспоминать. Как мейнтейнер не только сам что-то делал, но и приходилось контролировать других. Тех, кто с моей точки зрения делал ерунду, нужно было запинывать, а тех, кто не ерунду – поддерживать. Это постоянные конфликты, меня это сильно изматывало. С какого-то момента я стал замечать признаки забронзовения. Скажешь или даже сделаешь какую-то чепуху и через некоторое время обнаруживаешь, что это уже считается правильным, просто потому что ANK (псевдоним Алексея) так думает. Появились сомнения, не использую ли я свой авторитет просто для сохранения status quo. Каждое утро начиналось с борьбы с самим собой, а потом с окружающим миром. В 2003 году мне это окончательно надоело и я постепенно ушел из публичного поля, а затем и вообще сменил область деятельности. Тогда же я начал свой первый проект в Parallels. Надо было реализовать живую миграцию контейнеров, это было очень сложно"
Почему в Linux нет поддержки MPLS (патчи не в счет)? Очень, очень хотелось бы получить их коробки полноценный маршрутизатор с MPLS, VRF-ами, MPBGP и прочими вкусностями.
А это что? http://sourceforge.net/apps/mediawiki/mpls-linux/index.php?t...
"MPLS for Linux is a open source effort...". Последнее изменение - 2011 год, ядро 2.6.
Даладн!
Вот в только что собираемом 3.11 выдало в make oldconfig:
>MPLS: GSO support (NET_MPLS_GSO) [N/m/y/?] (NEW).
Сейчас пилят поддержку МПЛС в OpenVSwitch. А данное изменение лишь вспомогательное.
как стать майнтейнером ядра ?
> как стать майнтейнером ядра ?См. http://kernelnewbies.org/ и, в частности, http://kernelnewbies.org/KernelJanitors
Если хочется послушать живых людей и по-русски -- стоит отлавливать parallels'овцев, они порой объявляются на конференциях (на LVEE 2013 был Андрей Вагин, на OSDN 2013 подумывает приехать другой человек). Насколько знаю, у них на постсоветской территории наиболее сильная ядерная команда.
http://lifehacker.ru/2013/08/01/ank/
Тут уже освещены некоторые вопросы.
"Сейчас использую версию Fedora 13 – она, мягко говоря, не самая новая. Я всегда использую ту версию, от которой отпочковался соответствующий RHEL. Раз в несколько лет выходит новый RedHat, тогда я себе инсталлирую новую систему. А потом несколько лет ничего не меняю. Скажем, лет по 5. Не представляю, какая новая возможность ОС должна быть, чтобы это принудило меня к апдейту. Ведь я ей пользуюсь как редактором, которым я пользовался еще 20 лет назад."наш человек.
забавно, на фото на Кокса похож, только без бороды.
ну и журнализы же не могут не поумничать:
"(контейнеры – технология виртуализации на уровне операционной системы, придуманная компанией Parallels, применяемая сегодня в Facebook, Google и т.п.)"
На каком ядре будет ближайшее OpenVZ-ядро? Будет ли поддержка и сборка пакетов для других дистрибутивов, например Ubuntu 14.04 LTS? Как много осталось наработок в ядре кампании Parallels, которые комьюнити пока отказывается принимать? Кода мы увидим полную интеграцию OpenVZ-ядер в апстрим?Не чувствуете ли вы всеростущую сложность в сетевой подсистеме? Каковы дальнейшие, по вашему мнению, пути развития сетевой подсистемы Linux? Почему, на ваш взгляд, удобная система etcnet не нашла своего применения за пределами дистрибутива AltLinux?
> На каком ядре будет ближайшее OpenVZ-ядро? Будет ли поддержка и сборка пакетов
> для других дистрибутивов, например Ubuntu 14.04 LTS? Как много осталось наработок
> в ядре кампании Parallels, которые комьюнити пока отказывается принимать? Кода
> мы увидим полную интеграцию OpenVZ-ядер в апстрим?
> Не чувствуете ли вы всеростущую сложность в сетевой подсистеме? Каковы дальнейшие, по
> вашему мнению, пути развития сетевой подсистемы Linux? Почему, на ваш взгляд,
> удобная система etcnet не нашла своего применения за пределами дистрибутива AltLinux?Тут я могу ответить и без Алексея, на ядре RHEL 7, 3.10: http://forum.openvz.org/index.php?t=msg&goto=50243&
Сколько денег вы получили от корпорации, курирующий проект создания сетевого стека в Linux?
> Сколько денег вы получили от корпорации, курирующий проект создания сетевого стека в
> Linux?О, теперь мы знаем, почему у язена нет девушки. Он их всех сразу о возрасте спрашивает и требует паспорт.<
Алексей, какие недостатки в Линукс Вы сейчас видите, что по Вашему недостает современному Линуксу, чтобы набрать популярность? интерестно Ваше виденье
> Алексей, какие недостатки в Линукс Вы сейчас видите, что по Вашему недостает современному Линуксу, чтобы набрать популярность? интерестно Ваше виденьеЛюбой разумный человек видит в линуксе всего один "недостаток", мешающий набрать популярность: отсутствие агрессивного пиара во всех СМИ и активного впаривания по OEM.
Какие советы Вы бы дали программисту, который хочет помочь написанию кода Linux, но не знает с чего начать?Кажется, что код Linux просто невозможно понять, настолько это большой проект. Как Вы справляетесь со сложностями в понимании работы всех его компонентов?
Когда запилят _полноценные_ бриджи? Или хотя бы знающие про vlan 802.1q trunk, а не режущие "молча" теги, как текущая реализация?
Ну и недостижимая (в текущей реализации стека) мечта: манипуляции mac-адресами в привязке к интерфейсу, с которого они были выучены.
Все на что вы жалуетесь, есть в ядре и работает. Просто руки должны быть прямыми.
> Все на что вы жалуетесь, есть в ядре и работает. Просто руки
> должны быть прямыми.Тогда вот такая задача на понимание. Дано:
eth0 inet 192.168.0.0/24
eth1 inet 192.168.0.0/24
Собственно, задача независимо обслужить оба сегмента. Не вникая в детали, упирается в общую arp-таблицу.Насчёт 802.1q: да, это обходится, но в текущем виде - через анус. Конкретно, попробуйте собрать q-in-q наиболее очевидным (для меня, во всяком случае) образом:
eth0.vlan99<>br0.vlan{99,199,299}.
В смысле, "запаковать" в vlan99 vlan'ы (99,199,299), как это l2+ свитчи делают. У меня, помнится, "справа" теги пропадали.
> Тогда вот такая задача на понимание. Дано:
>eth0 inet 192.168.0.0/24
>eth1 inet 192.168.0.0/24Мне думается обслуживать на одном, скажем так, логическом роутере пересекающиеся сети на двух разных сегментах не сможет ни одна ОС. Это в принципе невозможно: как вы будете разруливать ситуацию с входящим трафиком на пересекающиеся ip? Надо использовать net namespaces, и делать два виртуальных роутера.
>eth0.vlan99<>br0.vlan{99,199,299}.
Не очень понятно: вы подняли на интерфейсе только один vlan, и удивляетесь почему остальные на нем не видны? Что включено в бридж?
> ip? Надо использовать net namespaces, и делать два виртуальных роутера.Во-во. Хатю vrf.
>>eth0.vlan99<>br0.vlan{99,199,299}.
> Не очень понятно: вы подняли на интерфейсе только один vlan, и удивляетесь
> почему остальные на нем не видны? Что включено в бридж?vconfig add eth0 99
brctl addbr br0
brctl addif br0 vlan99
vconfig add br0 99; vconfig add br0 199; vconfig add br0 299Признаю, задача несколько "сферична", т.к. в большинстве случаев достаточно
"vconfig add vlan99 99". Могу привести ещё случай.Попытаемся использовать бридж как "верёвку" для пропуска vlan'ов (нарвался в l2-топологии для виртуализации):
eth0.vlan[2,3,4]<>tap1<>br0<>tap2<>eth0.vlan[2,3,4]>>{BRIDGE VLAN 2,3,4}
Слева vlan'ы "втыкаются" в туннели к клиентам, для простоты опустил.
Справа я сбриджевал на второй виртуалке "протянутые" через br0 vlan'ы с первой. Дал ip, смаршрутизировал и т.д. Казалось бы, в чём подвох? А вот в чём: клиенты слева без проблем ходят в интернет, НО!!! - не видят друг друга, т.к. не ходит arp.
И вот здесь приходит осознание, что наш br0 совсем даже не "верёвка", а больше похож на "тупой" свитч, не особо разбирающийся в vlan (ладно, хоть теги не режет).
Конкретнее: клиент с vlan2 отправляет arp-who-has, тот разбегается по бродкасту. Клиент с vlan4 отвечает "это я", ответ бежит через br0 в vlan4 и через мега-бридж справа отправляется в vlan2 (пока всё нормально). Но вот теперь пакет пытается пройти обратно черз br0, а то его дропает! Почему? А он его уже видел, и т.к. vlan tag линуховой реализации бриджа довольно-таки пох. - устраняет "петлю" как умеет...
> Во-во. Хатю vrf.Ну так в чем проблема?) Классического vrf в linux нет, но можно разделить на NS-ы. Руками через iproute это наверное запарно, но можно попробовать через lxc например.
> Конкретнее: клиент с vlan2 отправляет arp-who-has, тот разбегается по бродкасту. Клиент с vlan4 отвечает "это я"
Не понял смысла совсем. Клиент из v4 слышит бродкаст из v2? Зачем вообще нужны vlan-ы, если в разных vlan-x клиенты должны ловить бродкасты друг друга?
http://openvswitch.org/
не то?
> http://openvswitch.org/
> не то?[Шёпотом] Оно функции ядра использует.
И да, в сочетании, скажем, со свитчами HP (e.g. 2920) - будет профит.
Не совсем к "бывшему" разработчику сетевого стека, но всё же:
планируется ли полноценный MPLS-стек?
Делает ли труд над свободным ПО свободным? А за деньги?
Arbeit macht frei
какие проблемы у GNU/Linux вы видите, как вы предлагаете их решать?
Многие использующие Linux в роли маршрутиризатров критикуют его за отсутствие ядерной реализации CARP, аналогичной FreeBSD, OpenBSD. Что можете сказать по этому поводу?
> Многие использующие Linux в роли маршрутиризатров критикуют его за отсутствие ядерной реализации CARP, аналогичной FreeBSD, OpenBSD. Что можете сказать по этому поводу?А зачем VRRP запихивать в ведро?
Когда будет портирован Netgraph в Linux?
Портирован никогда не будет из-за лицензионных ограничений. Но может своё что-то подобное запилится, но, видимо, оно никому особо и не надо.
Алексей, почему развитие сетевой подсистемы ядра Linux остановилось? С начала двухтысячных ничего нового, в документации и примерах tc описываются поведение серверов и скорости десятимегабитных сетей. Неужели всё уже сделано и не хочется что то переделать, улучшить? Спасибо.
> Алексей, почему развитие сетевой подсистемы ядра Linux остановилось? С начала двухтысячных
> ничего нового, в документации и примерах tc описываются поведение серверов и
> скорости десятимегабитных сетей. Неужели всё уже сделано и не хочется что
> то переделать, улучшить? Спасибо.Ну как же "ничего нового"? Одно введение RPS/RFS/XFS чего стоит. Так же сейчас очень активно пилится nftables (хотя и после более двух лет затишья), и есть очень большая вероятность, что его в течение года примут в мэйнлайн. Так же добавлено очень много расширений в TC (шедулеры, классификаторы, actions). Ну и куча всяких мелких плюшек. Документация - да, больное место. Но большинство примеров правильного применения легко гуглится и находится мэйл-листе netdev вместе с патчем для поддержки фичи.
Какие рабочие задачи вы решаете сейчас?
> В Evernote храню там заметки и свои персональные данные, такие как копия паспорта.Why. :(
Обращались ли к вам с просьбами вставить бекдор в разрабатываемые вами продукты.
Вопросы, конечно же, есть.1) Планируется ли когда либо создание актуальной документации для утилиты tc? Сейчас документация мягко говоря не актуальна и приходится лазить в код ядра, чтобы хотя бы минимально понять как с ним работать, что уменьшает целевую аудиторию в разы
2) Планируется ли добавить понятное объяснение, как конфигурировать r2q (ошибка HTB: quantum of class 10001 is big/small), хотя бы вот такое http://www.stableit.ru/2013/07/tc-htb-r2q.html
3) Почему нельзя сменить класс root htb qdisk'а без удаления и добавления его заново?
4) Будет ли продолжено развитие iproute2? В данный момент ощущение, что оно уже долгие годы заброшено и не развивается вовсе
5) Будет ли когда-либо в продукта Parallels (например, в PCS/OpenVZ) хороший шейпер? Или же нам придется на Вашем же tc городить огород из костылей в стиле этого - https://github.com/FastVPSEestiOu/openvz-network-shaper :)Одинцов Павел, CTO FastVPS
> 5) Будет ли когда-либо в продукта Parallels (например, в PCS/OpenVZ) хороший шейпер? Или же нам придется на Вашем же tc городить огород из костылей в стиле этого - https://github.com/FastVPSEestiOu/openvz-network-shaper :)Если вы читали форум OpenVZ - то поняли бы что не будет. Там уже лет 5 гуляет набор патчей которые добавляли учет трафика и шейпер.. Коментарий dev@parallels.com (тогда еще dev@swsoft.com) был в стиле - нафик надо добавлять это в свободный продукт - тогда никто не будет покупать закрытый.
Так в платном тоже нету! :) То, что есть - дичайше криво.
в платной виртуоззе - есть, во всяком случае следы в конфигах были найдены..
да и dev@ тоже об этом говорил..
Он только для исходящего трафика, увы.
> 1) Планируется ли когда либо создание актуальной документации для утилиты tc?Хорошо бы заинтересованным скинуться временем и "закэшировать" результаты вычитки кода в виде таковой. Проверено на себе (применительно к другим случаям), помогает.
> 1) Планируется ли когда либо создание актуальной документации для утилиты tc? Сейчас
> документация мягко говоря не актуальна и приходится лазить в код ядра,
> чтобы хотя бы минимально понять как с ним работать, что уменьшает
> целевую аудиторию в разы1. Маны, которые идут комплектом, вполне объясняют большинство основных моментов. Если же говорить о LARTC хауту, то да, оно немного старовато, но в маны вполне актуализированы, и большинство фич там описано. По поводу сложности TC - QoS никогда не был простой штукой. Если хотите понимать, как им пользоваться, то надо хотя бы базовые понятия освоить без привязки к платформе. Куча примеров использования так же гуглится на раз. Будут теоретические знания и практика - будет и понимание, а с наскока эту тему осилить задача не из простых.
> 2) Планируется ли добавить понятное объяснение, как конфигурировать r2q (ошибка HTB: quantum
> of class 10001 is big/small), хотя бы вот такое http://www.stableit.ru/2013/07/tc-htb-r2q.html2. По поводу HTB - Алексей не является автором данной дисциплины очереди. Но ничто не мешает Вам отправить патч с изменением в мане для данной дисциплины на рассмотрение. Документация - больная тема, и этот вопрос в мэйл-листах периодически поднимается.
> 4) Будет ли продолжено развитие iproute2? В данный момент ощущение, что оно
> уже долгие годы заброшено и не развивается вовсе4. Что Вы имеете в виду под iproute2 не вполне понятно. Набор юзерспейсовых утилит для управления сетевым стеком (вполне себе развивается с каждым релизом ядра по мере добавления фич, которыми надо управлять) или сам сетевой стек (тоже очень активно развивается, но хотя не семимильными шагами)?
Чем была продиктована необходимость создания столь сложной структуры iptables? В сравнении, например - pf OpenBSD.
Будет ли реализован RSTP?
> Чем была продиктована необходимость создания столь сложной структуры iptables? В сравнении, например - pf OpenBSD.Очевидно, что iptables является не только фаерволом и натом, но и инфраструктурой для произвольных операций с пакетами. Т.е. заменяет не только pf, но и netgraph. Который, заметим, в разы сложнее.
ну pf конечно интересен но и функционал у него слабенький, шах в лево-шаг в право и городи огород.
> Чем была продиктована необходимость создания столь сложной структуры iptables?А в чем сложность iptables ? Чего бы вам хотелось там упростить ?
> Чем была продиктована необходимость создания столь сложной структуры iptables? В сравнении,
> например - pf OpenBSD.Оно сложно ровно до момента внимательного прочтения документации.
Вы владете 10 пальцевым вводом? Вы пользуетесь стандартной раскладкой qwerty или что то вроде dvorak для программистов? Какую клавиаутуру вы предпочитаете?Какую DE предпочитаете (по удобству)? Что вы думаете о большенстве современных DE?
Какой дистрибутив вы порекомендуете вашим простым друзьям/роджственникам/дедушкам/бабушкам?
Как вы относитесь к планшетам? Вы пользуетесь планшетом?
Какими электронными устройствами вы пользуетесь? Смартфон, электронная книга, ноутбук?
Очень большой класс устройств. Телефоны, планшеты, ноутбуки, очки как google glass и устройства вживленные в организм как в deus ex, и все возможно на линуксе. Какие классы наиболее жизнеспособны? Каким вы видите будущее?
Вы как технорь - есть ли что, что по вашим наблюдениям не хватает в развитии технологий? Вы бы что-то поменяли?
Как вы отдыхаете? Кино, книги, сериалы, бар-кафе, природа?
Вы пользуетесь чем то вроде GTD или разными системами планирования? Техниками вроде помидоро?
Какая обстановка на ваш взгляд помогает комфортно программировать?
Понимаю, что не по теме, но в тему, Shorewall - ОЧЕНЬ облегчает работу с iptables и tc.
Вопрос: Что ты думаешь об интерфейсе сетевого стека plan9(о plan9, вообще)? Почему не появилось желание сделать что-нибудь подобное в linux?
- Почему в линуксе нельзя узнать сколько можно записать в буфер сокета?
- Почему нет kqueue? (epoll не даёт почти никакой инфы об эвенте)
- Почему команда ip используется для настройки L2 вместо ifconfig?
>- Почему в линуксе нельзя узнать сколько можно записать в буфер сокета?это не беда. беда, что Linux allways fail on set SO_SNDLOWAT
>- Почему нет kqueue? (epoll не даёт почти никакой инфы об эвенте)
чего именно не хватает?
>- Почему команда ip используется для настройки L2 вместо ifconfig?
имхо, вопрос глупый. ничто не мешает сделать обёртку, чтобы l2-функции управлялись отдельным бинарником, который просто звал ip с нужными аргументами. а ip vs ifconfig - первый работает через netlink, второй - через proc + ioctl.
Да всего в epoll не хватает.
Даже udata раздельно для read и write сделать нельзя без костылей.
Не хватает чтобы сразу прилетал размер полученных данных/размер данных которые можно записать, еоф, код ошибки для данного дескриптора+операции, чтобы можно было получать сразу и udata (размерности size_t) и дескриптор fd на котором случился эвент.
Не хватает возможности вливания сразу массива за один вызов.
1)как вы оцениваете перспективы nftables?
2)чего еще с вашей точки зрения не хватает в сетевой подсистеме сейчас?
3)как вы оцениваете перспективы такий вещей как netmap(freebsd) и intel dpdk?
стоит ли их тащить в ядро, или же развивать PACKET_MMAP?
Алексей решая общую задачу по ограничению полосы пропускания, не приходила ли вам мысль сделать "человеческий" интерфейс для управления этими вещами, вырвиглазный tc уныл чуть более чем полностью.Интерфейс/утилита для прозрачного и легкого шейпинга трафика например по сетям до сих пор не написана.
Тысячи провайдеров и админов отдали бы души дьяволу за возможность шейпнга по подсетям в Linux с конфигом по типу ipfw (о существовании форка ipfw я в курсе, но своим появлением он как раз и обязан тем, что шейпинг в Linux унылое г.но).
> Тысячи провайдеров и админов отдали бы души дьяволу ...В реальном мире тысячи админов почему-то переходят на tc из-за его гибкости и возможностей. А ipfw с его пайпами подходит разве что для домонетов.
Что действительно плохо в tc, так это отсутствие доков вменяемых.
> Начинается процесс сбора вопросов для интервью с Алексеем КузнецовымВнимание всех попытавшихся развести флейм или усугубить офтопик: "сбор вопросов", а не "обсуждение погоды на марсе" и тем более не "сбор вбросов" (для тех, у кого совсем плохо с глазами или головой).
Соответствующие сообщения зачищены, просьба отнестись с пониманием.
---
В свою очередь, у меня не вопрос, а комментарий (ц): Алексей, спасибо за труды, доброго Вам здоровья впридачу ко скромности!
Какие из направлений, в которых сейчас развивается виртуализация, вам кажутся наиболее перспективными и почему?Как вы думаете - не пора ли пересмотреть архитектуру ядра и переходить от монолита в сторону микроядра?
Вопрос: Алексей, не считаешь ли, что для увеличения производительности и упрощения кода в ядре лучше было бы вынести по-максимуму сетевую подсистему из ядра в пространство пользователя как это сделано в plan9, например? Что ты думаешь о dpdk?
Как вы думаете Алексей, нужна ли России национальная ОС ?
Скажите, пожалуйста, почему вы приняли участие именно в разработке “Linux”, а не другого ядра с открытым исходным кодом?
Скажите, пожалуйста, на какую реализацию вы обращали внимание при разработке сетевого стека, если таковая была, или вы руководствовались только теоретическими знаниями и собственным видением?
Скажите, пожалуйста, если бы вы сейчас стали разрабатывать сетевой стек, сильно бы он отличался от того что вы сделали в прошлом, иными словами, считает ли вы архитектуру сетевого стека “Linux”, достаточно продуманной для дальнейшего развития?Спасибо.
Добрый день!Считаю что неразумно был забыт старый проект ippersonality
хотелось бы что бы в ядре появился аналогичный функционал или адаптирован прежнийУспехов Алексей !!!
Есть ли желание расширить поддержку сокетов со стороны механизма сигналов? Хочется иметь сигнал SIGIO по которому вызывается пользовательская процедура, в которую помимо сигнала, передаётся сокет, вызвавший срабатывание сигнала, например такой:
void sig_handler (int signal, int sock)
{
/*...*/
}
Алексей,
два вопроса:
1) у человека выделяют первую и вторую сигнальные системы, "образную" и "вербальную". Некоторые апологеты unix-way утверждают, что именно консоль, требующая развитой второй сигнальной системы как способности сформулировать задачу в виде последовательности команд ведущих к результату, и является причиной успеха ОС Unix (в определенной среде); а нынешняя "борьба графических десктопов" - это игра на чужом поле по чужим правилам за чуждые умы.
Как Вы считаете - стоит ли linux бороться за умы людей, привыкших использовать первую сигнальную при работе с компьютерами и подстраиваться под них? Стоит ли программистам проходить через "console-only" этап?2) как человек, много имевший дела с ТСР стэком - не пора ли оставить его только для "длинных" дистанций, а внутри датацентров перейти на "плоский" InfiniBand?
PS: большое спасибо за iptables\tc, благодаря им в 90х годах удавалось в низкобюджетных проектах обходиться без PIX'ов
Расскажите о ближайшем будущем сетевого стека и о далеком :)
Вопрос: почему в ядре linux нет netflow? Сторонний модуль для ядра требует определенных версий, патчей и добавляет проблем со сборкой; userspace же решает не дает желаемую производительность.