【问题标题】:allow a range of vlans NSO CISCO允许一系列 VLAN NSO CISCO
【发布时间】:2026-01-18 19:35:02
【问题描述】:

我正在尝试构建 L2VPN 服务,其中我们需要在客户端允许一系列 vlan。配置如下:

    device {

        name ME0

        data interface GigabitEthernet0/2

              no switchport

              service instance 2 ethernet

               encapsulation dot1q 2-10,60

               bridge-domain 2

              exit

              no shutdown

             exit

    }

The xml template is as follow:

result-xml <devices xmlns="http://tail-f.com/ns/ncs">

             <device>

               <name>ME0</name>

               <config>

                 <interface xmlns="urn:ios">

                   <GigabitEthernet>

                     <name>0/2</name>

                     <service>

                       <instance>

                         <id>2</id>

                         <ethernet/>

                         <encapsulation>

                           <dot1q>

                             <id>2</id>

                             <id>3</id>

                             <id>4</id>

                             <id>5</id>

                             <id>6</id>

                             <id>7</id>

                             <id>8</id>

                             <id>9</id>

                             <id>10</id>

                             <id>60</id>


                           </dot1q>

                         </encapsulation>

                         <bridge-domain>

                           <bridge-id>2</bridge-id>

                         </bridge-domain>

                       </instance>

                     </service>

                   </GigabitEthernet>

                 </interface>

               </config>

             </device>

           </devices>

问题是如何编排这个vlan范围,以及如何将vlan范围的输出从yang模型转换成xml文件。

注意,在这个服务中,客户会输入第一个和最后一个vlan,NSO会在界面下配置这个范围。

谢谢。

【问题讨论】:

    标签: xml cisco-ios ietf-netmod-yang netconf yang


    【解决方案1】:

    众所周知,要控制和应用 Cisco NSO 中的任何逻辑,我们必须使用 Python 或 Java。对于 XML 和 YANG,这并不容易应用。

    我会建议使用基于 python 或 java 的服务包,并从用户那里获取输入范围,并使用 python 或 java 代码按照逻辑应用。

    或者,你想在 XML 模板上处理这个,你可以试试这个:

    <dot1q>
        <from>1</from>
        <to>2</to>
    </dot1q>
    

    但是,这里可能会造成问题,实际上我直到现在都没有尝试过。

    【讨论】: