Настройки обработчика пакетов
Обработчик пакетов настраивается через файл dataplane.conf
.
Оптимальные настройки определяются автоматически при запуске.
Комментарии задаются через #
, //
или /* */
.
Доступные параметры:
# TCP-порт управления приложением.
# [1, 65535]
control_port: 8888
# Отладочный TCP-порт управления приложением.
# [1, 65535]
debug_port: 8889
# TCP-порт управления приложением через gRPC.
# [1, 65535]
grpc_port: 8890
# Количество потоков обработки запросов к порту управления.
# [1, 1000]
control_threads: 20
# Таймаут обработки запросов к порту управления (секунды).
# [1, 10000]
control_request_timeout: 15
# Таймаут обработки содержимого запросов/ответов порта управления (секунды).
# [1, 10000]
control_content_timeout: 300
# Включение логирования событий порта управления.
control_log: false
# Ограничение на максимальную длину сообщения логирования событий порта управления.
# [0, 100000]
control_log_limit: 100
# Количество потоков обработки синхронизации данных.
# [1, 1000]
sync_threads: 10
# Включение логирования событий синхронизации данных.
sync_log: false
# LACP system ID.
# Если не задан, используется локальный MAC-адрес.
lacp_system_id: <auto-detect>
# Операционный ключ порта LACP.
# [0, 65535]
lacp_oper_key: 1000
# Период повторной отправки запросов резолвера MAC-адресов (секунды).
# [1, 10000]
mac_retransmit_time: 5
# Время жизни валидных записей резолвера MAC-адресов (секунды).
# [1, 10000]
mac_reachable_time: 30
# Время жизни протухших записей резолвера MAC-адресов (секунды).
# [1, 10000]
mac_stale_time: 60
# Максимально допустимое количество политик IPv4.
# [1, 60000]
max_policies: 100
# Максимально допустимое количество политик IPv6.
# [1, 60000]
max_policies6: 100
# Максимально допустимая разрядность используемых SIMD-инструкций.
# [0, 512]
max_simd_bitwidth: <автоопределение>
# Включение пропуска обработки трафика при перегрузке обработчика пакетов
# (для `port_direct_mode: false`).
congestion_bypass: false
# Включение отложенного старта обработки пакетов.
# Сетевые порты поднимаются только после полной инициализации приложения.
# Предотвращает появление петель на сети.
deferred_start: false
# Включение особого режима работы с сетевыми картами с двумя портами
# (для `port_direct_mode: true`).
# Каждый порт карты обрабатывается на отдельном наборе ядер.
# Улучшает производительность на скоростях 100G и выше,
# если используются оба порта одновременно.
dual_port_nic: false
# Размер пула памяти сетевых пакетов (на NUMA-ноду).
# [0, 2^31]
packet_mempool_size: <автоопределение>
# Режим обработки I/O-очередей сетевых портов:
# `false` - обрабатывать I/O-очереди портов на выделенных ядрах,
# рекомендуется для небольших скоростей;
# `true` - обрабатывать I/O-очереди портов на ядрах обработки пакетов,
# рекомендуется для скоростей 100G и выше.
port_direct_mode: false
# Скорость сетевых портов (Мбит/с).
# Отключает автосогласование скорости, если задано.
# [100|1000|10000|...] или [100M|1G|10G|...]
port_link_speed: <автосогласование>
# Включение синхронизации состояния линка пар сетевых портов.
port_lsp: false
# MTU сетевых портов.
# [0, 65535]
port_mtu: 1500
# Размер кольцевых буферов обмена пакетами между ядрами обработки I/O-очередей сетевых
# портов и ядрами обработки пакетов (для `port_direct_mode: false`).
# [0, 2^20]
port_ring_size: 8192
# Количество RX-дескрипторов сетевых портов.
# [0, 65535]
port_rx_desc: 1024
# Количество TX-дескрипторов сетевых портов.
# [0, 65535]
port_tx_desc: 1024
# Максимальное количество попыток повторной отправки сетевых пакетов в порт.
# [0, 2^31]
port_tx_retries: 128
# Ядра обработки I/O-очередей сетевых портов (для `port_direct_mode: false`).
# Список диапазонов [0, 127] или `ht|noht`:
# `ht` - автоопределение, использовать HT-пары ядер;
# `noht` - автоопределение, не использовать HT-пары ядер.
port_cores: <автоопределение>
# Количество ядер обработки I/O-очередей сетевых портов
# (на NUMA-ноду, для `port_direct_mode: false`).
# [0, 128]
port_cores_nr: <автоопределение>
# NUMA-ноды ядер обработки I/O-очередей сетевых портов.
# Список диапазонов [0, 1] или `all`:
# `all` - использовать все ноды.
port_nodes: <автоопределение>
# Ядра обработки пакетов.
# Список диапазонов [0, 127] или `ht|noht`:
# `ht` - автоопределение, использовать HT-пары ядер;
# `noht` - автоопределение, не использовать HT-пары ядер.
worker_cores: <автоопределение>
# Количество ядер обработки пакетов (на NUMA-ноду).
# [0, 128]
worker_cores_nr: <автоопределение>
# NUMA-ноды ядер обработки пакетов.
# Список диапазонов [0, 1] или `all`:
# `all` - использовать все ноды.
worker_nodes: <автоопределение>
# Список сетевых портов.
# Определяет сетевые порты, используемые обработчиком пакетов.
# Настраивает пары портов, зоны портов и их порядок.
# Формируется автоматически для всех обнаруженных портов, если не задан.
# Если задан, должны быть перечислены все используемые порты.
#
# Формат:
# <зона_порта> [ext|int] <индекс_пары> [0, 255] : <id_порта>
# id_порта:
# <pci_адрес> или <номер_порта> [0, 255] или <имя_порта> (строка).
#
# Пример:
ext0: 01:00.0
int0: 01:00.1
ext1: 04:00.0
int1: 04:00.1