Кратко
- Явная нешаблонная конфигурация имеет высший приоритет; ближайший предок сильнее дальнего; в одной точке конфликта выигрывает первый применимый шаблон в списке, упорядоченном клиентом.
- Для воспроизведения нужны полные одновременные
runningиsystem, определения, места и порядок применения, ключи для I-Regexp и явные переопределения. Это не доказывает исходный запрос, отсутствие гонки, NACM, идентичность реализации или трафик.
Одинаковое дерево результата кажется сильным доказательством: сервер показал intended, автономный инструмент построил то же самое. Но совпадение выхода не делает преобразование обратимым. Несколько наборов шаблонов и переопределений способны дать один результат, а промежуточные правки могут исчезнуть из окончательного снимка.
draft-tt-netmod-yang-config-templates-03 задаёт три уровня приоритета. Обычная явная конфигурация в running или system перекрывает шаблонную. Среди унаследованных применений ближайший к целевому узлу внутренний предок сильнее внешнего. В одной точке порядок определяет клиент.
Направление порядка видно в примере: ethernet-interface base-interface. Для подходящих Ethernet-записей MTU 1500 из первого шаблона выигрывает у 65536 из второго. Следовательно, первый применимый элемент имеет более высокий приоритет. Сохранить лишь множество имён — значит потерять часть команды.
Обновление списка тоже различает три действия. Непустое значение заменяет весь список; пустое или состоящее из пробелов удаляет применение; отсутствие метаданных оставляет текущее состояние. Журнал отдельных добавлений и удалений не всегда способен восстановить полное значение запроса.
Выражение без набора ключей неполно
Для ключей списка со встроенным типом string или производным от него проект допускает регулярные выражения. Используется I-Regexp из RFC 9485 — ограниченное подмножество выражений XML Schema. Ограничение полезно для совместимости, но строка шаблона сама не перечисляет совпавшие объекты.
Чтобы повторить вычисление eth.*, нужны фактические ключи того же снимка, версия правил и интерпретация движка. Переименование интерфейса, отсутствующая запись из system или сдвиг времени захвата меняют множество совпадений при неизменной строке.
Определение шаблона может быть фрагментом. Серверу следует проверять его там, где это возможно; слитый результат обязан удовлетворять соответствующим ограничениям YANG. Datatracker сейчас показывает 0 ошибок и 0 предупреждений в инструментальной проверке извлечённого модуля ietf-config-template (revision 2026-07-03). Это свидетельство о документе и инструментах, а не принятие NETMOD, одобрение IETF или тест продукта.
Наблюдение результата не равно истории
В NMDA running остаётся компактным: определения, метаданные применения и явные значения. Развёрнутый итог отображается в intended. Изменение применяемого шаблона в running или system должно изменить предполагаемую конфигурацию.
Удалять используемый шаблон нельзя; редакция 03 требует отклонить попытку с data-missing. Сначала обновляются все ссылки, затем удаляется определение. Это логическая последовательность, а не доказательство атомарности нескольких запросов. Между инвентаризацией и удалением другой клиент способен создать ссылку. Транзакцию, блокировку или регламент окна нужно подтверждать для конкретного сервера.
Один readback intended не восстанавливает единственный запрос. Разные определения, скрытые одинаковым явным значением, дадут одну ветвь. Перестановка останется незаметной, если конфликтных значений нет. Readback фиксирует наблюдаемый выход, но не автора и не все состояния пути.
Полный конверт эксперимента
Автономному расширителю нужны: точная редакция проекта и правил; идентификаторы реализации сервера и инструмента; полные одновременные running и system; все определения; пути применения и глубина предков; упорядоченные списки; семантика I-Regexp и ключи-кандидаты; явные переопределения; версия хранилища или временная связь частей.
Хэшируется весь конверт, а не только дерево. Совпадение узлов и значений с сервером доказывает согласие двух преобразований для этих входов. Оно не доказывает одинаковый код у всех поставщиков и не исключает гонку до снимка.
Успех NETCONF или RESTCONF — отдельное протокольное свидетельство, не гарантия последующего применения. NACM из RFC 8341 проверяется по каждой роли и отфильтрованному представлению. RFC 8342 отделяет intended от operational: нехватка ресурсов или ошибка исполнения способны оставить намерение неприменённым. FIB, пакеты и сервисный результат требуют собственных измерений.
Два поля статуса нельзя склеивать
Редакция 03 датирована 3 июля 2026 года; её заголовок говорит «Intended status: Standards Track». Отдельно Datatracker описывает активный индивидуальный Internet-Draft без stream и без intended RFC status, в состоянии I-D Exists. Точная формулировка сохраняет оба поля и не приписывает документу принятие рабочей группой, поддержку IETF или статус RFC.
Источники
Первичные источники: редакция 03; Datatracker; YANG 1.1, RFC 7950; YANG Metadata, RFC 7952; NMDA, RFC 8342; NACM, RFC 8341; NETCONF, RFC 6241; RESTCONF, RFC 8040; I-Regexp, RFC 9485. Хронология: история Datatracker. Источники для границы тезиса: System Configuration, редакция 20; Lu Heng о приоритете работающего кода, минимальной начальной спецификации и слоях реальности.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
