Как увеличить перечисление в YANG - PullRequest
1 голос
/ 06 мая 2020

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

Зная, что перечисление находится внутри группы следующим образом:

grouping mygrouping {
    ...
    container mycontainer {
        ...
        list mylist {
            leaf type {
                type enumeration {
                    enum type1
                    enum type2
                    ...
                    enum typen
                }
            }
        }
    }
}

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

1 Ответ

2 голосов
/ 09 мая 2020

В YANG перечисления предназначены для c известного набора параметров stati. Для расширяемых параметров вы можете использовать identityrefs. Это позволяет использовать идентификаторы в нескольких файлах и определять лист с типом identityref, который затем может принимать любое из значений определенных идентификаторов.

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

Определение идентификаторов в YANG RF C: https://tools.ietf.org/html/rfc6020#section -7,16 Некоторые ссылки на перечисление по сравнению с тождества: https://tools.ietf.org/html/rfc8407#section -4.11.1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...