Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Explicação linha a linha dos scripts de confirmação de amostras

Aplicando uma mudança nas interfaces SONET/SDH

O script de compromisso XSLT a seguir aplica uma mudança transitória em cada interface cujo nome começa com so-, definindo o encapsulamento para ppp. Para obter informações sobre mudanças transitórias, consulte a visão geral da geração de mudanças de configuração persistentes ou transitórias usando scripts de compromisso. Para uma versão SLAX deste exemplo, veja Exemplo: Gerando uma mudança transitória.

As linhas 1 a 8 são placas de caldeira, conforme descrito em Required Boilerplate for Commit Scripts e são omitidas aqui por brevidade.

A Linha 9 é uma instrução <xsl:for-each> de programação que examina cada nó de interface cujos nomes começam com 'so-' e que foi family inet ativado em qualquer unidade lógica. (Aparece aqui em duas linhas apenas para brevidade.)

A linha 10 é a tag aberta para uma mudança transitória. O conteúdo possível do <transient-change> elemento é o mesmo que o conteúdo do elemento tag na operação <load-configuration>de <configuration> protocolo Junos XML.

As linhas 11 a 16 representam o conteúdo da mudança transitória. O encapsulamento está definido para ppp.

As linhas 17 a 19 fecham todas as tags abertas neste modelo.

A Linha 20 fecha a folha de estilo e o script de compromisso.

Aplicando uma mudança nas interfaces habilitadas por ISO

O script XSLT da amostra a seguir garante que as interfaces habilitadas para um protocolo da Organização Internacional para a Padronização (ISO) também tenham o MPLS habilitado e sejam incluídas no nível de [edit protocols mpls interface] hierarquia. Para uma versão SLAX deste exemplo, veja Exemplo: Controle is-IS e interfaces MPLS.

As linhas 1 a 8 são placas de caldeira, conforme descrito em Required Boilerplate for Commit Scripts e são omitidas aqui por brevidade.

A Linha 9 economiza uma referência ao nível de [edit protocols mpls] hierarquia para que ela possa ser mencionada no loop a seguir for-each .

A Linha 10 examina cada unidade de interface (interface lógica) na qual o ISO é habilitado. As select paradas no unit, mas o predicado limita a seleção a apenas aquelas unidades que contêm um <iso> elemento aninhado sob um <family> elemento.

A Linha 11 cria o nome da interface em uma variável. Primeiro, o name atributo da declaração variável é definido para ifname. No Junos OS, um nome de interface é a concatenação do nome do dispositivo, um período e o número da unidade. Neste ponto do script, o nó de contexto é o número da unidade, porque a Linha 10 muda o contexto para interfaces/interface/unidade. Refere-se ../name ao <name> elemento do nó pai do nó de contexto, que é o nome do dispositivo (type-fpc/pic/port). O token "name" na expressão XPath refere-se ao <name> elemento do nó de contexto, que é o número da unidade (unit-number). Após a concatenação ser executada, a expressão XPath na Linha 11 resolve type-fpc//picport.unit-number. Conforme a <xsl:for-each> instrução na Linha 10 atravessa a hierarquia e localiza interfaces habilitadas por ISO, os nomes da interface são armazenados recursivamente na ifname variável.

A Linha 12 avalia como verdadeira para cada interface habilitada por ISO que não tem MPLS habilitada.

A Linha 13 chama o jcs:emit-change modelo, que é um modelo de ajuda ou conveniência no arquivo junos.xsl . Este modelo é discutido no Modelo de emit-change (SLAX e XSLT) e emit_change (Python).

As linhas 14 a 18 usam o message parâmetro do jcs:emit-change modelo. O parâmetro de mensagem é um atalho que você pode usar em vez de incluir explicitamente os <warning>, <edit-path>e <statement> elementos.

As linhas 19 a 23 usam o content parâmetro do jcs:emit-change modelo. O content parâmetro especifica a mudança a fazer, em relação ao nó de contexto atual.

As linhas 24 e 25 fecham as tags abertas nas Linhas 13 e 12, respectivamente.

A linha 26 testa se o MPLS já está habilitado e se essa interface não está configurada no nível de [edit protocols mpls interface] hierarquia.

As linhas 27 a 41 contêm outra invocação do jcs:emit-change modelo. Nesta invocação, a interface é adicionada no nível de [edit protocols mpls interface] hierarquia.

As linhas 42 a 45 fecham todos os elementos abertos.