! {% if mpls_ldp -%} mpls ldp {% if old_router_id -%} no router-id {{ old_router_id }} {% endif -%} {% if router_id -%} router-id {{ router_id }} {% endif -%} {% if old_ldp.cisco_interop_tlv -%} no dual-stack cisco-interop {% endif -%} {% if ldp.cisco_interop_tlv -%} dual-stack cisco-interop {% endif -%} {% if old_ldp.transport_prefer_ipv4 -%} no dual-stack transport-connection prefer ipv4 {% endif -%} {% if ldp.transport_prefer_ipv4 -%} dual-stack transport-connection prefer ipv4 {% endif -%} {% for neighbor_id in old_ldp.neighbors -%} no neighbor {{neighbor_id}} password {{old_ldp.neighbors[neighbor_id].password}} {% if 'ttl_security' is defined -%} {% if 'disable' in old_ldp.neighbors[neighbor_id].ttl_security %} no neighbor {{neighbor_id}} ttl-security disable {% else -%} no neighbor {{neighbor_id}} ttl-security hops {{old_ldp.neighbors[neighbor_id].ttl_security}} {% endif -%} {% endif -%} {% if 'session_holdtime' is defined -%} no neighbor {{neighbor_id}} session holdtime {{old_ldp.neighbors[neighbor_id].session_holdtime}} {% endif -%} {% endfor -%} {% for neighbor_id in ldp.neighbors -%} neighbor {{neighbor_id}} password {{ldp.neighbors[neighbor_id].password}} {% if 'ttl_security' is defined -%} {% if 'disable' in ldp.neighbors[neighbor_id].ttl_security %} neighbor {{neighbor_id}} ttl-security disable {% else -%} neighbor {{neighbor_id}} ttl-security hops {{ldp.neighbors[neighbor_id].ttl_security}} {% endif -%} {% endif -%} {% if 'session_holdtime' is defined -%} neighbor {{neighbor_id}} session holdtime {{ldp.neighbors[neighbor_id].session_holdtime}} {% endif -%} {% endfor -%} ! address-family ipv4 label local allocate host-routes {% if old_ldp.export_ipv4_exp -%} no label local advertise explicit-null {% endif -%} {% if ldp.export_ipv4_exp -%} label local advertise explicit-null {% endif -%} {% if old_ldp.d_transp_ipv4 -%} no discovery transport-address {{ old_ldp.d_transp_ipv4 }} {% endif -%} {% if ldp.d_transp_ipv4 -%} discovery transport-address {{ ldp.d_transp_ipv4 }} {% endif -%} {% if old_ldp.hello_ipv4_holdtime -%} no discovery hello holdtime {{ old_ldp.hello_ipv4_holdtime }} {% endif -%} {% if ldp.hello_ipv4_holdtime -%} discovery hello holdtime {{ ldp.hello_ipv4_holdtime }} {% endif -%} {% if old_ldp.hello_ipv4_interval -%} no discovery hello interval {{ old_ldp.hello_ipv4_interval }} {% endif -%} {% if ldp.hello_ipv4_interval -%} discovery hello interval {{ ldp.hello_ipv4_interval }} {% endif -%} {% if old_ldp.ses_ipv4_hold -%} no session holdtime {{ old_ldp.ses_ipv4_hold }} {% endif -%} {% if ldp.ses_ipv4_hold -%} session holdtime {{ ldp.ses_ipv4_hold }} {% endif -%} {% if old_ldp.target_ipv4_enable -%} no discovery targeted-hello accept {% endif -%} {% if ldp.target_ipv4_enable -%} discovery targeted-hello accept {% endif -%} {% if old_ldp.target_ipv4_hello_int -%} no discovery targeted-hello interval {{ old_ldp.target_ipv4_hello_int }} {% endif -%} {% if ldp.target_ipv4_hello_int -%} discovery targeted-hello interval {{ ldp.target_ipv4_hello_int }} {% endif -%} {% if old_ldp.target_ipv4_hello_hold -%} no discovery targeted-hello holdtime {{ old_ldp.target_ipv4_hello_hold }} {% endif -%} {% if ldp.target_ipv4_hello_hold -%} discovery targeted-hello holdtime {{ ldp.target_ipv4_hello_hold }} {% endif -%} {% for address in old_ldp.target_ipv4_addresses -%} no neighbor {{address}} targeted {% endfor -%} {% for address in ldp.target_ipv4_addresses -%} neighbor {{address}} targeted {% endfor -%} {% for interface in old_ldp.interfaces -%} no interface {{interface}} {% endfor -%} {% for interface in ldp.interfaces -%} interface {{interface}} {% endfor -%} ! ! exit-address-family ! {% if ldp.d_transp_ipv6 -%} address-family ipv6 label local allocate host-routes {% if old_ldp.export_ipv6_exp -%} no label local advertise explicit-null {% endif -%} {% if ldp.export_ipv6_exp -%} label local advertise explicit-null {% endif -%} {% if old_ldp.ses_ipv6_hold -%} no session holdtime {{ old_ldp.ses_ipv6_hold }} {% endif -%} {% if ldp.ses_ipv6_hold -%} session holdtime {{ ldp.ses_ipv6_hold }} {% endif -%} {% if old_ldp.d_transp_ipv6 -%} no discovery transport-address {{ old_ldp.d_transp_ipv6 }} {% endif -%} {% if ldp.d_transp_ipv6 -%} discovery transport-address {{ ldp.d_transp_ipv6 }} {% endif -%} {% if old_ldp.hello_ipv6_holdtime -%} no discovery hello holdtime {{ old_ldp.hello_ipv6_holdtime }} {% endif -%} {% if ldp.hello_ipv6_holdtime -%} discovery hello holdtime {{ ldp.hello_ipv6_holdtime }} {% endif -%} {% if old_ldp.hello_ipv6_interval -%} no discovery hello interval {{ old_ldp.hello_ipv6_interval }} {% endif -%} {% if ldp.hello_ipv6_interval -%} discovery hello interval {{ ldp.hello_ipv6_interval }} {% endif -%} {% if old_ldp.target_ipv6_enable -%} no discovery targeted-hello accept {% endif -%} {% if ldp.target_ipv6_enable -%} discovery targeted-hello accept {% endif -%} {% if old_ldp.target_ipv6_hello_int -%} no discovery targeted-hello interval {{ old_ldp.target_ipv6_hello_int }} {% endif -%} {% if ldp.target_ipv6_hello_int -%} discovery targeted-hello interval {{ ldp.target_ipv6_hello_int }} {% endif -%} {% if old_ldp.target_ipv6_hello_hold -%} no discovery targeted-hello holdtime {{ old_ldp.target_ipv6_hello_hold }} {% endif -%} {% if ldp.target_ipv6_hello_hold -%} discovery targeted-hello holdtime {{ ldp.target_ipv6_hello_hold }} {% endif -%} {% for address in old_ldp.target_ipv6_addresses -%} no neighbor {{address}} targeted {% endfor -%} {% for address in ldp.target_ipv6_addresses -%} neighbor {{address}} targeted {% endfor -%} {% for interface in old_ldp.interfaces -%} no interface {{interface}} {% endfor -%} {% for interface in ldp.interfaces -%} interface {{interface}} {% endfor -%} ! exit-address-family {% else -%} no address-family ipv6 {% endif -%} ! {% else -%} no mpls ldp {% endif -%} !