lib/junoser/parser.rb in junoser-0.2.12 vs lib/junoser/parser.rb in junoser-0.2.13

- old
+ new

@@ -20645,479 +20645,11 @@ ) ) ) ), b(str("mpls"), - c( - c( - str("disable") - ), - b(str("path-mtu"), - c( - str("allow-fragmentation"), - b(str("rsvp"), - c( - str("mtu-signaling") - ) - ) - ) - ), - b(str("diffserv-te"), - c( - a(str("bandwidth-model"), arg), - b(str("te-class-matrix"), - c( - b(str("te0"), - te_class_object - ).as(:oneline), - b(str("te1"), - te_class_object - ).as(:oneline), - b(str("te2"), - te_class_object - ).as(:oneline), - b(str("te3"), - te_class_object - ).as(:oneline), - b(str("te4"), - te_class_object - ).as(:oneline), - b(str("te5"), - te_class_object - ).as(:oneline), - b(str("te6"), - te_class_object - ).as(:oneline), - b(str("te7"), - te_class_object - ).as(:oneline) - ) - ) - ) - ), - b(str("auto-policing"), - c( - a(str("class"), str("all") | str("ct0") | str("ct1") | str("ct2") | str("ct3"), - c( - c( - str("drop"), - str("loss-priority-high"), - str("loss-priority-low") - ) - ) - ) - ) - ), - b(str("statistics"), - c( - b(str("file"), - trace_file_type - ), - a(str("interval"), arg), - str("auto-bandwidth"), - str("no-transit-statistics") - ) - ), - b(str("log-updown"), - c( - str("syslog"), - str("no-syslog"), - c( - str("trap"), - b(str("no-trap"), - c( - str("mpls-lsp-traps"), - str("rfc3812-traps") - ) - ) - ), - str("trap-path-down"), - str("trap-path-up") - ) - ), - a(str("traffic-engineering"), arg), - b(str("traceoptions"), - c( - b(str("file"), - trace_file_type - ), - a(str("flag"), str("connection") | str("connection-detail") | str("cspf-link") | str("cspf-node") | str("cspf") | str("state") | str("error") | str("lsping") | str("graceful-restart") | str("nsr-synchronization") | str("nsr-synchronization-detail") | str("static") | str("egress-protection") | str("all")).as(:oneline) - ) - ), - b(a(str("admin-groups"), arg), - c( - a(str("group-value"), arg) - ) - ), - a(str("advertisement-hold-time"), arg), - a(str("rsvp-error-hold-time"), arg), - str("optimize-aggressive"), - a(str("smart-optimize-timer"), arg), - a(str("optimize-switchover-delay"), arg), - str("no-propagate-ttl"), - str("explicit-null"), - str("ipv6-tunneling"), - str("icmp-tunneling"), - a(str("revert-timer"), arg), - a(str("optimize-hold-dead-delay"), arg), - str("expand-loose-hop"), - str("mib-mpls-show-p2mp"), - b(str("bandwidth"), - bandwidth_type - ), - a(str("class-of-service"), arg), - str("no-decrement-ttl"), - a(str("hop-limit"), arg), - str("no-cspf"), - str("admin-down"), - a(str("optimize-timer"), arg), - a(str("preference"), arg), - a(str("priority"), a(arg, arg)).as(:oneline), - str("record"), - str("no-record"), - str("standby"), - str("exclude-srlg"), - b(str("admin-group"), - admin_group_include_exclude - ), - b(str("admin-group-extended"), - admin_group_include_exclude - ), - b(str("oam"), - periodic_oam - ), - b(a(str("label-switched-path"), arg), - c( - c( - str("disable") - ), - b(str("traceoptions"), - c( - b(str("file"), - trace_file_type - ), - a(str("flag"), str("cspf-link") | str("cspf-node") | str("cspf") | str("state") | str("all")).as(:oneline) - ) - ), - str("no-install-to-address"), - str("backup"), - b(str("from"), - ipv4addr - ), - c( - b(str("to"), - ipv4addr - ), - str("template") - ), - a(str("metric"), arg), - str("ldp-tunneling"), - str("soft-preemption"), - b(a(str("install"), arg), - c( - str("active") - ) - ).as(:oneline), - a(str("retry-timer"), arg), - a(str("retry-limit"), arg), - b(str("lsp-attributes"), - c( - a(str("signal-bandwidth"), arg), - a(str("switching-type"), arg), - a(str("encoding-type"), arg), - a(str("gpid"), arg) - ) - ), - a(str("revert-timer"), arg), - a(str("optimize-hold-dead-delay"), arg), - b(str("bandwidth"), - bandwidth_type - ), - a(str("class-of-service"), arg), - str("no-decrement-ttl"), - a(str("hop-limit"), arg), - str("no-cspf"), - str("admin-down"), - a(str("optimize-timer"), arg), - a(str("preference"), arg), - a(str("priority"), a(arg, arg)).as(:oneline), - str("record"), - str("no-record"), - str("standby"), - str("exclude-srlg"), - b(str("admin-group"), - admin_group_include_exclude - ), - b(str("admin-group-extended"), - admin_group_include_exclude - ), - b(str("oam"), - periodic_oam - ), - c( - str("random"), - str("least-fill"), - str("most-fill") - ), - a(str("description"), quote | arg), - c( - str("link-protection"), - str("node-link-protection") - ), - str("inter-domain"), - str("adaptive"), - b(str("fast-reroute"), - c( - a(str("hop-limit"), arg), - c( - a(str("bandwidth"), arg), - a(str("bandwidth-percent"), arg) - ), - c( - str("no-include-any"), - a(str("include-any"), arg) - ), - c( - str("no-include-all"), - a(str("include-all"), arg) - ), - c( - str("no-exclude"), - a(str("exclude"), arg) - ) - ) - ), - b(str("p2mp"), - c( - a(str("path_name"), arg) - ) - ).as(:oneline), - b(str("auto-bandwidth"), - c( - a(str("adjust-interval"), arg), - a(str("adjust-threshold"), arg), - a(str("minimum-bandwidth"), arg), - a(str("maximum-bandwidth"), arg), - str("monitor-bandwidth"), - a(str("adjust-threshold-overflow-limit"), arg), - a(str("adjust-threshold-underflow-limit"), arg) - ) - ), - b(a(str("associate-lsp"), arg), - c( - b(str("from"), - ipv4addr - ) - ) - ), - b(a(str("primary"), arg), - c( - b(str("bandwidth"), - bandwidth_type - ), - a(str("class-of-service"), arg), - str("no-decrement-ttl"), - a(str("hop-limit"), arg), - str("no-cspf"), - str("admin-down"), - a(str("optimize-timer"), arg), - a(str("preference"), arg), - a(str("priority"), a(arg, arg)).as(:oneline), - str("record"), - str("no-record"), - str("standby"), - str("exclude-srlg"), - b(str("admin-group"), - admin_group_include_exclude - ), - b(str("admin-group-extended"), - admin_group_include_exclude - ), - b(str("oam"), - periodic_oam - ), - str("adaptive"), - a(str("select"), arg) - ) - ), - b(a(str("secondary"), arg), - c( - b(str("bandwidth"), - bandwidth_type - ), - a(str("class-of-service"), arg), - str("no-decrement-ttl"), - a(str("hop-limit"), arg), - str("no-cspf"), - str("admin-down"), - a(str("optimize-timer"), arg), - a(str("preference"), arg), - a(str("priority"), a(arg, arg)).as(:oneline), - str("record"), - str("no-record"), - str("standby"), - str("exclude-srlg"), - b(str("admin-group"), - admin_group_include_exclude - ), - b(str("admin-group-extended"), - admin_group_include_exclude - ), - b(str("oam"), - periodic_oam - ), - str("adaptive"), - a(str("select"), arg) - ) - ), - b(str("policing"), - c( - a(str("filter"), arg), - str("no-auto-policing") - ) - ).as(:oneline), - str("associate-backup-pe-groups"), - str("egress-protection") - ) - ), - b(a(str("transit-lsp-association"), arg), - c( - a(str("lsp-name-1"), arg), - b(str("from-1"), - ipv4addr - ), - a(str("lsp-name-2"), arg), - b(str("from-2"), - ipv4addr - ) - ) - ), - b(a(str("path"), arg), - c( - b(ipaddr, - c( - c( - str("loose"), - str("strict") - ) - ) - ).as(:oneline) - ) - ), - b(a(str("static-label-switched-path"), arg), - c( - c( - b(str("bypass"), - c( - a(str("bandwidth"), arg), - a(str("description"), quote | arg), - b(str("next-hop"), - ipv4addr_or_interface - ), - a(str("push"), arg), - b(str("to"), - ipv4addr - ) - ) - ), - b(a(str("transit"), arg), - c( - a(str("bandwidth"), arg), - a(str("description"), quote | arg), - b(str("link-protection"), - c( - a(str("bypass-name"), arg) - ) - ).as(:oneline), - b(str("next-hop"), - ipv4addr_or_interface - ), - b(str("node-protection"), - c( - a(str("bypass-name"), arg), - a(str("next-next-label"), arg) - ) - ).as(:oneline), - c( - a(str("swap"), arg), - str("pop") - ) - ) - ), - b(str("ingress"), - c( - a(str("bandwidth"), arg), - a(str("class-of-service"), arg), - a(str("description"), quote | arg), - b(a(str("install"), arg), - c( - str("active") - ) - ).as(:oneline), - a(str("metric"), arg), - b(str("next-hop"), - ipv4addr_or_interface - ), - b(str("link-protection"), - c( - a(str("bypass-name"), arg) - ) - ).as(:oneline), - b(str("node-protection"), - c( - a(str("bypass-name"), arg), - a(str("next-next-label"), arg) - ) - ).as(:oneline), - str("no-install-to-address"), - b(str("policing"), - c( - a(str("filter"), arg), - str("no-auto-policing") - ) - ).as(:oneline), - a(str("preference"), arg), - b(str("to"), - ipv4addr - ), - a(str("push"), arg) - ) - ) - ) - ) - ), - b(a(str("interface"), arg), - c( - c( - str("disable") - ), - a(str("srlg"), arg), - str("always-mark-connection-protection-tlv"), - str("switch-away-lsps"), - a(str("admin-group"), arg), - a(str("admin-group-extended"), arg), - b(str("static"), - c( - a(str("protection-revert-time"), arg) - ) - ) - ) - ), - b(str("egress-protection"), - c( - b(a(str("context-identifier"), arg), - c( - c( - str("primary"), - str("protector") - ), - a(str("metric"), arg) - ) - ) - ) - ) - ) + juniper_protocols_mpls ), b(str("bgp"), juniper_protocols_bgp ), b(str("bfd"), @@ -27915,11 +27447,14 @@ b(str("mvpn"), juniper_protocols_mvpn ), b(str("igmp-snooping"), juniper_protocols_igmp_snooping - ) + ), + b(str("mpls"), + juniper_protocols_mpls + ), ) ), b(str("bridge-domains"), c( b(str("domain"), @@ -38454,9 +37989,481 @@ rule(:pm_rspan_vlan) do b(arg.as(:arg), c( str("no-tag") + ) + ) + end + + rule(:juniper_protocols_mpls) do + c( + c( + str("disable") + ), + b(str("path-mtu"), + c( + str("allow-fragmentation"), + b(str("rsvp"), + c( + str("mtu-signaling") + ) + ) + ) + ), + b(str("diffserv-te"), + c( + a(str("bandwidth-model"), arg), + b(str("te-class-matrix"), + c( + b(str("te0"), + te_class_object + ).as(:oneline), + b(str("te1"), + te_class_object + ).as(:oneline), + b(str("te2"), + te_class_object + ).as(:oneline), + b(str("te3"), + te_class_object + ).as(:oneline), + b(str("te4"), + te_class_object + ).as(:oneline), + b(str("te5"), + te_class_object + ).as(:oneline), + b(str("te6"), + te_class_object + ).as(:oneline), + b(str("te7"), + te_class_object + ).as(:oneline) + ) + ) + ) + ), + b(str("auto-policing"), + c( + a(str("class"), str("all") | str("ct0") | str("ct1") | str("ct2") | str("ct3"), + c( + c( + str("drop"), + str("loss-priority-high"), + str("loss-priority-low") + ) + ) + ) + ) + ), + b(str("statistics"), + c( + b(str("file"), + trace_file_type + ), + a(str("interval"), arg), + str("auto-bandwidth"), + str("no-transit-statistics") + ) + ), + b(str("log-updown"), + c( + str("syslog"), + str("no-syslog"), + c( + str("trap"), + b(str("no-trap"), + c( + str("mpls-lsp-traps"), + str("rfc3812-traps") + ) + ) + ), + str("trap-path-down"), + str("trap-path-up") + ) + ), + a(str("traffic-engineering"), arg), + b(str("traceoptions"), + c( + b(str("file"), + trace_file_type + ), + a(str("flag"), str("connection") | str("connection-detail") | str("cspf-link") | str("cspf-node") | str("cspf") | str("state") | str("error") | str("lsping") | str("graceful-restart") | str("nsr-synchronization") | str("nsr-synchronization-detail") | str("static") | str("egress-protection") | str("all")).as(:oneline) + ) + ), + b(a(str("admin-groups"), arg), + c( + a(str("group-value"), arg) + ) + ), + a(str("advertisement-hold-time"), arg), + a(str("rsvp-error-hold-time"), arg), + str("optimize-aggressive"), + a(str("smart-optimize-timer"), arg), + a(str("optimize-switchover-delay"), arg), + str("no-propagate-ttl"), + str("explicit-null"), + str("ipv6-tunneling"), + str("icmp-tunneling"), + a(str("revert-timer"), arg), + a(str("optimize-hold-dead-delay"), arg), + str("expand-loose-hop"), + str("mib-mpls-show-p2mp"), + b(str("bandwidth"), + bandwidth_type + ), + a(str("class-of-service"), arg), + str("no-decrement-ttl"), + a(str("hop-limit"), arg), + str("no-cspf"), + str("admin-down"), + a(str("optimize-timer"), arg), + a(str("preference"), arg), + a(str("priority"), a(arg, arg)).as(:oneline), + str("record"), + str("no-record"), + str("standby"), + str("exclude-srlg"), + b(str("admin-group"), + admin_group_include_exclude + ), + b(str("admin-group-extended"), + admin_group_include_exclude + ), + b(str("oam"), + periodic_oam + ), + b(a(str("label-switched-path"), arg), + c( + c( + str("disable") + ), + b(str("traceoptions"), + c( + b(str("file"), + trace_file_type + ), + a(str("flag"), str("cspf-link") | str("cspf-node") | str("cspf") | str("state") | str("all")).as(:oneline) + ) + ), + str("no-install-to-address"), + str("backup"), + b(str("from"), + ipv4addr + ), + c( + b(str("to"), + ipv4addr + ), + str("template") + ), + a(str("metric"), arg), + str("ldp-tunneling"), + str("soft-preemption"), + b(a(str("install"), arg), + c( + str("active") + ) + ).as(:oneline), + a(str("retry-timer"), arg), + a(str("retry-limit"), arg), + b(str("lsp-attributes"), + c( + a(str("signal-bandwidth"), arg), + a(str("switching-type"), arg), + a(str("encoding-type"), arg), + a(str("gpid"), arg) + ) + ), + a(str("revert-timer"), arg), + a(str("optimize-hold-dead-delay"), arg), + b(str("bandwidth"), + bandwidth_type + ), + a(str("class-of-service"), arg), + str("no-decrement-ttl"), + a(str("hop-limit"), arg), + str("no-cspf"), + str("admin-down"), + a(str("optimize-timer"), arg), + a(str("preference"), arg), + a(str("priority"), a(arg, arg)).as(:oneline), + str("record"), + str("no-record"), + str("standby"), + str("exclude-srlg"), + b(str("admin-group"), + admin_group_include_exclude + ), + b(str("admin-group-extended"), + admin_group_include_exclude + ), + b(str("oam"), + periodic_oam + ), + c( + str("random"), + str("least-fill"), + str("most-fill") + ), + a(str("description"), quote | arg), + c( + str("link-protection"), + str("node-link-protection") + ), + str("inter-domain"), + str("adaptive"), + b(str("fast-reroute"), + c( + a(str("hop-limit"), arg), + c( + a(str("bandwidth"), arg), + a(str("bandwidth-percent"), arg) + ), + c( + str("no-include-any"), + a(str("include-any"), arg) + ), + c( + str("no-include-all"), + a(str("include-all"), arg) + ), + c( + str("no-exclude"), + a(str("exclude"), arg) + ) + ) + ), + b(str("p2mp"), + c( + a(str("path_name"), arg) + ) + ).as(:oneline), + b(str("auto-bandwidth"), + c( + a(str("adjust-interval"), arg), + a(str("adjust-threshold"), arg), + a(str("minimum-bandwidth"), arg), + a(str("maximum-bandwidth"), arg), + str("monitor-bandwidth"), + a(str("adjust-threshold-overflow-limit"), arg), + a(str("adjust-threshold-underflow-limit"), arg) + ) + ), + b(a(str("associate-lsp"), arg), + c( + b(str("from"), + ipv4addr + ) + ) + ), + b(a(str("primary"), arg), + c( + b(str("bandwidth"), + bandwidth_type + ), + a(str("class-of-service"), arg), + str("no-decrement-ttl"), + a(str("hop-limit"), arg), + str("no-cspf"), + str("admin-down"), + a(str("optimize-timer"), arg), + a(str("preference"), arg), + a(str("priority"), a(arg, arg)).as(:oneline), + str("record"), + str("no-record"), + str("standby"), + str("exclude-srlg"), + b(str("admin-group"), + admin_group_include_exclude + ), + b(str("admin-group-extended"), + admin_group_include_exclude + ), + b(str("oam"), + periodic_oam + ), + str("adaptive"), + a(str("select"), arg) + ) + ), + b(a(str("secondary"), arg), + c( + b(str("bandwidth"), + bandwidth_type + ), + a(str("class-of-service"), arg), + str("no-decrement-ttl"), + a(str("hop-limit"), arg), + str("no-cspf"), + str("admin-down"), + a(str("optimize-timer"), arg), + a(str("preference"), arg), + a(str("priority"), a(arg, arg)).as(:oneline), + str("record"), + str("no-record"), + str("standby"), + str("exclude-srlg"), + b(str("admin-group"), + admin_group_include_exclude + ), + b(str("admin-group-extended"), + admin_group_include_exclude + ), + b(str("oam"), + periodic_oam + ), + str("adaptive"), + a(str("select"), arg) + ) + ), + b(str("policing"), + c( + a(str("filter"), arg), + str("no-auto-policing") + ) + ).as(:oneline), + str("associate-backup-pe-groups"), + str("egress-protection") + ) + ), + b(a(str("transit-lsp-association"), arg), + c( + a(str("lsp-name-1"), arg), + b(str("from-1"), + ipv4addr + ), + a(str("lsp-name-2"), arg), + b(str("from-2"), + ipv4addr + ) + ) + ), + b(a(str("path"), arg), + c( + b(ipaddr, + c( + c( + str("loose"), + str("strict") + ) + ) + ).as(:oneline) + ) + ), + b(a(str("static-label-switched-path"), arg), + c( + c( + b(str("bypass"), + c( + a(str("bandwidth"), arg), + a(str("description"), quote | arg), + b(str("next-hop"), + ipv4addr_or_interface + ), + a(str("push"), arg), + b(str("to"), + ipv4addr + ) + ) + ), + b(a(str("transit"), arg), + c( + a(str("bandwidth"), arg), + a(str("description"), quote | arg), + b(str("link-protection"), + c( + a(str("bypass-name"), arg) + ) + ).as(:oneline), + b(str("next-hop"), + ipv4addr_or_interface + ), + b(str("node-protection"), + c( + a(str("bypass-name"), arg), + a(str("next-next-label"), arg) + ) + ).as(:oneline), + c( + a(str("swap"), arg), + str("pop") + ) + ) + ), + b(str("ingress"), + c( + a(str("bandwidth"), arg), + a(str("class-of-service"), arg), + a(str("description"), quote | arg), + b(a(str("install"), arg), + c( + str("active") + ) + ).as(:oneline), + a(str("metric"), arg), + b(str("next-hop"), + ipv4addr_or_interface + ), + b(str("link-protection"), + c( + a(str("bypass-name"), arg) + ) + ).as(:oneline), + b(str("node-protection"), + c( + a(str("bypass-name"), arg), + a(str("next-next-label"), arg) + ) + ).as(:oneline), + str("no-install-to-address"), + b(str("policing"), + c( + a(str("filter"), arg), + str("no-auto-policing") + ) + ).as(:oneline), + a(str("preference"), arg), + b(str("to"), + ipv4addr + ), + a(str("push"), arg) + ) + ) + ) + ) + ), + b(a(str("interface"), arg), + c( + c( + str("disable") + ), + a(str("srlg"), arg), + str("always-mark-connection-protection-tlv"), + str("switch-away-lsps"), + a(str("admin-group"), arg), + a(str("admin-group-extended"), arg), + b(str("static"), + c( + a(str("protection-revert-time"), arg) + ) + ) + ) + ), + b(str("egress-protection"), + c( + b(a(str("context-identifier"), arg), + c( + c( + str("primary"), + str("protector") + ), + a(str("metric"), arg) + ) + ) + ) ) ) end end end