Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Entendendo os módulos YANG do Junos

A Juniper Networks publica o esquema de dispositivos Junos usando modelos YANG para configuração e dados de estado operacional, comandos operacionais e extensões Junos. As seções a seguir discutem os módulos YANG nativos do Junos.

Visão geral dos módulos Junos YANG

A Juniper Networks oferece módulos YANG que definem as hierarquias de configuração, comandos operacionais e dados de estado, bem como extensões e tipos YANG, para dispositivos que executam o Junos OS e dispositivos que executam o Junos OS Evolved. A partir do Junos OS Release 17.2, os módulos YANG são específicos para uma família de dispositivos. A Tabela 1 descreve os identificadores para as diferentes famílias de dispositivos e indica quais plataformas estão incluídas em cada família. A partir do Junos OS Evolved Release 23.4R2, todas as plataformas Junos OS Evolved usam o identificador da junos família de dispositivos.

Tabela 1: Famílias de dispositivos Junos

Identificador da família de dispositivos

Plataformas Junos OS

Plataformas evoluídas do Junos OS

junos

Série ACX
Série EX (certas plataformas)
Série MX
Série PTX

Série ACX
Série PTX
Série QFX (23.4R2 e posterior)

junos-es

Série J
Série LN
Série SRX

junos-ex

Série EX (certas plataformas)

junos-qfx

Série QFX

Série QFX (23,2 e anterior)

Nota:

Plataformas diferentes dentro da mesma série podem ser categorizadas em diferentes famílias de dispositivos. Em dispositivos que executam o Junos OS Evolved Release 23.4R1 e anteriores e dispositivos que executam o Junos OS, você pode verificar a família para um dispositivo específico executando o comando de show system information modo operacional ou o <get-system-information/> RPC no dispositivo. O valor do Family campo na saída de comando ou no <os-name> elemento na resposta do RPC indica a família do dispositivo.

A partir do Junos OS Release 17.4R1, o módulo YANG de configuração é dividido em um módulo raiz que é aumentado por vários módulos menores. Além disso, os módulos JUNOS YANG nativos usam uma nova convenção de nomenclatura para nome, nome de arquivo e namespace do módulo. O nome do módulo e o nome do arquivo incluem a família de dispositivos e a área da configuração ou hierarquia de comando à qual o esquema no módulo pertence. O nome do arquivo do módulo também inclui uma data de revisão. A Tabela 2 resume os módulos YANG nativos dos dispositivos Junos e identifica a versão em que os diferentes nomes dos módulos são usados.

Nota:

Módulos que não exigem esquemas específicos da família e que são comuns a todas as plataformas usam a família de junos dispositivos para nome, nome de arquivo e namespace do módulo.

Tabela 2: Módulos YANG nativos da Juniper Networks

Módulo Junos YANG

Descrição

Nome do módulo

Libera

Módulos de configuração

Defina o esquema para a hierarquia de configuração do Junos.

A partir do Junos OS Release 17.4R1, o módulo YANG de configuração é dividido em um módulo raiz (family-conf-root) que é aumentado por vários módulos menores.

configuration

14,2 a 17,3

family-conf-hierarchy

17.4R1 e posterior

Módulos de comando operacionais

Represente a hierarquia de comando operacional e o grupo coletivo de módulos que definem as chamadas de procedimento remoto (RPCs) para comandos de modo operacional. Existem módulos separados para as diferentes áreas da hierarquia de comando.

juniper-command

16,1 a 17,3

family-rpc-hierarchy

17.4R1 e posterior

junos-state módulos de estado Conjunto curado de módulos YANG para dados de estado operacional. junos-state-area 22.2R1 e posterior

genstate módulos de estado

Definir modelos de dados YANG para estado operacional. Os modelos expõem um subconjunto de dados de comando de exibição por meio do RPC gNMI subscribe . Os genstate módulos compreendem um módulo raiz de alto nível aumentado por módulos para cada área de estado operacional.

junos-genstate-root-tag

24.2R1 e posterior (Junos OS Evolved)

Módulo de extensões DDL

Contém declarações da Linguagem de definição de dados (DDL) para dispositivos Junos.

Este módulo inclui as must palavras-chave e must-message as palavras-chave, que identificam restrições de hierarquia de configuração que usam palavras-chave especiais. O módulo também inclui declarações que são necessárias em RPCs personalizados.

junos-extension

15,1 a 17,3

junos-common-ddl-extensions

17.4R1 e posterior

Módulo de extensões ODL

Contém declarações da linguagem de definição de saída (ODL) que podem ser usadas para criar e personalizar a saída ASCII formatada para RPCs executados em dispositivos Junos.

junos-extension-odl

16,1 a 17,3

junos-common-odl-extensions

17.4R1 e posterior

Módulo de extensões de anotações de metadados

Define anotações de metadados para operações de configuração.

As anotações são definidas no RFC 7952, definindo e usando metadados com YANG.

junos-configuration-metadata

22.2R1 e posterior (Junos OS Evolved)

Módulo de tipos

Contém definições para tipos YANG.

junos-common-types

17.4R1 e posterior

Para oferecer suporte a módulos YANG para diferentes famílias de dispositivos em diferentes versões, os módulos baixados são organizados pela família de dispositivos, e o nome, nome de arquivo e namespace de cada módulo reflete a família de dispositivos à qual o esquema no módulo pertence.

Para obter informações sobre a obtenção dos módulos, consulte Baixar e gerar módulos YANG do Junos.

Para obter informações sobre os namespaces do módulo, consulte Understanding Junos YANG Module Namespaces and Prefixes.

Baixe e gere módulos YANG do Junos

Você pode recuperar os módulos JUNOS OS e Junos OS Evolved YANG por:

Nota:

A partir do Junos OS Evolved Release 23.4R1, publicamos os módulos Yang nativos do Junos OS Evolved no site de download da Juniper Networks e no GitHub. Em versões anteriores, você deve gerar os módulos no dispositivo.

No Junos OS Release 17.1 e anteriores, os módulos YANG para a configuração e as hierarquias de comando do Junos OS que são publicados no site da Juniper Networks e no GitHub definem o esquema para todos os dispositivos em execução que o Junos OS lança. Por outro lado, os módulos YANG gerados no dispositivo local definem o esquema específico para esse dispositivo. O esquema específico do dispositivo inclui nós tanto de módulos nativos quanto de quaisquer módulos padrão ou personalizados que foram adicionados ao dispositivo.

A partir do Junos OS Release 17.2, os módulos Junos YANG são específicos para uma família de dispositivos e o namespace de cada módulo reflete a família de dispositivos à qual o esquema no módulo pertence. Como resultado, o pacote de download e o repositório do GitHub incluem um diretório separado para os módulos de cada família de dispositivos e um diretório comum para os módulos que são comuns a todas as famílias de dispositivos. Cada diretório específico da família usa o identificador da família de dispositivos como nome do diretório e contém os módulos de configuração e comando operacional que são suportados nas plataformas dessa família. Os identificadores da família de dispositivos são definidos na Tabela 1. Os módulos YANG gerados em um dispositivo local que executa o Junos OS Release 17.2 ainda definem o esquema específico para esse dispositivo.

A partir do Junos OS Release 17.4R1, os módulos YANG gerados em um dispositivo local, por padrão, contêm esquemas específicos da família, que são idênticos em todos os dispositivos da família de dispositivos. Para gerar módulos específicos do dispositivo, configure a declaração de device-specific configuração no nível de [edit system services netconf yang-modules] hierarquia.

A Tabela 3 resume o escopo do esquema nos módulos YANG baixados e gerados para diferentes versões do Junos OS.

Tabela 3: Escopo do Junos OS YANG Schema

Versão do Junos OS

Escopo do schema em módulos baixados

Escopo do esquema em módulos gerados

17.1 e mais cedo

Todos os dispositivos

Dispositivo

17,2 a 17,3

Família de dispositivos

Dispositivo

17.4R1 e posterior

Família de dispositivos

Família de dispositivos

A partir do Junos OS Evolved Release 23.4R1, publicamos os módulos YANG do Junos OS Evolved no site de download da Juniper Networks e no GitHub. Em versões anteriores, você deve gerar os módulos no dispositivo.

Além disso, a partir do Junos OS Release 23.4R1 e junos OS Evolved Release 23.4R1, fornecemos todos os modelos de dados YANG para um determinado SO e versão em um único pacote de download e pasta de repositório GitHub. A pasta de pacotes e repositórios inclui:

  • Modelos de dados nativos de configuração, estado e RPC

  • Configuração do OpenConfig e modelos de estado suportados por esse OS

  • Modelos IETF suportados por esse OS

Para obter mais informações sobre como baixar ou gerar os módulos YANG do Junos OS, consulte use módulos YANG da Juniper Networks.

Entendendo os namespaces e prefixos do módulo Junos YANG

No Junos OS Release 17.1 e anterior, os módulos Junos YANG usam um identificador exclusivo para diferenciar o namespace para cada módulo.

A partir do Junos OS Release 17.2R1, os módulos Junos YANG são específicos para uma família de dispositivos. Para oferecer suporte a módulos YANG distintos para diferentes famílias de dispositivos em uma determinada versão, os módulos YANG usam um namespace que inclui o nome do módulo, a família de dispositivos e a string de versão do Junos OS, além do identificador. Por exemplo:

A partir do Junos OS Release 17.4R1, o namespace é simplificado para incluir a família de dispositivos, o tipo de módulo e um identificador exclusivo para cada módulo e que diferencia o namespace do módulo do de outros módulos.

As definições a seguir se aplicam a todas as versões do namespace em que essa variável aparece:

device-family

Identificador para a família de dispositivos à qual o esquema no módulo pertence, por exemplo, junos, junos-esou junos-exjunos-qfx. As diferentes famílias de dispositivos estão descritas na Tabela 1.

Módulos com esquemas e módulos específicos do dispositivo com esquemas específicos da família usam o mesmo identificador da família de dispositivos no namespace.

Nota:

Os módulos comuns usam o identificador da junos família de dispositivos no namespace, mas os módulos são comuns a todas as famílias de dispositivos.

identifier

String que diferencia o namespace do módulo do de outros módulos.

Os módulos de configuração e comando do Junos incluem um identificador que indica a área da configuração ou hierarquia de comando à qual o esquema no módulo pertence. Genstate os módulos usam um identificador que indica a área de estado operacional do módulo. Módulos comuns usam o diferenciador de nome do módulo como identificador, por exemplo odl-extensions.

module-id

Identificador exclusivo específico do módulo, por exemplo, jcjrpcoujejodl.

module-name

Nome do módulo YANG incluído nesse arquivo, por exemplo, configuration ou junos-extension. Cada um dos módulos individuais juniper-command usa seu próprio nome de módulo único no namespace, por exemplo show-class-of-service.

release

Junos OS ou Junos OS Evolved versão em que o esquema nesse módulo é suportado.

type

Tipo de módulo. Os valores possíveis incluem:

  • conf— Módulo YANG de configuração que define o esquema para a área indicada da configuração.

  • rpc— Módulo YANG de comando operacional que define os RPCs para comandos operacionais na área indicada da hierarquia de comando.

  • common— Módulo de extensão ou tipo que é comum em todas as famílias de dispositivos.

  • genstate— módulo YANG que define dados de estado operacional.

A Tabela 4 descreve o namespace URI e o prefixo de cada módulo (conforme definido pela declaração do prefix módulo) nas diferentes versões. A partir do Junos OS Release 17.2, o prefixo para cada módulo de comando operacional reflete a área de hierarquia de comando dos RPCs incluídos nesse módulo. Da mesma forma, a partir do Junos OS Release 17.4R1, o prefixo para cada módulo YANG de configuração reflete a hierarquia de declaração de configuração que está incluída nesse módulo. Os módulos de extensão e tipo Junos YANG usam o identificador da junos família de dispositivos no namespace, mas os módulos são comuns a todas as famílias de dispositivos.

Tabela 4: Namespaces e prefixos para módulos Junos YANG

Módulo YANG

Soltar

Namespace URI

Prefixo

Módulos de configuração

17.1 e mais cedo

http://yang.juniper.net/yang/1.1/jc

jc

17,2 a 17,3

http://yang.juniper.net/yang/1.1/jc/configuration/device-family/release

jc

17.4R1 e posterior

http://yang.juniper.net/device-family/conf/hierarchy

jc(módulo raiz)

jc-hierarchy

Módulos de comando operacionais

17.1 e mais cedo

http://yang.juniper.net/yang/1.1/jrpc

jrpc

17,2 a 17,3

http://yang.juniper.net/yang/1.1/jrpc/module-name/device-family/release

hierarchy

17.4R1 e posterior

http://yang.juniper.net/device-family/rpc/hierarchy

hierarchy

junos-state módulos de estado 22.2R1 e posterior http://yang.juniper.net/junos/state/state-area js-area

genstate modelos de estado

24.2R1 e posterior

http://yang.juniper.net/junos/genstate/root-tag

jgs(módulo raiz)

Módulo de extensões DDL

17.1 e mais cedo

http://yang.juniper.net/yang/1.1/je/

junos

17.2 e posterior

http://yang.juniper.net/yang/1.1/je/junos-extension/junos/release

junos

17.4R1 e posterior

http://yang.juniper.net/junos/common/ddl-extensions

junos

Módulo de extensões ODL

17.1 e mais cedo

http://yang.juniper.net/yang/1.1/jodl

junos-odl

17,2 a 17,3

http://yang.juniper.net/yang/1.1/jodl/junos-extension-odl/junos/release

junos-odl

17.4R1 e posterior

http://yang.juniper.net/junos/common/odl-extensions

junos-odl

Módulo de extensões de anotações de metadados

22.2R1 e posterior

http://yang.juniper.net/junos/jcmd jcmd

Módulo de tipos

17.4R1 e posterior

http://yang.juniper.net/junos/common/types

jt

Começando pelo Junos OS Release 17.2, quando você configura a rfc-compliant declaração no nível de [edit system services netconf] hierarquia e solicita dados de configuração em uma sessão NETCONF, o servidor define o namespace padrão para o <configuration> elemento no mesmo namespace que no modelo YANG correspondente. Por exemplo:

Tabela de histórico de mudanças

O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.

Soltar
Descrição
23.4R2-EVO
A partir do Junos OS Evolved Release 23.4R2, módulos YANG nativos para dispositivos da Série QFX usam o identificador da junos família de dispositivos em vez de junos-qfx.
23.4R1 e 23.4R1-EVO
A partir do Junos OS Release 23.4R1 e Junos OS Evolved Release 23.4R1, fornecemos todos os modelos de dados YANG para um determinado SO e versão em um único pacote de download e pasta de repositório do GitHub.
23.4R1-EVO
A partir do Junos OS Evolved Release 23.4R1, publicamos os módulos YANG nativos do Junos OS no site de download da Juniper Networks e no GitHub. Em versões anteriores, você deve gerar os módulos no dispositivo.
22.4R1 e 22.4R1-EVO
A partir do Junos OS Release 22.4R1 e Junos OS Evolved Release 22.4R1, os módulos YANG que definem RPCs incluem a junos:command declaração de extensão em esquemas emitidos com extensões.
17.4R1
A partir do Junos OS Release 17.4R1, o módulo YANG de configuração é dividido em um módulo raiz que é aumentado por vários módulos menores, e os módulos YANG nativos do Junos OS usam uma nova convenção de nomenclatura para o nome, nome de arquivo e namespace do módulo.
17.4R1
A partir do Junos OS Release 17.4R1, os módulos YANG gerados em um dispositivo local, por padrão, contêm esquemas específicos da família, que são idênticos em todos os dispositivos da família de dispositivos.
17.2R1
A partir do Junos OS Release 17.2, os módulos YANG do Junos OS são específicos para uma família de dispositivos e o namespace de cada módulo reflete a família de dispositivos à qual o esquema no módulo pertence.
17.2R1
A partir do Junos OS Release 17.2, o prefixo para cada módulo de comando operacional reflete a área de hierarquia de comando dos RPCs incluídos nesse módulo.