OcNOS SP : OpenConfig Command Reference : LDP OpenConfig Translation
LDP OpenConfig Translation
Release
This configuration was introduced in OcNOS version 4.2.
OpenConfig NetConf Payload
Here is a sample OpenConfig NetConf Payload for the Label Distribution Protocol.
<network-instances xmlns="http://openconfig.net/yang/network-instance">
<network-instance>
<name>default</name>
<mpls>
<signaling-protocols>
<ldp>
<global>
<config>
<lsr-id>1.1.1.1</lsr-id>
</config>
<graceful-restart>
<config>
<helper-enable>true</helper-enable>
<reconnect-time>120</reconnect-time>
<recovery-time>120</recovery-time>
</config>
</graceful-restart>
<authentication>
<config>
<authentication-key>IPInfusion</authentication-key>
</config>
</authentication>
</global>
<interface-attributes>
<config>
<hello-interval>20</hello-interval>
<hello-holdtime>60</hello-holdtime>
</config>
<interfaces>
<interface>
<interface-id>xe1</interface-id>
<config>
<interface-id>xe1</interface-id>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</config>
<interface-ref>
<config>
<interface>xe1</interface>
</config>
</interface-ref>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<config>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</config>
</address-family>
</address-families>
</interface>
<interface>
<interface-id>xe2.1</interface-id>
<config>
<interface-id>xe2.1</interface-id>
<hello-interval>1</hello-interval>
<hello-holdtime>3</hello-holdtime>
</config>
<interface-ref>
<config>
<interface>xe2</interface>
<subinterface>1</subinterface>
</config>
</interface-ref>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<config>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</config>
</address-family>
</address-families>
</interface>
</interfaces>
</interface-attributes>
<targeted>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<targets>
<target>
<remote-address>10.10.10.2</remote-address>
<config>
<local-address>1.1.1.1</local-address>
<remote-address>10.10.10.2</remote-address>
</config>
</target>
<target>
<remote-address>2.2.2.2</remote-address>
<config>
<remote-address>2.2.2.2</remote-address>
</config>
</target>
<target>
<remote-address>20.20.20.2</remote-address>
<config>
<remote-address>20.20.20.2</remote-address>
</config>
</target>
<target>
<remote-address>3.3.3.3</remote-address>
<config>
<remote-address>3.3.3.3</remote-address>
</config>
</target>
</targets>
<config>
<afi-name>IPV4</afi-name>
</config>
</address-family>
</address-families>
<config>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</config>
</targeted>
<neighbors>
<neighbor>
<lsr-id>7.7.7.7</lsr-id>
<label-space-id>0</label-space-id>
<authentication>
<config>
<authentication-key>VenkoNetworks</authentication-key>
</config>
</authentication>
<config>
<lsr-id>7.7.7.7</lsr-id>
<label-space-id>0</label-space-id>
</config>
</neighbor>
<neighbor>
<lsr-id>9.9.9.9</lsr-id>
<label-space-id>0</label-space-id>
<authentication>
<config>
<authentication-key>IPIVenko</authentication-key>
</config>
</authentication>
<config>
<lsr-id>9.9.9.9</lsr-id>
<label-space-id>0</label-space-id>
</config>
</neighbor>
</neighbors>
</ldp>
</signaling-protocols>
</mpls>
</network-instance>
</network-instances>
OcNOS CLI Command
The below CLI command is used to configure the LDP interface.
!
router ldp
router-id 1.1.1.1
graceful-restart helper-only
graceful-restart timers neighbor-liveness 120
graceful-restart timers max-recovery 120
targeted-peer ipv4 2.2.2.2
exit-targeted-peer-mode
targeted-peer ipv4 3.3.3.3
exit-targeted-peer-mode
targeted-peer ipv4 10.10.10.2
exit-targeted-peer-mode
targeted-peer ipv4 20.20.20.2
exit-targeted-peer-mode
transport-address ipv4 1.1.1.1
neighbor all auth md5 password plain-text IPInfusion
neighbor 7.7.7.7 auth md5 password plain-text VenkoNetworks
neighbor 9.9.9.9 auth md5 password plain-text IPIVenko
hold-time 60
hello-interval 20
targeted-peer-hold-time 65535
targeted-peer-hello-interval 21845
!
interface xe1
enable-ldp ipv4
ldp hold-time 65535
ldp hello-interval 21845
!
interface xe2.1
enable-ldp ipv4
ldp hold-time 3
ldp hello-interval 1
!
OcNOS NetConf Payload
Here is a sample OcNOS NetConf Payload for the LDP instance.
<ldp xmlns="http://www.ipinfusion.com/yang/ocnos/ipi-ldp">
<global>
<config>
<ldp-instance>ldp</ldp-instance>
<router-identifier>1.1.1.1</router-identifier>
</config>
<timers>
<config>
<hello-interval>20</hello-interval>
<hello-holdtime>60</hello-holdtime>
</config>
</timers>
</global>
<graceful-restart>
<config>
<enable>helper-only</enable>
<neighbor-liveness-time>120</neighbor-liveness-time>
<max-recovery-time>120</max-recovery-time>
</config>
</graceful-restart>
<transport-addresses>
<transport-address>
<label-space-identifier>0</label-space-identifier>
<config>
<label-space-identifier>0</label-space-identifier>
<transport-address-ipv4>1.1.1.1</transport-address-ipv4>
</config>
</transport-address>
</transport-addresses>
<peer-authentication>
<peer-authentication-lists>
<peer-authentication-list>
<peer-address>all</peer-address>
<config>
<peer-address>all</peer-address>
<password-type>plain-text</password-type>
<password>IPInfusion</password>
</config>
</peer-authentication-list>
<peer-authentication-list>
<peer-address>7.7.7.7</peer-address>
<config>
<peer-address>7.7.7.7</peer-address>
<password-type>plain-text</password-type>
<password>VenkoNetworks</password>
</config>
</peer-authentication-list>
<peer-authentication-list>
<peer-address>9.9.9.9</peer-address>
<config>
<peer-address>9.9.9.9</peer-address>
<password-type>plain-text</password-type>
<password>IPIVenko</password>
</config>
</peer-authentication-list>
</peer-authentication-lists>
</peer-authentication>
<interfaces>
<interface>
<name>xe1</name>
<config>
<name>xe1</name>
<enable-ldp-ipv4></enable-ldp-ipv4>
</config>
<hello-timers>
<config>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</config>
</hello-timers>
</interface>
<interface>
<name>xe2.1</name>
<config>
<name>xe2.1</name>
<enable-ldp-ipv4></enable-ldp-ipv4>
</config>
<hello-timers>
<config>
<hello-interval>1</hello-interval>
<hello-holdtime>3</hello-holdtime>
</config>
</hello-timers>
</interface>
</interfaces>
<targeted-peers>
<global-timers>
<config>
<targeted-global-hello-interval>21845</targeted-global-hello-interval>
<targeted-global-hello-holdtime>65535</targeted-global-hello-holdtime>
</config>
</global-timers>
<targeted-peer>
<target-address>10.10.10.2</target-address>
<config>
<target-address>10.10.10.2</target-address>
</config>
</targeted-peer>
<targeted-peer>
<target-address>2.2.2.2</target-address>
<config>
<target-address>2.2.2.2</target-address>
</config>
</targeted-peer>
<targeted-peer>
<target-address>20.20.20.2</target-address>
<config>
<target-address>20.20.20.2</target-address>
</config>
</targeted-peer>
<targeted-peer>
<target-address>3.3.3.3</target-address>
<config>
<target-address>3.3.3.3</target-address>
</config>
</targeted-peer>
</targeted-peers>
</ldp>
Validation with NetConf get
Here is a NetConf validation response that provides detailed information about the Label Distribution Protocol.
<network-instances xmlns="http://openconfig.net/yang/network-instance">
<network-instance>
<name>default</name>
<mpls>
<signaling-protocols>
<ldp>
<global>
<config>
<lsr-id>1.1.1.1</lsr-id>
</config>
<state>
<lsr-id>1.1.1.1</lsr-id>
</state>
<graceful-restart>
<config>
<helper-enable>true</helper-enable>
<reconnect-time>120</reconnect-time>
<recovery-time>120</recovery-time>
</config>
<state>
<helper-enable>true</helper-enable>
<reconnect-time>120</reconnect-time>
<recovery-time>120</recovery-time>
</state>
</graceful-restart>
<authentication>
<config>
<authentication-key>IPInfusion</authentication-key>
</config>
<state>
<authentication-key>IPInfusion</authentication-key>
</state>
</authentication>
</global>
<interface-attributes>
<config>
<hello-interval>20</hello-interval>
<hello-holdtime>60</hello-holdtime>
</config>
<state>
<hello-interval>20</hello-interval>
<hello-holdtime>60</hello-holdtime>
</state>
<interfaces>
<interface>
<interface-id>xe1</interface-id>
<config>
<interface-id>xe1</interface-id>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</config>
<interface-ref>
<config>
<interface>xe1</interface>
</config>
<state>
<interface>xe1</interface>
</state>
</interface-ref>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<config>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</config>
<state>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</state>
</address-family>
</address-families>
<state>
<interface-id>xe1</interface-id>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</state>
</interface>
<interface>
<interface-id>xe2.1</interface-id>
<config>
<interface-id>xe2.1</interface-id>
<hello-interval>1</hello-interval>
<hello-holdtime>3</hello-holdtime>
</config>
<interface-ref>
<config>
<interface>xe2</interface>
<subinterface>1</subinterface>
</config>
<state>
<interface>xe2</interface>
<subinterface>1</subinterface>
</state>
</interface-ref>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<config>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</config>
<state>
<afi-name>IPV4</afi-name>
<enabled>true</enabled>
</state>
</address-family>
</address-families>
<state>
<interface-id>xe2.1</interface-id>
<hello-interval>1</hello-interval>
<hello-holdtime>3</hello-holdtime>
</state>
</interface>
</interfaces>
</interface-attributes>
<targeted>
<address-families>
<address-family>
<afi-name>IPV4</afi-name>
<targets>
<target>
<remote-address>10.10.10.2</remote-address>
<config>
<local-address>1.1.1.1</local-address>
<remote-address>10.10.10.2</remote-address>
</config>
<state>
<local-address>1.1.1.1</local-address>
<remote-address>10.10.10.2</remote-address>
</state>
</target>
<target>
<remote-address>2.2.2.2</remote-address>
<config>
<remote-address>2.2.2.2</remote-address>
</config>
<state>
<remote-address>2.2.2.2</remote-address>
</state>
</target>
<target>
<remote-address>20.20.20.2</remote-address>
<config>
<remote-address>20.20.20.2</remote-address>
</config>
<state>
<remote-address>20.20.20.2</remote-address>
</state>
</target>
<target>
<remote-address>3.3.3.3</remote-address>
<config>
<remote-address>3.3.3.3</remote-address>
</config>
<state>
<remote-address>3.3.3.3</remote-address>
</state>
</target>
</targets>
<config>
<afi-name>IPV4</afi-name>
</config>
<state>
<afi-name>IPV4</afi-name>
</state>
</address-family>
</address-families>
<config>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</config>
<state>
<hello-interval>21845</hello-interval>
<hello-holdtime>65535</hello-holdtime>
</state>
</targeted>
<neighbors>
<neighbor>
<lsr-id>7.7.7.7</lsr-id>
<label-space-id>0</label-space-id>
<authentication>
<config>
<authentication-key>VenkoNetworks</authentication-key>
</config>
<state>
<authentication-key>VenkoNetworks</authentication-key>
</state>
</authentication>
<config>
<lsr-id>7.7.7.7</lsr-id>
<label-space-id>0</label-space-id>
</config>
<state>
<lsr-id>7.7.7.7</lsr-id>
<label-space-id>0</label-space-id>
</state>
</neighbor>
<neighbor>
<lsr-id>9.9.9.9</lsr-id>
<label-space-id>0</label-space-id>
<authentication>
<config>
<authentication-key>IPIVenko</authentication-key>
</config>
<state>
<authentication-key>IPIVenko</authentication-key>
</state>
</authentication>
<config>
<lsr-id>9.9.9.9</lsr-id>
<label-space-id>0</label-space-id>
</config>
<state>
<lsr-id>9.9.9.9</lsr-id>
<label-space-id>0</label-space-id>
</state>
</neighbor>
</neighbors>
</ldp>
</signaling-protocols>
</mpls>
</network-instance>
</network-instances>
Restrictions
The label-space-id leaf is hardcoded to 0.
The local-address leaf inside neighbor container is hardcoded to 0.0.0. for now.
Only IPv4 address family CLIs are supported as of now.