Справочное руководство для ptpd2

PDF

Демон протокола точного времени (Precision Time Protocol)

ptpd2 – демон PTP (IEEE 1588-2008)

Синтаксис

ptpd2 [ -?hH ] [ -e SETTING ] [ -kvOLAl ] [ -smMyEPanCV ] [ -c FILE ] [ -R DIR ] [ -f FILE ] [ -S FILE ] [ -d DOMAIN ] [ -u ADDRESS ] [ -r NUMBER ] -i INTERFACE

Описание

Демон PTP реализует протокол точного времени PTP версии 2, определенный стандартом IEEE 1588-2008. Протокол PTP разработан для точной координации времени подключенных к ЛВС компьютеров. Демон должен работать от имени пользователя root для того, чтобы он мог управлять системными часами и использовать младшие номера портов. Демон является универсальным и поддерживает в IPv4 групповой, индивидуальный и гибридный (смешанный) режим работы, а также режим Ethernet. Даже без аппаратной поддержки демон может обеспечивать субмиллисекундную точность часов и устойчивость к отказам опорного источника (PTP Grandmaster – GM) и каналов, а также может перезапускаться с минимальным влиянием на работу часов. Этот переносимый демон в настоящее время поддерживает ОС Linux, FreeBSD и Mac OS X, работая на разных архитектурах процессоров (32 и 64 бита), включая x86 и ARM.

Настройка из командной строки

Начиная с версии 2.3.0, предпочтительным механизмом настройки является конфигурационный файл, а опции, доступные в краткой (-x) и полной (–xxxxx) нотации, обеспечивают управление работой демона и базовые настройки протокола PTP. Остальные настройки (см. ptpd2.conf – конфигурационный файл демона PTP) также могут заданы опциями командной строки, но они доступны лишь в форме –section:key=value.

Базовые опции демона

-c --config-file PATH

Задает путь к конфигурационному файлу (см. ptpd2.conf – конфигурационный файл демона PTP).

-k

Проверяет конфигурацию и завершает на этом работу, возвращая 0 при отсутствии ошибок в конфигурации.

-v

Выводит строку номера версии и завершает на этом работу.

-h

Выводит на экран краткую справку.

-H

Выводит на экран подробную справку для всех настроек и вариантов поведения.

-e --explain SETTING

Выводит справку для одной настройки (section:key).

-O

Выводит принятую по умолчанию конфигурацию и завершает на этом работу (вывод можно применять в качестве конфигурационного файла).

-L

Пропускает проверку файла блокировки и блокировку (global:ignore_lock)

-A

Использует зависящие от установок и порта имена файлов блокировки при запуске нескольких экземпляров.

-l --lockfile

Задает полный путь к файлу блокировки (global:lock_file)

-R --lock-directory DIR

Задает каталог для файлов блокировки (global:lock_directory)

-f --log-file PATH

Указывает путь к журнальному файлу (global:log_file)

-S --statistics-file PATH

Указывает путь к файлу статистики1 (global:statistics_file).

-T --show-templates

Выводит на экран встроенные конфигурационные шаблоны

-t --templates [name],[name],…

Применяет один или несколько конфигурационных шаблонов в указанном порядке (см. ptpd2.conf – конфигурационный файл демона PTP и ptpengine:template_files)

Базовые операции протокола PTP

-i --interface DEV

Обязательный параметр, указывающий имя используемого интерфейса, например, eth0 (ptpengine:interface).

-d --domain NUMBER

Номер домена PTP в который войдет этот узел (ptpengine:domain).

-s --slaveonly

Режим вторичного (Slave) устройства (эквивалент ptpengine:preset=slaveonly).

-m --masterslave

Полная реализация IEEE 1588 – master, slave, если не является лучшим GM (ptpengine:preset=masterslave).

-M --masteronly

Только master – пассивен, если не является лучшим GM (ptpengine:preset=masteronly).

-y --hybrid

Гибридный режим с поддержкой групповой и индивидуальной адресации – групповая для синхронизации и анонсов, индивидуальная для запросов и откликов задержки (ptpengine:ip_mode=hybrid)

-U --unicast

Индивидуальная адресация (ptpengine:ip_mode=unicast). Для GM при запросах и откликах задержки (ptpengine:ip_mode=hybrid) должны указываться индивидуальные адресаты (-u, –unicast-destinations, ptpengine:unicast_destinations), если не задано индивидуальное согласование (-g, –unicast-negotiation, ptpengine:unicast_negotiation=y). Для slave должны указываться индивидуальные адресаты, если не задано индивидуальное согласование.

-g --unicast-negotiation

Разрешает индивидуальную доставку сообщений и интервал согласования сигнальных сообщений usin, как используется в профиле Telecom (также включает ptpengine:ip_mode=unicast)

-u --unicast-destinations ip/host, ip/host, …

Список индивидуальных адресатов, см. –unicast (ptpengine:ip_mode=unicast + ptpengine:unicast_destinations)

-E --e2e

Механизм сквозной задержки (ptpengine:delay_mechanism=E2E)

-P --p2p

Механизм задержки между партнерами – peer to peer (ptpengine:delay_mechanism=P2P)

-a --delay-override

В состоянии slave изменяет интервал запроса задержки, анонсированный ведущим – master (ptpengine:log_delayreq_override) – используется значение ptpengine:log_delayreq_interval.

-r --delay-interval NUMBER

Задает интервал сообщений с запросом задержки двоичным логарифмом значения (ptpengine:log_delayreq_interval)

-n --clock:no_adjust

Отключает корректировку часов (clock:no_adjust)

-D<DD...> --debug

Уровень отладки (global:debug_level), работает только при сборке RUNTIME_DEBUG.

-C --foreground

Не запускать в фоновом режиме (демон) (global:foreground=Y)

-V

Работать не в режиме демона (foreground), отображая все сообщения на стандартный вывод (global:verbose_foreground=Y)

Опции совместимости

Ниже перечислены опции совместимости с демонами версий до 2.3.0.

-b DEV

Используемый сетевой интерфейс.

-i NUMBER

Номер домена PTP.

-G

Режим master с NTP (только master)

-W

Режим master без NTP (master/slave)

-Y NUMBER

Интервал запросов задержки (двоичный логарифм значения)

-t

Не корректировать часы.

Примечание. Перечисленные опции устарели и будут удалены впредь. Пока они вызывают предупреждение.

Состояния порта PTPD

init INITIALIZING (инициализация)

flt FAULTY (отказ)

lstn_init LISTENING (первый раз)

lstn_reset LISTENING (после сброса)

pass PASSIVE (не лучший master, без анонсов)

uncl UNCALIBRATED (не калиброван)

slv SLAVE (ведомый)

pmst PRE-MASTER

mst MASTER (активный)

dsbl DISABLED (отключен)

? (unk) UNKNOWN (неизвестное состояние)

Формат файла статистики

При включенной записи статистики (ptpengine:log_statistics, подробный вывод на консоль или в журнальный файл – ptpengine:statistics_file) демон в режиме slave будет записывать данные о синхронизации при получении каждого сообщения Sync и Delay Response. При запуске демона или очистке журнала в файл записывается строка комментария (начинается с #), содержащая имена всех колонок. Журнальный файл использует формат CSV2 и его легко импортировать в программы обработки и электронные таблицы для анализа и построения графиков. При продолжительной работе программы файл может достигать очень большого размера, поэтому можно увеличить интервал записи сообщений с помощью параметра global:statistics_log_interval в конфигурационном файле. Размер и максимальное число записей можно также контролировать с помощью конфигурационного файла (см. ptpd2.conf – конфигурационный файл демона PTP).

Ниже описаны колонки (поля) статистических записей.

Timestamp

Время приема сообщения. Значение может иметь текстовый формат, Unixtime (с долями секунды) или включать оба варианта (в этом случае добавляется поле) в зависимости от установки global:statistics_timestamp_format (см. ptpd2.conf – конфигурационный файл демона PTP). При импорте журнального файла в программы создания графиков лучше установить  формат Unixtime (если программа его понимает) или оба, поскольку некоторые программы не могут корректно обрабатывать доли секунд при преобразовании из текстового формата.

State

Состояние порта PTP.

Clock ID

Отождествление порта, в настоящее время являющегося лучшим ведущим (master) в соответствии с определением IEEE 1588. Этот будет идентификатор локальных часов, если они являются лучшим первичным источником. Отображается как clock_id/port(host).

Порт – это номер порта часов PTP, который не следует путать с портом UDP. Идентификатор часов представляет собой 64-битовый идентификатор EUI-64, который обычно создается из 48-битового MAC-адреса путем вставки посередине его значения 0xfffe. PTPd пытается преобразовать идентификатор часов обратно в MAC-адрес и найти имя хоста из файла /etc/ethers.

Заполнение файла ethers поможет администратору распознавать ведущие узлы по их именам.

One Way Delay

Текущее значение задержки в одном направлении (или средней задержки в пути) в секундах, рассчитанное PTPd в состоянии slave из обмена сообщениями Delay Request и Delay Response.

Примечание. Если это значение остается нулевым, обычно это означает, что не было получено сообщений Delay Response скорей всего в результате проблем в сети.

Offset From Master

Текущее значение сдвига от ведущего узла (master) в секундах. Это основной результат ведомой (slave) машины PTP, который служит входом для корректировки часов. Это значение обычно наблюдается при оценке работы ведомого узла (slave).

Slave to Master

Промежуточная разница времени (в секундах), полученное из обмена сообщениями Delay Request и Delay Response и применяемое для расчета односторонней задержки. Если последнее значение отвергнуто фильтром, в журнале будет указано предыдущее значение. Значение будет равно 0 при отсутствии сообщений Delay Responsed.

Master to Slave

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

Observed Drift

Интегральный «аккумулятор» системы слежения для управления часами PI – разность частот ведомых и ведущих часов. Это значение становится стабильным после стабилизации разницы во времени (смещения) и может использоваться (реально используется) для контроля стабильности часов.

Last Packet Received

Это поле показывает, какое сообщение было получено последним – S для Sync, D для Delay Response и P для Peer Delay Response при использовании режима задержки P2P. Если в журнале ведомого узла нет записей D (или P), это означает отсутствие сообщений Delay Response, которое может быть связано с проблемами в сети. Для двухступенчатых часов будет записываться S при получении Follow-up.

Sequence ID

Порядковый номер последнего полученного сообщения (Sync, Follow-Up, Delay Response, Peer Delay Response). Порядковые номера в журнале статистики могут помочь при поиске проблем синхронизации во время анализа трафика, изменение смещения или задержки в пути можно отследить для конкретного пакета, соответствующего Sequence ID.

One Way Delay Mean

Средняя задержка в одном направлении, рассчитанная за последнее окно выборки.

One Way Delay Std Dev

Стандартное отклонение задержки в одном направлении, рассчитанное за последнее окно выборки.

Offset From Master Mean

Среднее смещение от ведущего, рассчитанное за последнее окно выборки.

Offset From Master Std Dev

Стандартное отклонение смещения от ведущего, рассчитанное за последнее окно выборки.

Observed Drift Mean

Наблюдаемый средний дрейф (подстройка локальных часов), рассчитанный за последнее окно выборки.

Observed Drift Std Dev

Наблюдаемое стандартное отклонение дрейфа (подстройки локальных часов), рассчитанное за последнее окно выборки. Меньшее значение говорит о менее активном вмешательстве в работу часов и их большей стабильности.

raw delayMS

Необработанное (нефильтрованное) значение delayMS, полезное для оценки пиков и производительности фильтров.

Примечание. Все статистические значения (среднее и стандартное отклонение) будут рассчитываться и выводиться, если PTPd был собран без опции –disable-statistics. Продолжительность интервала выборки определяется установкой global:statistics_update_interval (см. ptpd2.conf – конфигурационный файл демона PTP).

Обрабатываемые сигналы

Ниже перечислены сигналы, обрабатываемые PTPd.

SIGHUP – перезагрузка конфигурационного файла (если он применяется) и повторное открытие log-файлов.

SIGUSR1 – в режиме slave принудительный сдвиг часов на значение Offset с ведущим (Master).

SIGUSR2 – сброс всех счетчиков PTP в целевой журнал (и обнуление, при ptpengine:sigusr2_clears_counters).

SIGINT|SIGTERM – аккуратное завершение с закрытием журналов и других файлов, очистка файла блокировки и выход.

SIGKILL – выход без аккуратного завершения.

Коды завершения

При успешном выходе (запущен демон или программа завершена без ошибок) ptpd2 возвращает 0. Это же значение возвращается при запуске программы с опцией -k (–check-config), если конфигурация не содержит ошибок. Отличный от 0 код возврата говорит о возникновении ошибки. При ошибке с файлом блокировки или невозможности запуска ptpd2 в режиме демона возвращается код 3. При ошибках выделения памяти в процессе запуска возвращается код 2. Во остальных случаях, таких как ошибки конфигурации, запуск ptpd2 в режиме справки (help) или без параметров, самозакрытии программы, сетевых ошибках при старте или попытки запуска ptpd2 от имени пользователя без полномочий (не root) возвращается код 1.

Поддерживаемые платформы и архитектура

PTPd полностью поддерживается в Linux и FreeBSD, поскольку основные усилия разработчиков сосредоточены на этих ОС. OpenBSD и NetBSD также поддерживаются, но с меньшим вниманием разработчиков. Поддерживается Mac OS X, а с версии PTPd 2.3.1 и OpenSolaris (11) (протестировано на OmniOS). ОС Sun/Oracle Solaris 11 не тестировалась, но по сути все должно работать. Solaris 10 не поддерживается по причине отсутствия поддержки сокета SO_TIMESTAMP. Теоретически можно использовать Solaris 10 с применением pf для snoop, но в настоящее время работа в этом направлении не ведется. Представлены исправления (patch) для QNX/Neutrino, но они еще не включены официально по причине отсутствия QNX для разработчиков. Некоторые пользователи переносили PTPd на другие RTOS, но это также еще не включено.

Начиная с версии 2.3.1, PTPd полностью работает на программном уровне и опирается только на ядро и OS API без привязки к оборудованию. Любой порт little-endian или big-endian в современных версиях поддерживаемых ОС должен работать, но активно тестировались только x86 и ARM. Единственной тесной привязкой к оборудованию являются драйверы сетевых адаптеров и их влияние на программные временные метки.

Поддержка аппаратных временных меток

В версии 2.3.1, PTPd по-прежнему не поддерживает аппаратных временных меток. Такая функциональность появится в версии 2.4 и возможно в промежуточных версиях 2.3.x, которые будут поддерживать аппаратные часы и временные метки Linux. Это сильно зависит от ОС, а в значительной степени и от оборудования. В Linux имеется API ядра для PTP, но его поддерживает не все оборудование. Поскольку PTPd работает в разных ОС, где аппаратные временные метки могут использовать разные механизмы на каждой платформе, программа должна быть переписана в модульном стиле, чтобы можно было вносить изменения без ненужного усложнения кода, что само по себе является проблемой.

Ошибки

Начиная с версии ptpd 2.3.1, полностью поддерживается семейство (Open)Solaris (11) OS, но без функциональности libpcap, что не позволяет применять транспорт IPv4/pcap и Ethernet. PTPd можно собрать и запустить, но никаких данных не будет получено.

При обнаружении каких-либо ошибок сообщайте о них через страницу SourceForge.

ptpd2.conf – конфигурационный файл демона PTP

Формат файла

Настройки в конфигурационном файле PTPd сгруппированы по разделам и имеют форму section:key=value. Конфигурационный файл может быть форматирован таким способом (предпочтительно) или в стиле .ini, где строки key=value группируются в разделы с заголовками [section]. Каждая из описанных здесь настроек может быть задана параметрами командной строки (–section:key=value). Использование кавычек необязательно. Конфигурационный файл должен завершаться пустой строкой.

Перезагрузка конфигурации

Лишь небольшое число конфигурационных установок (SNMP, файл блокировки) требуют перезапуска процесса PTPd для вступления настроек в силу. Остальные настройки можно менять в процессе работы ptpd – конфигурационный файл считывается заново и проверяется при получении демоном PTPd сигнала SIGHUP. При перезагрузке конфигурации PTPd всегда пытается проверить настройки до их применения и никогда не прерывает работу в результате конфигурационных ошибок. Если такое произошло, это скорей всего связано с программной ошибкой.

Приоритет командной строки

Любые параметры, переданные из командной строки имеют преимущество перед настройками в конфигурационном файле поэтому при работе ptpd такие настройки не могут быть изменены и при попытке изменения конфигурационного фала будет выдаваться предупреждение.

Разделы конфигурационного файла

ptpengine

Настройки протокола PTP.

clock

Настройки, связанные с часами.

servo

Настройка следящей системы управления часами.

global

Глобальные параметры – запись событий в журнал и т. п.

ntpengine

Настройки NTP.

variables

Пользовательские переменные.

Пользовательские переменные

Чтобы упростить управление конфигурацией и автоматизированную настройку, PTPd поддерживает пользовательские переменные, которые могут быть определены в конфигурационном файле или командной строке. Переменные определяются в форме variables:[name]=[value] или с использованием стиля .ini в разделе [variables]. После определения переменной ее можно указывать в последующих конфигурационных настройках в форме @name@, куда будет автоматически подставляться заданное значение переменной.

Пример

variables:instance=server15
global:status_file=/var/run/ptpd2.@instance@.status
global:log_file=/var/run/ptpd2.@instance@.status

Отметим, что такой же результат может был получен из командной строки ptpd при задании параметров –config=/path/to/file –variables:instance=server15

Встроенные переменные

PTPd включает поддержку встроенных переменных, определяемых автоматически.

@pid@ – текущий идентификатор процесса PTPd.

@hostname@ – текущее имя хоста.

Конфигурационные шаблоны и файлы шаблонов

Начиная с версии 2.3.1.1, ptpd позволяет пользователю минимизировать усилия по настройке базовых вариантов с помощью встроенных шаблонов и шаблонных файлов. Шаблоном называется набор предопределенных настроек, которые указываются до каких-либо других установок, поэтому пользователь может переопределить нужные ему значения. Для использования этой возможности следует указать строку global:config_templates=[name],[name],… в конфигурационном файле или запустить ptpd с параметром –global:config_templates=[name],[name],…. Можно указать несколько шаблонов, разделенных запятыми, пробелами или символами табуляции и при совпадении в них тех или иных настроек будет действовать значение из последнего шаблона. Шаблоны могут включать пользовательские переменные.

Множество шаблонов можно задать также в форме global:template_files (список разделенных запятыми, пробелами или символами табуляции полных путей к файлам). Файлы шаблонов будут обрабатываться в указанном порядке и при совпадении настроек действовать будет значение из последнего файла. PTPd также будет пытаться загрузить при старте заданный по умолчанию шаблон templates.conf из принятого по умолчанию конфигурационного каталога /usr/share/ptpd/templates.conf.

Файлы шаблонов форматируются в стиле .ini – каждый шаблон представляет раздел, определенный как [template-name], за которым следуют параметры в форме section:setting.

Example:

[my-template]
global:verbose_foreground=Y
ptpengine:preset=slaveonly

Для просмотра списка встроенных шаблонов используется команда ptpd с параметром -T или –show-templates

Параметры конфигурации

ptpengine:interface [STRING]

Обязательный параметр, указывающий используемый сетевой интерфейс по имени (eth0, igb0 и т. п.). См. также ptpengine:backup_interface.

Значение по умолчанию отсутствует.

ptpengine:backup_interface [STRING]

Указывает резервный сетевой интерфейс для работы (eth0, igb0 и т. п.). При недоступности GM ведомый узел будет чередовать основного и резервного ведущего, пока не будет найден GM.

Значение по умолчанию отсутствует.

ptpengine:preset [SELECT]

Варианты – none, slaveonly, masteronly, masterslave

Задает режим работы машины PTP3.

none – нет ограничений на класс часов;

slaveonly – только ведомый (только класс часов 255);

masteronly – ведущий, пассивных, когда не является лучшим (класс часов 0..127);

masterslave – полная реализация IEEE 1588 – ведущий или ведомый, если если имеется лучший ведущий (класс часов 128..254).

Значение по умолчанию – slaveonly.

ptpengine:transport [SELECT]

Варианты – ipv4, ethernet

Определяет способ доставки пакетов PTP4.

Значение по умолчанию – ipv4

ptpengine:dot1as [BOOLEAN]

Включает совместимость с IEEE 802.1AS/AVB (поле transportSpecific в заголовке сообщений PTP). Требует транспорта Ethernet, поскольку это единственное из используемых отображений 802.1AS, которое поддерживает PTP.

Значение по умолчанию – N.

ptpengine:ip_mode [SELECT]

Варианты – multicast, unicast, hybrid.

Режим адресации IP (требуется транспорт IP).

multicast – групповая адресация для всех сообщений.

hybrid – групповая адресация для sync и announce, индивидуальная для запросов задержки и откликов на них.

unicast – индивидуальная адресация для всех передач. При выборе режима IP-адреса получателей (ptpengine:unicast_destinations) должны задаваться в зависимости от настройки согласования индивидуальной адресации (ptpengine:unicast_negotiation) и роли ведущего или ведомого (ptpengine:unicast_destinations).

Значение по умолчанию – multicast.

ptpengine:disabled [BOOLEAN]

Отключает порт PTP, незамедлительно переводя машину PTP в состояние PTP_DISABLED, которое сохраняется пока порт не будет включен изменением конфигурации или сообщением ENABLE_PORT.

Значение по умолчанию – N.

ptpengine:unicast_negotiation [BOOLEAN]

Включает согласование индивидуальной адресации с использованием сигнальных сообщений, как в профиле Telecom (ITU-T G.8265.1).

Значение по умолчанию – N.

ptpengine:unicast_grant_duration [INT: 30 .. 604800]

Задает продолжительность (в секундах) интервала, в течение которого передача индивидуальных сообщение предоставляется ведущим узлом или запрашивается ведомым в случае согласования индивидуальной передачи (ptpengine:unicast_negotiation). При использовании PTPd с другими реализациями PTP, программа PTPd никогда не отказывается предоставлять сообщения на основе запрошенной длительности интервала – она будет предоставлять интервал 30, если запрошено меньшее значение и 7 дней (604800 секунд), если запрошено слишком большое значение.

Значение по умолчанию – 300

ptpengine:disable_bmca [BOOLEAN]

Отключает алгоритм Best Master Clock для ведущего с индивидуальной адресацией. Работает лишь в режиме masteronly. Все сообщение Announce будут игнорироваться, а часы будут переходить напрямую в режим Master и узел будет сохраняться активным ведущим. Такое поведение требуется для профиля Telecom.

Значение по умолчанию – N.

ptpengine:unicast_any_master [BOOLEAN]

При использовании согласования индивидуальной адресации (slave) задает восприятие сообщений PTP от любого GM. По умолчанию воспринимаются сообщения только от подходящих ведущих (ptpengine:unicast_destinations) при условии, что передача предоставлена GM. Эта установка может применяться при комбинации GM, поддерживающих G.8265.1, и заданной вручную (без согласования) индивидуальной адресации или для решения проблем взаимодействия, когда сигнальные и синхронизирующие сообщения приходят с разными идентификаторами порта.

Значение по умолчанию – N.

ptpengine:unicast_port_mask [INT: 0 .. 65535 (0xFFFF)]

Подстановочная маска номера порта PTP (16 битов) применяется к идентификаторам портов в процессе согласования индивидуальной адресации. Это позволяет воспринимать множество идентификаторов портов (с одним идентификатором часов) как один порт. Опция может применяться в качестве обходного пути в случаях, когда узел передает сигнальные и синхронизирующие сообщения из с разными идентификаторами порта. Маску можно указывать в шестнадцатеричном формате (0xNNNN).

Значение по умолчанию – 0.

ptpengine:disable_udp_checksums [BOOLEAN]

Отключает проверку контрольных сумм UDP на сокетах UDP (только Linux). Это позволяет обойти ситуации, когда узел (подобно Transparent Clock) не переписывает контрольную сумму. По умолчанию проверка включена.

Значение по умолчанию – Y

ptpengine:use_libpcap [BOOLEAN]

Задает использование libpcap для передачи и приема трафика (автоматически включается в режиме Ethernet). Требует сборки программы с libpcap, а опция сборки –disable-pcap не позволяет использовать эту функцию. Начиная с версии 2.3.1, в Solaris не используется libpcap, если при сборке не была указана опция -enable-experimental-options.

Значение по умолчанию – N.

ptpengine:delay_mechanism [SELECT]

Варианты – E2E, P2P, DELAY_DISABLED.

Задает использование механизма обнаружения задержки. Если нужна лишь синхронизация, следует выбирать DELAY_DISABLED. Режим E2E использует сообщения Delay Request, P2P – Peer Delay Request.

Значение по умолчанию – E2E

ptpengine:domain [INT: 0 .. 127]

Задает номер домена PTP.

Значение по умолчанию – 0.

ptpengine:any_domain [BOOLEAN]

При включенной опции часы в режиме «только ведомый» будут воспринимать ведущих из любого домена, предпочитая заданный в конфигурации домен и домены с меньшими номерами5. Эту опцию следует применять для часов, которые служат лишь ведомыми и не следует использовать при согласовании индивидуальной адресации.

Значение по умолчанию – N.

ptpengine:port_number [INT: 1 .. 65534]

Номер порта PTP (часть PTP Port Identity, а не порт UDP). Для обычных часов (один порт) следует использовать принятое по умолчанию значение, но при запуске нескольких экземпляров для имитации граничных часов номер порта можно менять.

Значение по умолчанию – 1

ptpengine:port_description [STRING: до 64 символов]

Пользовательское описание порта PTP, возвращаемое в ответ на сообщения USER_DESCRIPTION и CLOCK_DESCRIPTION.

Значение по умолчанию – [ptpd]

ptpengine:slave_only [BOOLEAN]

Задает работу в режиме «только ведомый» (slave only) и устанавливает класс часов 255, отменяя предустановку.

Значение по умолчанию – Y

ptpengine:inbound_latency [INT]

Задает корректировку задержки (в наносекундах) для входящих пакетов.

Значение по умолчанию – 0.

ptpengine:outbound_latency [INT]

Задает корректировку задержки (в наносекундах) для исходящих пакетов.

Значение по умолчанию – 0.

ptpengine:offset_shift [INT]

Применяет произвольное смещение (в наносекундах) к смещению относительно ведущего при работе в режиме ведомого. Значение может быть положительным и отрицательным и полезно для компенсации задержки в антеннах, асимметрии задержки и задержек в стеке IP. Это не проявляется в сдвиге относительно ведущего и отражается лишь в результирующей коррекции часов.

Значение по умолчанию – 0.

ptpengine:always_respect_utc_offset [BOOLEAN]

Опция для совместимости. В режиме всегда применяется смещение от UTC (часовой пояс), указанное ведущим, даже если для текущего флага currrentUtcOffsetValid установлено значение FALSE1.

Значение по умолчанию – N.

ptpengine:prefer_utc_offset_valid [BOOLEAN]

Расширение совместимости для алгоритма BMC. При включенной опции BMC для ведущих и ведомых часов будет предпочитать ведущего, анонсирующего currrentUtcOffsetValid = TRUE1.

Значение по умолчанию – N.

ptpengine:require_utc_offset_valid [BOOLEAN]

Опция для совместимости, при включении которой ptpd2 будет игнорировать сообщения Announce от ведущих, анонсирующих currentUtcOffsetValid = FALSE1.

Примечание. Такое поведение не описано в стандарте.

ptpengine:log_announce_interval [INT: -4 .. 7]

Интервал анонсов PTP в состоянии master. При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) для ведомых это значение служит начальным (минимальным) запрашиваемым интервалом, а для ведущих – минимальным предоставляемым интервалом. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 1.

ptpengine:log_announce_interval_max [INT: -1 .. 7]

При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) это будет максимальный интервал анонсирования, предоставляемый ведущим и максимальный интервал, который будет пытаться запросить ведомый. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 5.

ptpengine:announce_receipt_timeout [INT: 2 .. 255]

Тайм-аут приема анонсов PTP, анонсированный в состоянии master.

Значение по умолчанию – 6.

ptpengine:announce_receipt_grace_period [INT: 0 .. 20]

Тайм-аут приема анонсов PTP, применяемый в состоянии slave. При возникновении тайм-аута получения анонсов дисквалифицируется текущий лучший GM, затем выжидается n тайм-аутов получения анонсов перед сбросом. Это обеспечивает аккуратно восстановление при отказе GM, когда резервные GM реагируют медленно. При установке значения 0, эта опция не используется.

Значение по умолчанию – 0.

ptpengine:log_sync_interval [INT: -7 .. 7]

Интервал синхронизирующих сообщений PTP в состоянии master. При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) для ведомых это значение служит начальным (минимальным) запрашиваемым интервалом, а для ведущих – минимальным предоставляемым интервалом. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 0.

ptpengine:log_sync_interval_max [INT: -1 .. 7]

При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) это будет максимальный интервал Sync, предоставляемый ведущим, и максимальный вариант, который будут пытаться запросить ведомые. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 5.

ptpengine:log_delayreq_override [BOOLEAN]

Заменяет значение интервала Delay Request, предоставленное лучшим ведущим.

Значение по умолчанию – N.

ptpengine:log_delayreq_auto [BOOLEAN]

Автоматически заменяет значение интервала Delay Request (на ptpengine:log_delayreq_interval), если принятое значение равно 127 (0X7F), например в индивидуальных сообщениях, если не используется согласование индивидуальной адресации (ptpengine:unicast_negotiation).

Значение по умолчанию – Y.

ptpengine:log_delayreq_interval_initial [INT: -7 .. 7]

Интервал Delay Request, используемый до получения первого Delay Response. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 0.

ptpengine:log_delayreq_interval [INT: -7 .. 7]

Минимальный интервал Delay Request, анонсированный в состоянии master. В состоянии slave это значение переопределяет интервал ведущего. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д. При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) для ведомых это значение служит начальным (минимальным) запрашиваемым интервалом, а для ведущих – минимальным предоставляемым интервалом.

Значение по умолчанию – 0.

ptpengine:log_delayreq_interval_max [INT: -1 .. 7]

При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) это будет максимальный интервал Delay Request, предоставляемый ведущим, и максимальный вариант, который будут пытаться запросить ведомые. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

ptpengine:log_peer_delayreq_interval [INT: -7 .. 7]

Минимальный интервал Delay Request в одноранговом режиме. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д. При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) это значение служит начальным (минимальным) запрашиваемым у партнера интервалом и – минимальным предоставляемым партнеру интервалом.

Значение по умолчанию – 1.

ptpengine:log_peer_delayreq_interval_max [INT: -1 .. 7]

При использовании согласования индивидуальной адресации (ptpengine:unicast_negotiation) это будет максимальный интервал Delay Request для партнера, предоставляемый узлом и максимальный интервал, который узел будет пытаться запросить у партнера. Выражается в форме двоичного логарифма, -1=0,5 сек, 0=1 сек, 1=2 сек и т. д.

Значение по умолчанию – 5.

ptpengine:foreignrecord_capacity [INT: 5 .. 10]

Размер записей для внешних ведущих (максимальное число внешних ведущих).

Значение по умолчанию – 5.

ptpengine:ptp_allan_variance [INT: 0 .. 65535]

Задает вариацию Allan, анонсируемую в состоянии master.

Значение по умолчанию – 28768.

ptpengine:ptp_clock_accuracy [SELECT]

Варианты – ACC_25NS, ACC_100NS, ACC_250NS, ACC_1US, ACC_2.5US, ACC_10US, ACC_25US, ACC_100US, ACC_250US, ACC_1MS, ACC_2.5MS, ACC_10MS, ACC_25MS, ACC_100MS, ACC_250MS, ACC_1S, ACC_10S, ACC_10SPLUS, ACC_UNKNOWN.

Диапазон точности часов, анонсируемый в состоянии master.

Значение по умолчанию – ACC_UNKNOWN.

ptpengine:utc_offset [INT]

Смещение базового источника времени от UTC, анонсируемое в состоянии master.

Значение по умолчанию – 0.

ptpengine:utc_offset_valid [BOOLEAN]

Обоснованность смещения базового источника времени от UTC, анонсируемого в состоянии master.

Значение по умолчанию – N.

ptpengine:time_traceable [BOOLEAN]

Трассируемость смещения базового источника времени от UTC, анонсируемого в состоянии master.

Значение по умолчанию – N.

ptpengine:frequency_traceable [BOOLEAN]

Трассируемость частоты базового источника времени, анонсируемого в состоянии master.

Значение по умолчанию – N.

ptpengine:ptp_timescale [SELECT]

Варианты – PTP, ARB.

Шкала времени, анонсируемого в состоянии master (для ARB ведомые узлы игнорируют свойства UTC). Для класса часов 13 (зависит от приложения) это значение игнорируется и применяется ARB.

Значение по умолчанию – ARB.

ptpengine:ptp_timesource [SELECT]

Варианты – ATOMIC_CLOCK, GPS TERRESTRIAL_RADIO, PTP, NTP, HAND_SET, OTHER, INTERNAL_OSCILLATOR.

Источник времени, анонсируемый в состоянии master.

Значение по умолчанию – INTERNAL_OSCILLATOR.

ptpengine:clock_class [INT: 0 .. 255]

Класс часов, анонсируемый в состоянии master. Для режима «только ведомый» всегда 255. Минимальное, максимальное и принятое по умолчанию значения контролируются предустановками. При установке значения 13 (зависимый от приложения источник времени) анонсируемой шкалой времени всегда будет ARB. Эта настройка контролирует возможные состояния порта PTP. При значении меньше 128 порт может находиться лишь в состоянии MASTER или PASSIVE (master only). При значении больше 127 порт будет находится в состоянии MASTER или SLAVE.

Значение по умолчанию – 255.

ptpengine:priority1 [INT: 0 .. 248]

Значение Priority 1, анонсируемое в состоянии master и применяемое при выборе Best Master Clock.

Значение по умолчанию – 128.

ptpengine:priority2 [INT: 0 .. 248]

Значение Priority 2, анонсируемое в состоянии master и применяемое при выборе Best Master Clock.

Значение по умолчанию – 128.

ptpengine:max_listen [INT: min: 1 ]

Число последовательных сбросов протокола в состояние LISTENING перед полным сбросом сети.

Значение по умолчанию – 5.

ptpengine:unicast_destinations [STRING]

Адрес или список адресов IPv4, используемых для индивидуальных получателей. При включенном согласовании индивидуальной адресации (ptpengine:unicast_negotiation) эта настройка обязательна для ведомых, поскольку они должны знать, у каких GM запрашивать сообщения. При отключенном согласовании индивидуальной адресации эта настройка обязательна для GM, поскольку они должны доставлять сообщения заданной группе ведомых узлов.

Значение по умолчанию отсутствует.

ptpengine:unicast_domains [STRING]

Задает номер домена PTP для каждого настроенного индивидуального получателя (ptpengine:unicast_destinations). Эта настройка применяется лишь часами slave-only с множеством индивидуальных получателей, чтобы каждый ведущий узел был в своем домене, как это делается в профиле Telecom. Число записей должно совпадать с числом индивидуальных получателей, иначе для ненастроенных доменов или доменов 0 будут будет установлен номер из ptpengine:domain. Значения в виде целых чисел без знака (0 .. 255) разделяются запятыми, пробелами или символами табуляции.

Значение по умолчанию отсутствует.

ptpengine:unicast_local_preference [STRING]

Задает локальное предпочтение для каждого настроенного индивидуального получателя (ptpengine:unicast_destinations). Эта настройка применяется лишь часами slave-only с множеством индивидуальных получателей, чтобы каждый ведущий узел был в своем домене, как это делается в профиле Telecom. Число записей должно совпадать с числом индивидуальных получателей, иначе для ненастроенного предпочтения будет установлено значение 255 (минимум) и ненастроенные записи не будут вытеснять сконфигурированные. Значения в виде целых чисел без знака (0 .. 255) разделяются запятыми, пробелами или символами табуляции.

Значение по умолчанию отсутствует.

ptpengine:unicast_peer_destination [STRING]

При использовании режима IP с индивидуальной адресацией (ptpengine:ip_mode=unicast) и однорангового механизма задержки (ptpengine:delay_mechanism=P2P) партнер с индивидуальным адресом должен быть указан для запроса у него задержки. Формат использует индивидуальный адрес IPv4.

Значение по умолчанию отсутствует.

ptpengine:management_enable [BOOLEAN]

Включает обработку управляющих сообщений PTP. По умолчанию обрабатываются лишь сообщения GET. См. также ptpengine:management_set_enable.

Значение по умолчанию – Y.

ptpengine:management_set_enable [BOOLEAN]

Задает восприятие управляющих сообщений SET и COMMAND.

Значение по умолчанию – N.

ptpengine:igmp_refresh [BOOLEAN]

Передает явные запросы IGMP join между сбросами и периодически в состоянии master.

Значение по умолчанию – Y.

ptpengine:master_igmp_refresh_interval [INT: 0 .. 255]

Задает интервал (в секундах) периодической отправки IGMP join в состоянии master при групповой адресации IPv4. Значения меньше 10 или при отключенном ptpengine:igmp_refresh не оказывают никакого влияния.

Значение по умолчанию – 60.

ptpengine:multicast_ttl [INT: 1 .. 64]

Групповое время жизни для multicast-пакетов PTP (игнорируется и устанавливается 1 для одноранговых сообщений).

Значение по умолчанию – 64.

ptpengine:ip_dscp [INT: 0 .. 63]

Значение DiffServ для приоритизации пакетов (десятичное). При значении 0 опция не используется, 46 (0x2e) задает ускоренную пересылку.

Значение по умолчанию – 0.

ptpengine:sync_stat_filter_enable [BOOLEAN]

Включает статистический фильтр для сообщений Sync.

Значение по умолчанию – N.

ptpengine:sync_stat_filter_type [SELECT]

Варианты – none, mean, min, max, absmin, absmax, median.

Тип фильтра для сообщений Sync.

none – без фильтрации.

mean – среднее, сглаживание с учетом пиков.

min – минимальное значение, полезно при значительных вариациях задержки («удачливые пакеты»).

max – максимальное значение, полезно для тестирования наихудших сценариев.

absmin – абсолютный минимум (близко к нулю), полезно для тестирования.

absmax – абсолютный максимум (дальше всего от 0).

median – медиана (среднее значение) – более «здравое», нежели mean, но подверженное влиянию пиков.

Значение по умолчанию – min.

ptpengine:sync_stat_filter_window [INT: 3 .. 128]

Число выборок для статистического фильтра Sync.

Значение по умолчанию – 4.

ptpengine:sync_stat_filter_window_type [SELECT]

Варианты – sliding, interval.

Поведение окна выборки для статистического фильтра Sync.

sliding – скользящее окно – значение выводится при каждом запуске фильтра, что может вести к дублированию.

interval – выводит только значение каждой n-й выборки (полное окно), независимо от интервала выборки.

Значение по умолчанию – sliding.

ptpengine:delay_stat_filter_enable [BOOLEAN]

Включает статистический фильтр для сообщений Delay.

Значение по умолчанию – N.

ptpengine:delay_stat_filter_type [SELECT]

Варианты – none, mean, min, max, absmin, absmax, median.

Тип фильтра для сообщений Delay.

none – без фильтрации.

mean – среднее, сглаживание с учетом пиков.

min – минимальное значение, полезно при значительных вариациях задержки («удачливые пакеты»).

max – максимальное значение, полезно для тестирования наихудших сценариев.

absmin – абсолютный минимум (близко к нулю), полезно для тестирования.

absmax – абсолютный максимум (дальше всего от 0).

median – медиана (среднее значение) – более «здравое», нежели mean, но подверженное влиянию пиков.

Значение по умолчанию – min.

ptpengine:delay_stat_filter_window [INT: 3 .. 128]

Число выборок для статистического фильтра Delay.

Значение по умолчанию – 4.

ptpengine:delay_stat_filter_window_type [SELECT]

Варианты – sliding, interval.

Поведение окна выборки для статистического фильтра Delay.

sliding – скользящее окно – значение выводится при каждом запуске фильтра, что может вести к дублированию.

interval – выводит только значение каждой n-й выборки (полное окно), независимо от интервала выборки.

Значение по умолчанию – sliding.

ptpengine:delay_outlier_filter_enable [BOOLEAN]

Включает фильтр пиков для компоненты Delay Response в состоянии slave.

Значение по умолчанию – N.

ptpengine:delay_outlier_filter_action [SELECT]

Варианты – discard, filter.

Действие фильтра Delay Response. При установке значения filter, пики заменяются скользящим средним значением.

Значение по умолчанию – discard.

ptpengine:delay_outlier_filter_capacity [INT: 4 .. 60]

Число выборок в буфере фильтра пиков Delay Response.

Значение по умолчанию – 20.

ptpengine:delay_outlier_filter_threshold [FLOAT: 0.001000 .. 1000.000000]

Порог фильтра пиков Delay Response – множитель для максимального стандартного отклонения Пирса (Peirce). При значении больше 1,0 фильтр становится жестче стандартного фильтра Пирса.

Значение по умолчанию – 1.000000.

ptpengine:delay_outlier_filter_always_filter [BOOLEAN]

Всегда запускать фильтр пиков Delay Response, даже если часы «сбиваются с толку» при максимальной скорости.

Значение по умолчанию – N.

ptpengine:delay_outlier_filter_autotune_enable [BOOLEAN]

Автоматически включает контроль порога для фильтра пиков Delay Response.

Значение по умолчанию – Y.

ptpengine:delay_outlier_filter_autotune_minpercent [INT: 0 .. 99]

Нижняя граница автонастройки фильтра пиков Delay Response – минимальный процент отброшенных выборок за интервал обновления перед тем, как фильтр будет смягчен на шаг автонастройки.

Значение по умолчанию – 20.

ptpengine:delay_outlier_filter_autotune_maxpercent [INT: 1 .. 100]

Верхняя граница автонастройки фильтра пиков Delay Response – максимальный процент отброшенных выборок за интервал обновления перед тем, как фильтр будет усилен на шаг автонастройки.

Значение по умолчанию – 95.

ptpengine:delay_outlier_filter_autotune_step [FLOAT: 0.010000 .. 10.000000]

Шаг изменения порога фильтра пиков Delay Response для увеличения и уменьшения при автонастройке.

Значение по умолчанию – 0..10.0000

ptpengine:delay_outlier_filter_autotune_minthreshold [FLOAT: 0.010000 .. 10.000000]

Нижний предел фильтра Delay Response при автонастройке.

Значение по умолчанию – 0..10.0000

ptpengine:delay_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 .. 10.000000]

Верхний предел фильтра Delay Response при автонастройке.

Значение по умолчанию – 5.000000.

ptpengine:delay_outlier_weight [FLOAT: 0.010000 .. 2.000000]

Вес для пиков Delay Response. При обнаружении пика определяется его отклонение от среднего значения, которое применяется для создания статистики стандартных отклонений и влияет на последующее детектирование пиков. При установке значения 1.0 пики используются без «взвешивания».

Значение по умолчанию – 1.000000.

ptpengine:delay_outlier_filter_stepdetect_enable [BOOLEAN]

Включает детектирование шагов фильтра Delay Response (delaySM) для блокировки при достижении некого значения.

Значение по умолчанию – N.

ptpengine:delay_outlier_filter_stepdetect_threshold [INT: 50000 .. 999999999]

Порог детектирования шага. Детектирование выполняется только при значении delaySM (в наносекундах) ниже порога.

Значение по умолчанию – 1000000.

ptpengine:delay_outlier_filter_stepdetect_level [INT: 50000 .. 999999999]

Уровень шага задержки. При включенном и работающем детектировании шагов значение delaySM выше этого уровня (в наносекундах) считается шагом часов и обновления приостанавливаются.

Значение по умолчанию – 500000.

ptpengine:delay_outlier_filter_stepdetect_credit [INT: 50 .. 1000]

Начальный запас (число выборок) фильтра детектирования шагов Delay, для которого фильтр может начать блокировку. При исчерпании запаса фильтр прекращает блокировку. Запас постепенно восстанавливается (ptpengine:delay_outlier_filter_stepdetect_credit_increment).

Значение по умолчанию – 200.

ptpengine:delay_outlier_filter_stepdetect_credit_increment [INT: 1 .. 100]

Величина запаса для фильтра детектирования шагов Delay, восстанавливаемая после каждого полного окна выборки.

Значение по умолчанию – 10.

ptpengine:sync_outlier_filter_enable [BOOLEAN]

Включает фильтр пиков для компоненты Sync в состоянии slave.

Значение по умолчанию – N.

ptpengine:sync_outlier_filter_action [SELECT]

Варианты – discard, filter.

Действие фильтра пиков Sync. При установке filter пики заменяются скользящим средним значением.

Значение по умолчанию – discard.

ptpengine:sync_outlier_filter_capacity [INT: 4 .. 60]

Число выборок для буфера фильтра пиков Sync.

Значение по умолчанию – 20.

ptpengine:sync_outlier_filter_threshold [FLOAT: 0.001000 .. 1000.000000]

Порог фильтра пиков Sync – множитель для максимального стандартного отклонения Пирса (Peirce). При значении больше 1,0 фильтр становится жестче стандартного фильтра Пирса.

Значение по умолчанию – 1.000000.

ptpengine:sync_outlier_filter_always_filter

Всегда запускать фильтр пиков Sync, даже если часы «сбиваются с толку» при максимальной скорости.

Значение по умолчанию – N.

ptpengine:sync_outlier_filter_autotune_enable [BOOLEAN]

Включает автоматический контроль порога для фильтра пиков Sync.

Значение по умолчанию – Y.

ptpengine:sync_outlier_filter_autotune_minpercent [INT: 0 .. 99]

Нижняя граница автонастройки фильтра пиков Sync – минимальный процент отброшенных выборок за интервал обновления перед тем, как фильтр будет смягчен на шаг автонастройки.

Значение по умолчанию – 20.

ptpengine:sync_outlier_filter_autotune_maxpercent [INT: 1 .. 100]

Верхняя граница автонастройки фильтра пиков Sync – максимальный процент отброшенных выборок за интервал обновления перед тем, как фильтр будет усилен на шаг автонастройки.

Значение по умолчанию – 95.

ptpengine:sync_outlier_filter_autotune_step [FLOAT: 0.010000 .. 10.000000]

Шаг изменения порога фильтра пиков Sync для увеличения и уменьшения при автонастройке.

Значение по умолчанию – 0..100000

ptpengine:sync_outlier_filter_autotune_minthreshold [FLOAT: 0.010000 .. 10.000000]

Нижний предел фильтра Sync при автонастройке.

Значение по умолчанию – 0..100000.

ptpengine:sync_outlier_filter_autotune_maxthreshold [FLOAT: 0.010000 .. 10.000000]

Верхний предел фильтра Sync при автонастройке.

default 5.000000

ptpengine:sync_outlier_weight [FLOAT: 0.010000 .. 2.000000]

Вес для пиков Sync. При обнаружении пика определяется его отклонение от среднего значения, которое применяется для создания статистики стандартных отклонений и влияет на последующее детектирование пиков. При установке значения 1.0 пики используются без «взвешивания».

Значение по умолчанию – 1.000000.

ptpengine:sync_outlier_filter_stepdetect_enable [BOOLEAN]

Включает детектирование шагов фильтра Sync (delaySM) для блокировки при достижении некого значения.

Значение по умолчанию – N.

ptpengine:sync_outlier_filter_stepdetect_threshold [INT: 50000 .. 999999999]

Порог детектирования шага. Детектирование выполняется только при значении delaySM (в наносекундах) ниже порога.

Значение по умолчанию – 1000000.

ptpengine:sync_outlier_filter_stepdetect_level [INT: 50000 .. 999999999]

Уровень шага задержки. При включенном и работающем детектировании шагов значение delaySM выше этого уровня (в наносекундах) считается шагом часов и обновления приостанавливаются.

Значение по умолчанию – 500000.

ptpengine:sync_outlier_filter_stepdetect_credit [INT: 50 .. 1000]

Начальный запас (число выборок) фильтра детектирования шагов Sync, для которого фильтр может начать блокировку. При исчерпании запаса фильтр прекращает блокировку. Запас постепенно восстанавливается (ptpengine:sync_outlier_filter_stepdetect_credit_increment).

Значение по умолчанию – 200.

ptpengine:sync_outlier_filter_stepdetect_credit_increment [INT: 1 .. 100]

Величина запаса для фильтра детектирования шагов Sync, восстанавливаемая после каждого полного окна выборки.

Значение по умолчанию – 10.

ptpengine:sync_sequence_checking [BOOLEAN]

При включенной опции сообщения Sync воспринимаются лишь при росте порядковых номеров6.

Значение по умолчанию – N.

ptpengine:clock_update_timeout [INT: 0 .. 3600]

Отличное от нуля значение задает время (в секундах) перед сбросом ведомого узла в состояние PTP_LISTENING, если нет обновления часов. Это полезно в ситуациях, когда ведомый узел находится в состоянии SLAVE (приме Announce), но не получает или не воспринимает сообщения Sync.

Значение по умолчанию – 0.

ptpengine:calibration_delay [INT: 0 .. 300]

Задержка (в секундах) между переходом в состояние ведомого и разрешением обновлять часы. Это позволяет стабилизировать среднюю задержку в пути перед началом обновления часов. Активизируется при переходе в состояние ведомого и переключении GM, используемого ведомым. При значении 0 задержка не используется.

Значение по умолчанию – 0.

ptpengine:idle_timeout [INT: 10 .. 3600]

Тайм-аут бездействия PTP (в секундах). Если PTPd находится в состоянии SLAVE и не было обновлений часов в течение этого времени, PTPd освобождает управления часами.

Значение по умолчанию – 0.

ptpengine:offset_alarm_threshold [INT: 0 .. 999999999]

Порог разницы между Slave и Master для сигнала PTP (в наносекундах). При отличном от нуля значении генерируется сигнал, если разница времени между ведущим и ведомым узлами PTP проходит через этот порог. Сигнал записывается в журнал, указывается в файле состояния и передается прерывание SNMP, если протокол SNMP включен. Аналогичное уведомление создается при пересечении порога в обратном направлении. При нулевом пороге проверка не выполняется.

Значение по умолчанию – 0.

ptpengine:panic_mode [BOOLEAN]

Включает режим тревоги. Когда отклонение часов ведущего и ведомого превышает 1 секунду, обновление часов останавливается на время, а затем часы корректируются, если сохраняется разница больше 1 секунды.

Значение по умолчанию – N.

ptpengine:panic_mode_duration [INT: 1 .. 60]

Продолжительность (в минутах) состояния тревоги (без обновления часов) при разнице времени более 1 секунды.

Значение по умолчанию – 2.

ptpengine:panic_mode_release_clock [BOOLEAN]

При входе в режим тревоги управление часами освобождается на весь период тревоги. Если этот режим не задан, PTP будет контролировать часы в режиме тревоги. При установке вместе с ntpengine:* произойдет переключение на NTP.

Значение по умолчанию – N.

ptpengine:panic_mode_exit_threshold [INT: 0 .. 999999999]

Не выходить из режима тревоги, пока разница часов не опустится ниже этого значения (в наносекундах). При значении 0 не используется.

Значение по умолчанию – 0.

ptpengine:pid_as_clock_identity [BOOLEAN]

Идентификатор процесса ptpd служит средней частью идентификатора часов PTP. Полезно при запуске множества экземпляров.

Значение по умолчанию – N.

ptpengine:ntp_failover [BOOLEAN]

Переключение на NTP при невозможности синхронизации по PTP. Требует ntpengine:enabled, но не требует другой настройки конфигурации NTP и будет выдавать предупреждение взамен переключения, если нет управления ntpd.

Значение по умолчанию – N.

ptpengine:ntp_failover_timeout [INT: 0 .. 1800]

Тайм-аут переключения на NTP в секундах – время между переходом ведомого узла PTP в состояние LISTENING и переключением на NTP. Значение 0 задает незамедлительное переключение. Эта настройка управляет временем удержания выбора источника точного времени.

Значение по умолчанию – 60.

ptpengine:prefer_ntp [BOOLEAN]

Задает предпочтение синхронизации NTP с использованием PTP лишь при недоступности NTP. Подходит для использования NTP с локальным приемником GPS или иным устройством точного времени.

Значение по умолчанию – N.

ptpengine:panic_mode_ntp [BOOLEAN]

Отменена в версии 2.3.1, но поддерживается (см. ptppengine:panic_mode_release_clock).

Значение по умолчанию – N.

ptpengine:sigusr2_clears_counters [BOOLEAN]

Сбрасывает все счетчики после записи дампа по сигналу SIGUSR2.

Значение по умолчанию – N.

ptpengine:timing_acl_permit [STRING]

Разрешающий список контроля доступа для сигнальных и синхронизирующих сообщений. Строка представляет собой последовательность префиксов и/или адресов IP, разделенных запятыми, пробелами, символами табуляции или точки с запятой. Принимается нотация CIDR (a.b.c.d/mm), отдельные адреса IP (a.b.c.d) или полное указание сети и маски (a.b.c.d/m.m.m.m). Можно применять сокращения вида 172.16/12 вместо 172.16.0.0/12 или 192.168/255.255 вместо 192.168.0.0/255.255.0.0 и т. п. Выполняется сопоставление списка с IP-отправителя во входящих сообщениях. Списки доступа IP поддерживаются только в транспортном режиме IP.

Значение по умолчанию отсутствует.

ptpengine:timing_acl_deny [STRING]

Запрещающий список контроля доступа для сигнальных и синхронизирующих сообщений. Строка представляет собой последовательность префиксов и/или адресов IP, разделенных запятыми, пробелами, символами табуляции или точки с запятой. Принимается нотация CIDR (a.b.c.d/mm), отдельные адреса IP (a.b.c.d) или полное указание сети и маски (a.b.c.d/m.m.m.m). Можно применять сокращения вида 172.16/12 вместо 172.16.0.0/12 или 192.168/255.255 вместо 192.168.0.0/255.255.0.0 и т. п. Выполняется сопоставление списка с IP-отправителя во входящих сообщениях. Списки доступа IP поддерживаются только в транспортном режиме IP.

Значение по умолчанию отсутствует.

ptpengine:management_acl_permit [STRING]

Разрешающий список контроля доступа для управляющих сообщений. Строка представляет собой последовательность префиксов и/или адресов IP, разделенных запятыми, пробелами, символами табуляции или точки с запятой. Принимается нотация CIDR (a.b.c.d/mm), отдельные адреса IP (a.b.c.d) или полное указание сети и маски (a.b.c.d/m.m.m.m). Можно применять сокращения вида 172.16/12 вместо 172.16.0.0/12 или 192.168/255.255 вместо 192.168.0.0/255.255.0.0 и т. п. Выполняется сопоставление списка с IP-отправителя во входящих сообщениях. Списки доступа IP поддерживаются только в транспортном режиме IP.

Значение по умолчанию отсутствует.

ptpengine:management_acl_deny [STRING]

Запрещающий список контроля доступа для управляющих сообщений. Строка представляет собой последовательность префиксов и/или адресов IP, разделенных запятыми, пробелами, символами табуляции или точки с запятой. Принимается нотация CIDR (a.b.c.d/mm), отдельные адреса IP (a.b.c.d) или полное указание сети и маски (a.b.c.d/m.m.m.m). Можно применять сокращения вида 172.16/12 вместо 172.16.0.0/12 или 192.168/255.255 вместо 192.168.0.0/255.255.0.0 и т. п. Выполняется сопоставление списка с IP-отправителя во входящих сообщениях. Списки доступа IP поддерживаются только в транспортном режиме IP.

Значение по умолчанию отсутствует.

ptpengine:timing_acl_order [SELECT]

Варианты – permit-deny, deny-permit.

Порядок, в котором применяются разрешающие и запрещающие списки контроля доступа для сигнальных и синхронизирующих сообщений. Процесс совпадает с принятым в Apache httpd (см. http://httpd.apache.org/docs/current/mod/mod_access_compat.html#order).

Значение по умолчанию – deny-permit.

ptpengine:management_acl_order [SELECT]

Варианты – permit-deny, deny-permit.

Порядок, в котором применяются разрешающие и запрещающие списки контроля доступа для управляющих сообщений. Процесс совпадает с принятым в Apache httpd (см. http://httpd.apache.org/docs/current/mod/mod_access_compat.html#order).

Значение по умолчанию – deny-permit.

clock:no_adjust [BOOLEAN]

Не корректировать часы.

Значение по умолчанию – N.

clock:no_reset [BOOLEAN]

Не сбрасывать часы, только «подводить».

Значение по умолчанию – N.

clock:step_startup_force [BOOLEAN]

Принудительно корректировать часы после запуска независимо от сдвига и установки clock:no_reset.

Значение по умолчанию – N.

clock:step_startup [BOOLEAN]

Корректировать часы при старте только при разнице не меньше 1 секунды, игнорируя режим тревоги и clock:no_reset.

Значение по умолчанию – N.

clock:set_rtc_on_step [BOOLEAN]

Пытаться установить RTC7 при корректировке часов (только Linux, во FreeBSD это делается автоматически).

Значение по умолчанию – N.

clock:drift_handling [SELECT]

Варианты – reset, preserve, file.

Наблюдаемый метод обработки дрейфа между запусками корректировки.

reset – сброс в 0 (не рекомендуется).

preserve – использовать значение в ядре.

file – загрузить/сохранить при запуске/отключении с использованием в промежутке значения из ядра. Для задания файла с записью дрейфа служит параметр clock:drift_file.

Значение по умолчанию – preserve.

clock:drift_file [STRING]

Задает файл для записи дрейфа.

Значение по умолчанию – /etc/ptpd2_kernelclock.drift.

clock:leap_seconds_file [STRING]

Задает местоположение файла с описанием високосных секунд (актуальную версию можно загрузить по ссылке). Когда этот параметр задан, ведущий узел PTP использует данные из файла для анонсирования флагов leap и смещения UTC, переписывающих настройки ОС, а ведомый узел PTP будет использовать эти данные вместе с информацией, полученной от GM. При наличии этой опции файл всегда будет загружаться заново при перезагрузке конфигурации (SIGHUP), переводе часов и после високосной секунды, чтобы гарантировать своевременность информации. Начиная с 2.3.1, файл входит в комплект ptpd и размещается в (prefix)/share/ptpd/leap-seconds.list.ddMMMyyyy, где ddMMMyyyy – дата завершения срока действия файла високосных секунд.

Значение по умолчанию отсутствует.

clock:leap_second_pause_period [INT: 5 .. 600]

Время (в секундах) до или после полуночи, когда обновление часов должно быть приостановлено на время события, связанного с високосной секундой. Общая продолжительность паузы вдвое превышает заданное значение. Обновление часов приостанавливается при наличии ожидания високоскной секунды, а время приостановки до или после полуночи не превышает этого значения. Обновление часов восстанавливается контролируемым способом, после управляющего сообщения, такого как анонс PTP. Это гарантирует получение обновленного смещения UTC до дальнейшего обновления часов.

Значение по умолчанию – 5.

clock:leap_second_notice_period [INT: 3600 .. 86400]

Время (в секундах) до полуночи, когда PTPd начинает анонсирование високосной секунды при работе в роли ведущего. Стандарт IEEE 1588 предлагает уведомление за 12 часов и это значение применяется по умолчанию, но может быть изменено для повышения гибкости.

Значение по умолчанию – 43200.

clock:leap_second_handling [SELECT]

Варианты – accept, ignore, step, smear.

Поведение синхронизации часов во время високосной секунды.

accept – информировать ядро ОС о високосной секунде и позволить ему добавить или удалить високосную секунду.

ignore – не информировать ядро ОС, это приводит к смещению +/-1 секунда, которое затем будет устранено.

step – не информировать и перевести часы сразу после високосной секунды.

smear – постепенно вводить дополнительное смещение в течение интервала времени перед високосной секундой, аккумулируя сдвиг +/-1 сек. (clock:leap_second_smear_period). После стабилизации часов это приводит к сдвигу частоты часов, который устраняется после события. Когда високосная секунда закончится, дополнительный сдвиг тоже удаляется и время возвращается к соответствию с первичным источником.

Значение по умолчанию – accept.

clock:leap_second_smear_period [INT: 3600 .. 86400]

При установке clock:leap_second_handling = smear, этот параметр определяет период (в секундах, до события високосной секунды, в течение которого високосная секунда постепенно добавляется. Например, при установке 24 часов (86400 секунд), добавляется +/-11,5 микросекунд за каждую секунду (сдвиг частоты 11,5 ppm).

Значение по умолчанию – 86400.

clock:max_offset_ppm [INT: 500 .. 1000]

Максимальный абсолютный сдвиг частоты, который может применяться к корректировке часов при их «подводе». Выражается в миллионных долях (1 ppm – сдвиг на 1 мксек. за секунду). Значения больше 512 будут использовать корректировку продолжительности такта для более быстрого «подвода». Максимальное значение, принятое по умолчанию, составляет 512 без использования «тика».

Значение по умолчанию – 500.

servo:delayfilter_stiffness [INT]

Жесткость фильтра Mean Path Delay (средняя задержка).

Значение по умолчанию – 6.

servo:kp [FLOAT: min: 0.000001 ]

Усиление пропорциональной компоненты сервоконтроллера PI (kP).

Значение по умолчанию – 0..100000

servo:ki [FLOAT: min: 0.000001 ]

Усиление интегральной компоненты сервоконтроллера PI (kI).

Значение по умолчанию – 0..001000

servo:dt_method [SELECT]

Варианты – none, constant, measured.

Задает способ расчета интервала обновления следящей системы (delta t).

none – интервал обновления не меняется (dt всегда 1),

constant – постоянное значение (целевая частота обновления) – интервал синхронизации для PTP,

measured – следящая система измеряет частоту обновления и использует этот интервал.

Значение по умолчанию – constant.

servo:dt_max [FLOAT: 1.500000 .. 100.000000]

Задает максимальный интервал обновления (delta t) при использовании режима measured (servo:dt_method = measured), задаваемый как множитель интервала синхронизации.

Значение по умолчанию – 5.000000.

servo:stability_detection [BOOLEAN]

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

Значение по умолчанию – N.

servo:stability_threshold [FLOAT: 1.000000 .. 10000.000000]

Задает порог стандартного отклонения наблюдаемого дрейфа в миллиардных долях (ppb). Если стандартное отклонение ниже этого порога, следящая система считается стабильной.

Значение по умолчанию – 5.000000.

servo:stability_period [INT: 1 .. 100]

Задает число интервалов обновления, в течение которых наблюдаемое стандартное отклонение дрейфа должно оставаться ниже порога, чтобы считаться стабильным.

Значение по умолчанию – 3.

servo:stability_timeout [INT: 1 .. 60]

Задает число минут без стабилизации, по истечении которого следящая система считается нестабильной. Помогает с записью информации о стабильности следящей системы и позволяет сохранить наблюдаемый дрейф, если следящая система не может стабилизироваться.

Значение по умолчанию – 10.

servo:max_delay [INT: 0 .. 999999999]

Не воспринимать задержку от ведущего к ведомому (delayMS из сообщений Sync) или от ведомого к ведущему (delaySM из сообщений Delay Response), если она превышает это значение (в наносекундах). При значении 0 не применяется.

Значение по умолчанию – 0.

servo:max_delay_max_rejected [INT: min: 0 ]

Максимальное число последовательных отвергнутых измерений задержки с превышением порога maxDelay (servo:max_delay) перед сбросом ведомого узла. При значении 0 проверка не проводится.

Значение по умолчанию – 0.

servo:max_delay_stable_only [BOOLEAN]

Если установлен параметр max_delay, выполнять проверку только при стабилизированной следящей системе.

Значение по умолчанию – N.

servo:max_offset [INT: 0 .. 999999999]

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

Значение по умолчанию – 0.

global:config_templates [STRING]

Список разделенных запятыми, пробелами или символами табуляции имен шаблонов, применяемых в конфигурации (см. Конфигурационные шаблоны и файлы шаблонов). Шаблоны применяются в порядке их указания, поэтому перекрывающиеся установки будут взяты из последнего шаблона, где они присутствуют. PTPd поддерживает встроенные шаблоны, для просмотра которых можно воспользоваться командой ptpd2 -T (или –show-templates).

Значение по умолчанию отсутствует.

global:template_files [STRING]

Список разделенных запятыми, пробелами или символами табуляции имен файлов шаблонов, применяемых в конфигурации (см. Конфигурационные шаблоны и файлы шаблонов). Шаблоны загружаются и применяются в порядке их указания, поэтому перекрывающиеся установки будут взяты из последнего шаблона, где они присутствуют. PTPd не будет прерывать работу, если один или несколько файлов не удалось открыть. PTPd всегда пытается при старте загрузить шаблоны из файла /usr/share/ptpd/templates.conf.

Значение по умолчанию отсутствует.

global:enable_alarms [BOOLEAN]

Включает поддержку сигналов и уведомлений о событиях. Сигналы включают самодиагностику базовых ошибок и событий, таких как смена ведущего или параметров времени. При включенной поддержке SNMP (global:enable_snmp) и прерываний SNMP (global:enable_snmp_traps) сигналы вызывают прерывания SNMP.

Значение по умолчанию – N.

global:alarm_timeout [INT: 0 .. 3600]

Минимальный возраст сигнала (в секундах) – минимальное время между установкой сигнала и сбросом уведомлений. Условие может быть снято при действующем сигнале, но уведомление (журнал или SNMP) будет срабатывать только после тайм-аута. Это предотвращает ложные уведомление при повторяющемся возникновении и снятии условия.

Значение по умолчанию – 30.

global:alarm_initial_delay [INT: 0 .. 3600]

Задержка (в секундах) начала обработки сигналов после запуска ptpd. Эта опция позволяет предотвратить ненужные сигналы, пока PTPd начинает синхронизацию, что должно произойти в течение нескольких секунд, но может затянуться в случаях, когда групповая передача должна сходиться в восходящем направлении или имеется несоответствие между интервалами сообщений и индивидуальная сигнализация должна скорректировать их до приемлемых значений. Это также предотвращает слишком ранние оповещения о разнице времени с ведущим узлом при старте (ptpengine:offset_alarm_threshold) – задержка может быть увеличена для охвата начального периода синхронизации, однако это не рекомендуется, поскольку сигнал о смещении часов после запуска может указывать на «холодный» старт ведомого узла.

Значение по умолчанию – 10.

global:enable_snmp [BOOLEAN]

Включает агент SNMP (если программа собрана с опцией PTPD_SNMP).

Значение по умолчанию – N.

global:enable_snmp_traps [BOOLEAN]

Включает уведомления о сигналах и событиях через прерывания SNMP. Требуется сборка PTPd с опцией PTPD_SNMP и включенная сигнализация (global:enable_alarms).

Значение по умолчанию – N.

global:use_syslog [BOOLEAN]

Передает журнальные сообщения в syslog. Отключение этой опции будет направлять все сообщения на стандартный вывод (stdout) или в заданный журнальный файл.

Значение по умолчанию – N.

global:lock_file [STRING]

Указывает местоположение файла блокировки.

Значение по умолчанию отсутствует.

global:auto_lockfile [BOOLEAN]

Задает связанный с режимом и интерфейсом файл блокировки (переопределяет global:lock_file).

Значение по умолчанию – N.

global:lock_directory [STRING]

Задает каталог для файлов блокировки и служит для автоматического выбора файлов блокировки для интерфейсов или в случае незаданного файла блокировки. Если файл блокировки задан, для него предполагается полный путь.

Значение по умолчанию – /var/run.

global:ignore_lock [BOOLEAN]

Пропускать проверку и блокировку файла блокировки.

Значение по умолчанию – N.

global:quality_file [STRING]

Файл, служащий для записи данных о пакетах Sync. При указании файла включается запись в него.

Значение по умолчанию отсутствует.

global:quality_file_max_size [INT: min: 0 ]

Максимальный размер файла записи пакетов Sync (в килобайтах). По достижении заданного размера содержимое файла будет отсекаться. 0 указывает неограниченный размер.

Значение по умолчанию – 0.

global:quality_file_max_files [INT: 0 .. 100]

Включает ротацию журналов записи пакетов Sync с использованием до n файлов. При значении 0 ротации не будет.

Значение по умолчанию – 0.

global:quality_file_truncate [BOOLEAN]

Отсекает содержимое файла записи пакетов Sync при каждом его открытии (запуск программы или сигнал SIGHUP).

Значение по умолчанию – N.

global:status_file [STRING]

Задает файл для записи информации о состоянии ptpd2.

Значение по умолчанию – /var/run/ptpd2.status.

global:log_status [BOOLEAN]

Включает и отключает запись информации о состоянии в журнальный файл.

Значение по умолчанию – N.

global:status_update_interval [INT: 1 .. 30]

Задает интервал обновления файла статуса (в секундах).

Значение по умолчанию – 1.

global:log_file [STRING]

Задает имя журнального файла (журнал событий). Указание файла включает запись событий.

Значение по умолчанию отсутствует.

global:log_file_max_size [INT: min: 0 ]

Максимальный размер файла записи событий (в килобайтах). По достижении заданного размера содержимое файла будет отсекаться. 0 указывает неограниченный размер.

Значение по умолчанию – 0.

global:log_file_max_files [INT: 0 .. 100]

Включает ротацию журнала событий с использованием до n файлов. При значении 0 ротации не будет.

Значение по умолчанию – 0.

global:log_file_truncate [BOOLEAN]

Отсекает содержимое файла записи событий при каждом его открытии (запуск программы или сигнал SIGHUP).

Значение по умолчанию – N.

global:log_level [SELECT]

options LOG_ERR LOG_WARNING LOG_NOTICE LOG_INFO LOG_ALL

Задает уровень событий для записи в журнал (записываются события с приоритетом не ниже указанного). Минимальным уровнем является LOG_ERR. LOG_ALL включает запись отладочной информации, если программа собрана с опцией RUNTIME_DEBUG.

Значение по умолчанию – LOG_ALL.

global:statistics_file [STRING]

Задает путь к журналу статистики. Указание файла включает запись статистики, но это можно переопределить установкой global:log_statistics.

Значение по умолчанию отсутствует.

global:statistics_log_interval [INT: min: 0 ]

Задает запись за каждые n секунд статистики сообщений Sync и Delay (0 – записывать все).

Значение по умолчанию – 0.

global:statistics_file_max_size [INT: min: 0 ]

Максимальный размер файла статистики (в килобайтах). По достижении заданного размера содержимое файла будет отсекаться. 0 указывает неограниченный размер.

Значение по умолчанию – 0.

global:statistics_file_max_files [INT: 0 .. 100]

Включает ротацию статистики с использованием до n файлов. При значении 0 ротации не будет.

Значение по умолчанию – 0.

global:statistics_file_truncate [BOOLEAN]

Отсекает содержимое файла статистики при каждом его открытии (запуск программы или сигнал SIGHUP).

Значение по умолчанию – N.

global:dump_packets [BOOLEAN]

Запись содержимого каждого пакета PTP.

Значение по умолчанию – N.

global:verbose_foreground [BOOLEAN]

Задает работу в приоритетном режиме (foreground) с выводом статистики и сообщений в stdout. Переопределяет файлы журнала и статистики, отменяет запись в syslog.

Значение по умолчанию – N.

global:foreground [BOOLEAN]

Задает работу а приоритетном режиме (foreground), игнорируется при установке global:verbose_foreground.

Значение по умолчанию – N.

global:log_statistics [BOOLEAN]

Задает запись статистики синхронизации для каждого полученного пакета PTP. Запись выполняется в формате CSV с включением имен полей при запуске или обновлении журнала статистики.

Значение по умолчанию – N.

global:statistics_timestamp_format [SELECT]

Варианты – datetime, unix, both.

Формат временные меток для журнала статистики синхронизации (при включенной опции global:log_statistics).

datetime – дата и время в формате YYYY-MM-DD hh:mm:ss.uuuuuu.

unix – Unix timestamp с наносекундами – s.ns

both – форматированная дата и время, затем временная метка Unix (добавляется поле в журнал)

Значение по умолчанию – datetime.

global:periodic_updates [BOOLEAN]

Обновлять журнал состояния при каждом обновлении статистики (global:statistics_update_interval). Обновление записывается в основной журнал. Обновления состояния записываются даже при отключенной в ptpd поддержке статистики.

Значение по умолчанию – N.

global:cpuaffinity_cpucore [INT: -1 .. 255]

Связывает процесс ptpd2 с указанным ядром CPU (0 – первый процессор и т. д., -1 – без привязки к конкретному ядру).

Значение по умолчанию – 0.

global:statistics_update_interval [INT: 1 .. 60]

Интервал обновления статистики синхронизации (в секундах). Контролирует также частоту записи состояний при использовании global:statistics_update_interval.

Значение по умолчанию – 30.

global:timingdomain_election_delay [INT: 0 .. 3600 ]

Задержка (в секундах) перед освобождением службы времени (NTP или PTP) и выбором новой для контроля часов. Для незамедлительного выбора используется значение 0.

Значение по умолчанию – 15.

ntpengine:enabled [BOOLEAN]

Включает интеграцию с NTPd.

Значение по умолчанию – N.

ntpengine:control_enabled [BOOLEAN]

Включает управление локальным демоном NTPd.

Значение по умолчанию – N.

ntpengine:check_interval [INT: 5 .. 600]

Интервал проверки NTP (в секундах)

Значение по умолчанию – 15.

ntpengine:key_id [INT: 0 .. 65535]

Номер ключа NTP. Должен быть указан как доверенный ключ управления в файле ntp.conf и быть отличным от 0, чтобы работала опция ntpengine:control_enabled.

Значение по умолчанию – 0.

ntpengine:key [STRING]

Ключ NTP (нешифрованный, до 20 символов), который должен соответствовать ключу из файла ключей ntpd и быть непустым, чтобы работала опция ntpengine:control_enabled.

Значение по умолчанию отсутствует.

Ошибки

Поддержка конфигурационного файла добавлена в версии 2.3. Могут возникать несоответствия в способе анализа некоторых параметров. Хотя порядок параметров не должен оказывать влияния, для некоторых сложных вариантов это может происходить.

При обнаружении каких-либо ошибок сообщайте о них через страницу SourceForge.

По материалам руководств man

Николай Малых

nmalykh@protokols.ru

1Использование этой опции без global:log_statistics Y ведет к ошибке (core dump).

2Comma-separated values – разделенные запятыми значения.

3Предварительные установки влияют на настройку ptpengine:slave_only, clock_no_adjust и ptpengine:clock_class (диапазон и значение по умолчанию). Для просмотра предварительных установок служит команда ptpd2 -H или (–long-help)

4Для транспорта Ethernet нужна сборка с libpcap, такой транспорт не поддерживается в Solaris с версии 2.3.1 и не может использоваться на таких системах, если при компиляции ptpd не была задана опция enable-experimental-options.

5Такое поведение не описано в стандарте.

6Это может вызвать временную блокировку ведомого узла, если GM перезапустится до тайм-аута анонсов, поэтому вводится ограничение на 50 последовательных ошибок номеров. Можно также использовать ptpengine:clock_update_timeout для сброса ведомого заранее.

7RTC будет устанавливаться в соответствии с часами ОС независимо от часового пояса, поэтому предполагается, что в RTC применяется время UTC или иным способом задана одинаковая с PTP шкала времени. Это верно для большинства систем x86 с одной загрузкой.

Запись опубликована в рубрике Linux, Измерения и тестирование. Добавьте в закладки постоянную ссылку.