?

Log in

Только для пользователей bird, остальным вряд ли будет интересно
Read more...Collapse )
Как известно, в целом ipfw - скорее stateless файрволл, в отличие от, например, pf, у которого стейты - это основа жизни. Так вот, стейты в ipfw изначально были приделаны как-то совсем сбоку, что приводило к вылезанию некоторых спецэффектов разной степени забавности.
Например, изменение размера хеша (net.inet.ip.fw.dyn_buckets) приводило к потере всех стейтов. Кроме того, все обращения к динамике были защищены одним локом, что убивало всякую параллельность. Можно еще вспомнить про тормоза при смене set'ов на большом рулсете и большом количестве динамических стейтов, и много чего еще :)

В результате стало понятно, что дальше так жить нельзя и реализацию надо переписывать. Собственно, пост про то, что это случилось (r243707) и целого ряда детских болячек  теперь нету. Через 3 недели доедет до stable, где его можно радостно встречать.

Тестирование получившегося (правда, не совсем честное, на маленьком количестве записей) показало, что просадка производительности довольна невелика при фактическом отсутствии contention - 2.2Mpps через динамическое правило, против 2.5Mpps на обычном allow ip from any to any. При этом, "коробочный" хеш не то чтобы очень плохо раскладывает трафик.
Вот результат на 80к стейтов (65к размер хеша) продакшн-трафика:
2 14845
1 21661
4 2032
3 6048
6 131
5 548
7 24
9 2
8 5

В новой имплементации, конечно, в одной строке кэша живут, кажется, 3? индекса в хеше, но все равно, по сравнению с тем, что было, contention'а должно быть значительно меньше.

Роскомнадзор

Регулятор [теле]коммуникационной отрасли, неспособный в течении полумесяца  отправить электронную почту - это серьезная заявка на победу.
Просто, чтобы не забыть: правильный и документированный способ:
  boot [-s -v] kernel.old

Долгий и недокументированный:
  unload
  load /boot/kernel.old/kernel
  load /boot/kernel.old/opensolaris.ko
  load /boot/kernel.old/zfs.ko
  load -t /boot/zfs/zpool.cache /boot/zfs/zpool.cache
  boot [-s -v]

Tags:

Домашняя wifi точка доступа (какой-то asus) перегружается при получении первого cdp пакета.
Точка работает как бридж, cdpd посылает пакеты раз в 40 секунд, а точка перегружается секунд 30.

Слов нет, одни эмоции.
Как-то так сложилось, что наработки, сделанные в рамках реализации LDP/l3vpn увели текущую разработку bird в сторону рефлексии разных BGP address families
И вот, что их этого вышлоCollapse )

Tags:

Иногда очень хочется поглядеть в ядро на лету. Оказывается, для этого уже почти все есть:
Посмотреть, чего естьCollapse )
Сделать это можно достаточно быстро и просто - примерно с 2009 года в GENERIC-ядро включены HWPMC_HOOKS.
Таким образом для поддержки со стороны ядра необходимо только загрузить модуль hwpmc.
ПодробнееCollapse )

IPv6 таблицы в ipfw

Мы стали более лучше поддерживать ipv6 :)

В -CURRENT появилась поддержка расширенных таблиц ipfw. Теперь в них можно добавлять как IPv6 префиксы, так и имена интерфейсов. То есть, можно пробовать делать per-interface ACL более менее эффективно. (Напомню, skipto tablearg работает за логарифм от количества правил). Кроме того, нынче таблиц может быть почти 65к и конфигурируется это количество через kenv перед загрузкой модуля (а скорее всего на днях будет доступен и sysctl). В 9/8-STABLE доедет через месяц. Впрочем, патч без особых проблем должен накатываться на свежую восьмерку, так что желающие могут пробовать уже сейчас.

Tags:

Зима пришла

Кажется, балкон надо было утеплять лучше:

7206VXR-1-6>sh env all  | i chassis
        chassis inlet    measured at -2C/29F
        chassis outlet 1 measured at -2C/29F
        chassis outlet 2 measured at 0C/32F
        chassis outlet 3 measured at 1C/33F