[Comm] Advanced Routing & QoS

Andrey Orlov =?iso-8859-1?q?cray_=CE=C1_neural=2Eru?=
Вт Дек 3 20:05:47 MSK 2002


On 2002 December 02 Monday 20:08, you wrote:
> Для начала, извините за крос-постинг. Я предполагаю, данная тема
> интересует многих.

Довольно-таки. Что касается статьи то у меня особых замечаний нет, хотя я бы
расширил пункты 7,8 (оформив их как некий cookbook, хорошим (но недостаточным) приближением 
может быть Advanced Router HOWTO), кроме того должен заметить - ссылка в п.8 на man 8 tc
немножко лукавая : man 8 tc во всех пунтктах посвященный фильтрам, ссылается на
man 8 tc-filters, который похоже еще не написали : во всяком случае в дистрибутиве
его не имеет места (сейчас тяжело посмотреть, но кажется в sysiphus тоже). Да и остальная
часть man tc,  больше похожа на сумму из tc <....> help. Использоваение же самого man 8 tc для 
понимания работы упомянутых u32 & fw - невозможно  (в версии из ALM2.0 man tc|grep -iE "u32|fw" - пусто). 

Тем не менее, статья особых нареканий не вызывает, а вот вопрос по поводу ip/tc у 
меня есть : последние две недели я вожусь с настройками посредством tc и у меня 
возникает странное ощущение того, что этот код крайне плохо отлажен (или крайне 
плохо собран в нашем случае, я использую ALM2.0 со всеми апдейтами). Я не настолько 
хорошо в этом разбираюсь, что бы сразу начинать  тыкать пальцем в ошибки в коде - я 
собственно tc раньше и не трогал, но мне хотелось бы понять текущий статус этого кода:
нечто отлаженное,  часто используемое и надежно работающие
или некий код, 80% декларированного функционала  которого никто никогда не использовал. 
По ощущениям (еще раз - это именно ощущения, на полуинтуитивном уровне) я склоняюсь ко 
второму варианту, так как те особенности работы, которые я наблюдаю могут быть результатом:

1. Использования неинициализированой памяти (в модулях ядра, похоже);

2. Неосвобождения памяти (опять же в модулях ядра);

3. Отсутствия проверок граничных условий;

4. Отсутствия проверок допустимости параметров;

5. Отсутствия проверок переполнения и т.п.

Про нереализованность некоторых обещанных фичей я лучше промолчу - так как если
насчет этих пяти пунктов я могу более-менее аргументировано рассуждать, то неработоспособность
некоторых решений - может быть (и скорее всего есть) моей ошибкой (хотя работа с доками в 
данном случае больше напоминает "шаг в сторону - контрольный выстрел в голову").

Эти пять пунктов я заметил при использовании tbf, prio, u32  в меньшей степени - cbq 
(kernel24-up-2.4.18-alt6master, AFAIR).
Подробнее я рассказывать не буду - так как в данный момент интересует не помощь в 
решении конкретных проблем, а понимание текущего статуса этого кода, особенно статус 
этого кода в рамках AltLinux (так как менять дистрибутив в обозримом будущем я не намерен), 
чбы решить для себя что делать дальше:

1. Поискать другое решение (в случае если этот код вообще никто не поддерживает и это лишь
забавный реликт, оставшийся от ядер 2.2.*);

2. Повнимательней почитать доки, пересобрать ядро, поставить какие-л. апдейты
и т.п. (если этот код отлаженный, проверенный,  всеми используется, имеет 
сплоченную команду поддержки);

3. В том или ином виде присоеденится к его поддержке (вряд ли как писатель кода - но по крайней
мере отследить баги и написать баг-репорты  с точным описанием глюков - если код перспективный
но у команды разработчиков не хватает рук, времени, тестовой базы и т.п.); 

Буду благодарен если ктонть мне это прояснит.

-- 
WthBstRgrds -- Андрей Орлов --  
 --- www.neural.ru, cray на neural.ru ---
----------------------------------------




Подробная информация о списке рассылки community