2016-02-26 babolo Приведение копилефтов к единому виду. 2010-10-11 babolo Не было правильной регистрации. ручная регистрация и dump/restore 2010-09-30 babolo Версия 2.07 поверх Теперь для строк с непривязанным ifIndex интерфейс вычисляется по IP. GETARG в ispdb/step теперь SQLite. INDEX на i(ifind). 2010-09-29 babolo Лишние #echo и #exit, использовались для отладки. 2010-09-28 babolo spdb/tick переведен на новый flow-ispdb. В ispdb/step более не изготавливается сырая статистика, поскольку это делает новый flow-ispdb. 2010-09-28 babolo ispdb/dummy переключен на новый flow-ispdb. 2010-09-27 babolo Исправлено место установки бинарника. Исправлен сдвиг времени согласно зоне. 2010-09-25 babolo Восстановлена маска выходного канала по умолчанию. 2010-09-25 babolo В ipclass_internal_t.c названы биты. Исправлен ipclass_find() так, что он теперь всегда выдает последний поток. 2010-09-25 babolo В типах ipclass_internal_t и mular_internal_t объединения и структуры u сделаны безымянными. В ipclass_find() отметка о работоспособности internal теперь в ->f вместо ->c. 2010-09-25 babolo Выдача времени в форматах 2 и 3: теперь посчитанное при агрегации тоже выдается. Преобразование строки во время происходит до полной инициализации отладки, потому в отладке intime() добавлены концы строк. Исправлена коррекция маски выходного канала. Выдача агрегата запускалась для канала без агрегации, если на втором канале агрегация включена. Выдача агрегата на втором канале после выдачи агрегата на первом начиналась не с чистого состояния. При вводе параметров была неправильная логика ввода текстового времени. Размер памяти для переменных вывернутого цикла в ipclass_find() заказывался на тип mular_internal_t вместо ipclass_internal_t. Дополнена и поправлена отладка. 2010-09-24 babolo Переход на babolo-libmake-2.10, имя процедуры выдается автоматически. Зачистка \n в ifBLIN_Q*. В copy_obp() неправильно определялась ошибка при открытии файла. При ошибке во время открытия файла не устанавливался ex. Время в тексте теперь может выдаваться не только предустановленное, но и агрегированное. В intime() ликвидирована ex. В intime() ликвидированы игрища с const. Введено сокращение OCH(I) для opt->chan[I]. Ликвидированы попытки классифицировать без классификатора. Небольшая оптимизация. Форматирование. 2010-09-24 babolo Ввод текстового времени. 2010-09-24 babolo Перенесено место отладочной печати вычисления флагов вслед за вычислениями. Исправлен вывод времени. 2010-09-24 babolo Добавлен формат вывода ipstat. 2010-09-24 babolo Увеличен размер экстентов. Отладочная печать масок ввода-вывода. Отладочные флаги в процедуры классификации не передаются в связи с отлаженностью. Поменян порядок вывода - сначала по каналам, потом поиск по агрегату, поскольку поиск зависит от флагов вывода. В ipclass_acreate() добавлена отладочная выдача hashn на входе. В ipclass_acreate() неправильный порядок инициализации структур не выпускал hashn к хешам второго уровня, их размеры в результате не регулировались. Теперь из агрегата при флагах, не запрашивающих детальную статистику, извлекается агрегированная по IP+iface статистика. 2010-09-23 babolo Ошибка в ipclass_policashe() - выдавался свой индекс в ipclass_cashehold вместо индекса в ipclass_array. Замена классификатора на классификатор с кешем. Добавлена опция выдачи количества строк исходной статистики. Изменился рассчет действующей маски на канале вывода, учитывается натуральность агрегатов и возможность вывода количества строк исходной статистики при любом методе ввода. Счетчик строк статистики cnt поделился на 2 счетчика - sct и dct, у каждого свое направление. Изменился способ сбора статистики из агрегата - теперь в ipclass_internal_t 2 значения ipclass_unit, в них собирается прямой и обратный трафик. Это подготовка к выдаче более агрегированной статистики. В ipclass_find() неправомерно использовался param->mask вместо f->mask. В тип ipclass_unit добавлено поле cnt для счетчика строк. В ipagr.h не было описания ipclass_policashe(). Ошибка в определении константы IPCLASS_MASK_SECS. Форматирование. 2010-09-23 babolo В тип mular_internal_t добавлены void *dummy на случай непредвиденных расширений и u_int32_t k для сканирования по ключам. Из ipclass_internal_t убраны u_int32_t k и u_int32_t kk, которые выполняли те же функции. Изменен ipclass_find() в учетом вышесказанного. Из ipclass_inparm и ipclass_outparm убраны компоненты flags. Биты IPCLASS_CLASSIFABL там не использовались, вместо IPCLASS_USABLE используется проверка наличия prepare, а вместо IPCLASS_AGREGATE используется младший бит номера формата, таким образом, каждый выходной формат имеет два варианта, четный прямой и нечетный агрегирующий. Выделен в отдельный тип ipclass_array. В class.c новый метод - классификация с кешем. Из генераторов ipclass_polopen() и ipclass_polccashe() выделена отдельной процедурой polest() общая часть. Исправлена ошибка в проверке длинны массива классификатора. Форматирование. 2010-09-22 babolo В ipclass_policer() добавлена отладка. Неправильно определялось отсутствие памяти в ipclass_polopen(). Изменился уровень отладки для полной распечатки дерева политики в ipclass_polopen(). Реорганизован class.c - переставлены местами процедуры. Новый флаг Y_TIME для контроля за наличием времени, если оно не предопределено, и исправен сбор времени. Теперь в любом канале есть void *private для своих внутренних данных. Теперь omask не модифицируется каналом вывода, модифицированная маска отправляется каналом в omasc для дальнейшего согласования. Коррекция omasc исправлена с учетом агрегации. Добавлен классификатор при выводе агрегата. Если определен DEBUG, теперь распространяются флаги BLIN_VERMASK и MULAR_ZERO в mular_1* и mular_2*. Мелкие подчистки. 2010-09-21 babolo Новый файл class.c с процедурами для классификасии IP. Вместо массива ipclassify_er определена структура ipclass_er. Слегка поменялся состав и порядок полей. Недефолтная выходная маска не обрабатывалась copy_oga(). Добавлено немного отладки. 2010-09-20 babolo В комментарии к предыдущему коммиту не отмечена замена имени _1ref на s_1ref. Обновлены версии зависимостей. Используется новая babolo-libmake. Тип предписанного времени в соруктуре с параметрами сменен с u_int32_t на time_t. Заработал (но не проверен детально) вывод из агрегата. Что бы не запускался анализ структуры агрегата при его отсутствии, анализ перенесен в тот блок, где агрегат используется. Определение типа mular_internal_t перенесено в ipagr.h. В mular_2find() параметр с состоянием конечного автомата объявлен типом mular_internal_t ** вместо void **, соответствующие поправки в текстах и ликвидация временной переменной b в mular_2dump(). В mular_2find() временная переменная b сменила тип с void * на u_int64_t *. В ipclass_aparam теперь есть mask для отметки собираемых параметров. Пока работает только в ipclass_install(). В ipclass_adump() неприменимы BLIN флаги напрямую из-за того, что может отсутствовать указатель на структуру с флагами. При отсутствии param достаточно условий для нормального выхода с сообщением. В ipclass_astat() временные переменный стали * вместо **. Новая процедура ipclass_find() для выдачи накопленной IP статистики их кеша. 2010-09-19 babolo BLIN часть отправлена в babolo-libmake. Новый флаг O_STDO для разрешения по умолчанию каналу выводить в stdout. Новый флаг O_DFNY отмечает, что маска выходного канала задана явно. Новый тип ipclass_semiagrparam для поддержки методов агрегированного вывода. Теперь скорректированная маска выходного канала omasc хранится отдельно от оригинальной маски omask, по omask выводятся все колонки с NULL на месте, не разрешенном по omasc. Поддержка вывода предписанного времени в текстовом формате. Не было выхода после ошибки ftio_init(). Исправлено корректирование масок. В ft_inunit() вывод происходил по FT_XFIELD_* маскам вместо IPCLASS_MASK_*. Сделан метод вывода copyall. Начат метод вывода copyagr. Во флаги вывода в дополнение к BLIN_VERMASK передаются флаги IPCLASS_IPINT, IPCLASS_TIMINT и I_TIMEPRE. Теперь, если время не предписано, накапливается минимальное вместо максимального времени. Исследования и анализ (I_DUMP и I_STAT) вернулись в ipclass_convey() из main(). Замена числового значения на IPCLASS_MASK_DEFAULT. Перебор каналов теперь везде по циклу, со временем можно не ог раничивать количество каналов вывода. Не отмечалось флагом предписание времени. Добавлено и дополнено немного отладки. Форматирование. 2010-09-19 babolo Полуфабрикат Добавлен blin, предназначен для отладочной печати. В flow-ispdb.c добавлено описание, что хочется получить. Добавлены зачатки инфраструктуры для вариантной обработки, выброшена старая тестовая часть по этому поводу. Структуры от flow-tools внесены в состав структуры с параметрами, сама она переименована из flow_conf в ipclass_params. В соответствии с описанием пожеланий полностью сменились флаги, кроме -i. Использование нового blin API. Использование констант MULAR_2MAIN и MULAR_2EXTENT вместо чисел. Замена имен полей stru в mular_extent и mular_locator на w. Удалены лишние макросы. По разному считалась свертка на 32 и 64 разрядной архитектурах. Не проверялось, что сбор статистики включен, при сборе и выдаче статистики. Вместо кучи параметров строки статистики ipclass_install() получает все их в одной структуре. В одной из промежуточных позиций при поиске подходящей строки статистики в хеше отладочная печать выдавала порты из запроса на поиск вместо портов кандидата. В ipclass_acreate желаемый размер вторичных хегей передается теперь не в flags номером варианта, а в отдельном параметре непосредственной величиной. Теперь из ipclass_* в mular_1* и mular_2* не передаются напрямую никакие флаги. Поделен на секции ipagr.h для удобства переноса на постоянные места после отладки. Внутренний идентификатор _1init заменен на s_1init. Изменилось место определения флага MULAR_MYFR при вызове s_1init(). В mular_1dump() полнее распечатываются флаги текстом. Добавлены комментарии. Форматирование. 2010-09-17 babolo Работа с памятью более-менее причесана, скоро на место. Работа с сегментной памятью в bin/segment.c, работа с хешем в bin/hash.c. По отношению к предыдущему коммиту радикально переработано, сделан простой и почти понятный интерфейс и инструменты для осмотра. Сброс строк по конфликту номеров интерфейсов прекращен, теперь конфликтные строки сосуществуют в одном гнезде. В главной программе изменения - теперь по умолчанию теперь уровень отладки 1 и на экстенты выделено по 127 сегментов. Из ipagr.h исключено сильно устаревшее описание. 2010-09-13 babolo В bin/Makefile под комментарием опции для профайлера. Сделан сбор для агрегации. Новые флаги -D дамп после сбора, -p <номер> размер хеша детальной статистики, -s <размер> размер хеша агрегированной статистики, -S статистика после сбора, q и v - молча и болтливее. Работает, но статистика выдается медленно. Замена некоторых идентификаторов ipclass_* на mular_*. В bin/ipagr.h описаны прототипы. Форматирование. 2010-09-12 babolo поверх Добавлены еще не работающие файлы bin/ipagr. В bin/flow-ispdb используется babolo/BLINflag.h и параметры запуска собраны в структуру. Добавлен параметр к флагу -b для имени файла, куда писать почти сырую статистику, пока не работает, функция в недоделанных bin/ipagr. Читаемее арифметика с argc, argv. Форматирование. 2010-09-10 babolo поверх В ispdb/store теперь вместо flow-export с grep и tr используется flow-ispdb в режиме выдачи IP целыми числами и вычисление времени в каждой строке заменено на субSELECT. В ispdb/step два длинных вычисления индекса в одном запросе разделены для удобства анализа логов. Новый флаг -b у bin/flow-ispdb для двоичной выдачи. Сама выдача еще не сделана. Форматирование. 2010-09-10 babolo Версия 2.06 Сокращен bin/flow-ispdb под фиксированный формат выдачи. В bin/flow-ispdb введен флаг -i для выдачи IP целыми числами. В bin/flow-ispdb.c struct options opt осталось только одно поле, оно и оставлено вместо всей структуры. В ispdb/step теперь вместо flow-export с grep и tr используется flow-ispdb в режиме выдачи IP целыми числами. В заключительных binselectах ispdb/step и ispdb/store использовалась неверная граница. 2010-09-10 babolo Фиксация промежуточного результата. Добавлен работоспособный экспортер из flow. 2010-09-08 babolo Версия 2.05 Заказ на статистику собирался на всю систему, теперь только на заданный маршрутизатор. Не формаировались заказы на статистику по роуту на интерфейс. 2010-09-08 babolo Версия 2.04 Теперь tick и step ожидают окончания процессов на том регистре, где они были запущены. Теперь таблицу параметров p вносится не только номер, но и имя маршрутизатора. Теперь в TEMP TABLE s и d вносятся агрегированные строки. Длинный ряд обработки по маске заменен вычисляемой обработкой только по существующим маскам. Теперь имя файла для полусырой статистики вычисляется из таблицы параметров. Полусырая статистика теперь создается в двухуровневом селекте, на первом уровне агрегация, на втором - обработка. Форматирование. 2010-08-01 babolo Версия 2.03 поверх Вместо предопределенного уровня параллелизма при обработке статистики введены переменные i_ifcisco_tick_thr и i_ifcisco_dummy_thr, по умолчанию устанавливаются в 1. Оптимизации из step повторены в store. 2010-08-01 babolo Версия 2.02 поверх Добавлена временная таблица f для назначения nm по интерфейсам. В этом качестве ошибочно использовалась m, что могло привести к ошибкам учета трафика по незаданным сетям. Для ускорения пропускаются ненужные апдейты по s и d таблицам при привязке трафика по заданным сетям. Оптимизация SELECTов и INDEXов по скорости. Комментарии. Форматирование. 2010-08-01 babolo Для классификации трафика во временных файлах используется cidr вместо inet. Разрешено обрабатывать в 3 потока вместо 4х. 2010-08-01 babolo Создание индексов к таблицам d и s было не на месте. 2010-08-01 babolo Введен сбор трафика по сетям. Отметка времени теперь берется не из flow, а из параметра. Параметры теперь собираются во временную таблицу p. Вычисления над трафиком теперь происходят из отдельных вспомогательных таблиц - d для входящего и s для исходящего. SNMP индексы теперь пересчитываются в iface заранее. Разрешено обрабатывать в 4 потока вместо 2х. 2010-07-31 babolo поверх Сокращены размеры ifIndex до 2 байт. Добавлено 4 байта UNIX времени. Добавлена обработка flow-tag. Статистика по трафику теперь с учетом wclass. 2010-07-30 babolo Версия 2.01 поверх Убран лишний шум от flow-export. 2010-07-29 babolo Версия 2.00 Не работает stdin у psql, переведено на pgoblin. 2008-12-26 babolo Версия 1.00 поверх, но формат сырой статистики изменился. В сохраняемую статистику добавлены ifIndexы входящего и исходящего интерфейсов. Форматирование, унификация стиля. 2007-06-28 babolo Смена адреса в лицензии. 2006-07-18 babolo Переход на babolo-libmake. Не проверено, перед изданием обязательно сверить транслированное с предыдущей версией. 2006-06-15 babolo Версия 0.06 dump/restore В delete убираем за собой depend и version. Заполнение i_stat Перенесено из init в tune. Мелкая оптимизация: замена EXISTS(SELECT *... на EXISTS(SELECT 1... 2006-03-12 babolo Удалено наследие древнего pgoblin - пробелы в конце команд. Список MIB для дальнейшей над ними работы. 2003-10-01 babolo Контроль на то, что бы не вставить повторно active 'i-ifcisco/snmpif' 2003-04-20 babolo Очередное переполнение 2003-04-20 babolo Очередное переполнение 2003-04-18 babolo Версия 0.05 Теперь размер в октетах собирается в int8 Если результат не влазит в 4 байта, то заменяется на FFFFFFFF 2003-02-25 babolo Версия 0.04 dummy теперь раз в tick вместо раз в час 2003-01-03 babolo Вылизывание показометра 2003-01-03 babolo WWWROOTDATA 2003-01-03 babolo Таблицу SNMP индексов - в WWW интерфейс 2003-01-03 babolo Таблица ispdb_i_ifciscos для хранения SNMP community Теперь опрашиваются маршрутизаторы из таблицы ispdb_i_ifciscos 2003-01-03 babolo Лишняя проверка 2003-01-02 babolo Версия 0.03 Введена очистка таблицы ispdb_i_ifcisco от повторений 2002-12-29 babolo Использована констатнта ttl 2002-12-25 babolo Исправлено выделение даты из имени файла Уменьшен шум от stderr Исправлен формат имени файла в tick 2002-12-24 babolo Версия 0.02 В tick возвращен /bin/sh после отладки, исправлены мелкие ошибки 2002-12-24 babolo store теперь получает имя файла для сохранения статистики параметром вместо использования stdout dummy и tick теперь не делают cd в каталог для ls snmpif теперь получает параметр router store теперь использует новые возможности pgoblin - постоянная таблица t не используется step теперь не получает имя единственного входного файла, а входные данные берет из stdin step теперь получает имя выходного файла вместо выдачи на stdout используется pgoblin и выходной файл теперь в правильном формате 2002-12-22 babolo В ${gzip} содержится -9 Исправлен формат времени 2002-12-22 babolo Новый сборщик статистики Не должно быть в цепочке вызовов одинаковых труб для внутреннего употребления 2002-12-22 babolo В таблице ispdb_i_ifcisco был неправильный тип поля В step неправильно производилось суммирование В tick исправлен формат даты (имени файла от flow) и добавлено исполнение 2002-12-22 babolo Расставлены $Id 2002-12-22 babolo Время надо брать из таблицы, однако 2002-12-22 babolo Shema - синтаксическая ошибка snmpif - Сборщик зовется i-ifcisco/tick tick - файлы со статистикой обрабатываются по порядку 2002-12-22 babolo Переименование hour -> snmpif -> tick Инициализируется todo 2002-12-21 babolo Начало Версия 0.01