Анализ текущего состояния и перечень изменений для классического
режима облачного балансировщика: несколько листенеров (публичных
и/или приватных), каждый со своим независимым пулом.
Подтверждено на стенде: сейчас все листенеры делят один POOL_ID и
одну таблицу слотов (reg1 -> reg2), member_id глобален. multipath
для разных листенеров с одним POOL_ID даёт одинаковый номер слота
для совпадающего 5-tuple — пулы физически не разделены.
Предложена схема reg4 = pool_id: таблица слотов становится общей
для всех пулов с матчем (reg4, reg1), FlowBundle.flow delete
фильтруется по reg4 для инкрементального обновления одного пула.
Замер: 1024 правила заливаются бандлом за 86 мс.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Анализ текущего состояния и перечень изменений для размещения 100+
тенантов на одной ноде с изоляцией уровня VRF.
Ключевая проблема — пересекающиеся адресные пространства тенантов:
ни один матч в пайплайне не может опираться на IP или MAC без
идентификатора тенанта. Предложена схема с tenant_id в reg3 и
ct-зоной из регистра (ct(zone=NXM_NX_REG3[0..15]) — синтаксис
проверен на стенде).
Отдельно оценён масштаб: таблица слотов доминирует (100 пулов по 1024
слота дают 102400 правил и ~8.8 с полной перезаливки при замеренных
88 мс на 1024 правила), поэтому SLOTS должен стать параметром пула,
а apply.sh — перейти на инкрементальные бандлы.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Анализ текущего состояния стенда и перечень изменений для ПРОД-окружения
на выделенном сервере с OVS-DPDK.
Основной вывод инвентаризации: вся форвардинг-логика DPDK-совместима,
pipeline.sh переносится без изменений. Переделке подлежат подключение
портов (macvlan и veth -> dpdk и vhost-user), размещение узла
(контейнер -> железо) и инструментарий.
Отдельно зафиксировано, что потолок производительности сместится с PPS
на CPS: multipath и ct(commit) дают upcall на каждое новое соединение,
и они же вместе с learn блокируют hardware offload.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>