Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Commands added for supporting IPv4 MPLS Layer 3 VPN. #4

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
99 changes: 98 additions & 1 deletion scripts/frr/configs/commands/bgp.json
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,14 @@
"/protocols/bgp/@element/address-family/ipv4-unicast/parameters/dampening": "bgp dampening $if|{/half-life/@text},|half-life in {/@dict}$",
"/protocols/bgp/@element/address-family/ipv4-unicast/parameters/distance/global": "distance bgp {/external/@text} {/internal/@text} {/local/@text}",
"/protocols/bgp/@element/address-family/ipv4-unicast/network/@element": "network {/tagnode/@text} [route-map {/route-map/@text},] $if|backdoor,|backdoor in {/@dict}$",
"/protocols/bgp/@element/address-family/ipv4-unicast/label/vpn/export": "label vpn export {/@text}",
"/protocols/bgp/@element/address-family/vpnv4-unicast/@enter": "address-family ipv4 vpn",
"/protocols/bgp/@element/address-family/vpnv4-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/address-family/vpnv4-unicast/network/@element": "network {/addr/@text} rd {/rd/@text} label {/label/@text} [route-map {/route-map/@text},]",

"/protocols/bgp/@element/address-family/vpnv6-unicast/@enter": "address-family ipv6 vpn",
"/protocols/bgp/@element/address-family/vpnv6-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/address-family/vpnv6-unicast/network/@element": "network {/addr/@text} rd {/rd/@text} label {/label/@text} [route-map {/route-map/@text},]",

"/protocols/bgp/@element/address-family/ipv6-unicast/@enter": "address-family ipv6 unicast",
"/protocols/bgp/@element/address-family/ipv6-unicast/@exit": "exit-address-family",
Expand All @@ -64,6 +72,7 @@
"/protocols/bgp/@element/address-family/ipv6-unicast/parameters/dampening": "bgp dampening $if|{/half-life/@text},|half-life in {/@dict}$",
"/protocols/bgp/@element/address-family/ipv6-unicast/parameters/distance/global": "distance bgp {/external/@text} {/internal/@text} {/local/@text}",
"/protocols/bgp/@element/address-family/ipv6-unicast/network/@element": "network {/tagnode/@text} [route-map {/route-map/@text},]",
"/protocols/bgp/@element/address-family/ipv6-unicast/label/vpn/export": "label vpn export {/@text}",

"/protocols/bgp/@element/neighbor/@element/address-family/ipv4-unicast/@enter": "address-family ipv4 unicast",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv4-unicast/@exit": "exit-address-family",
Expand Down Expand Up @@ -94,6 +103,35 @@
"/protocols/bgp/@element/neighbor/@element/address-family/ipv4-unicast/unsuppress-map": "neighbor {/../../../tagnode/@text} unsuppress-map {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv4-unicast/weight": "neighbor {/../../../tagnode/@text} weight {/@text}",

"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/@enter": "address-family ipv4 vpn",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast": ["[neighbor {/../../tagnode/@text} peer-group {/peer-group/@text},]", "neighbor {/../../tagnode/@text} activate"],
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/allowas-in": "neighbor {/../../../tagnode/@text} allowas-in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/allowas-in/number": "neighbor {/../../../../tagnode/@text} allowas-in {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/attribute-unchanged": "neighbor {/../../../tagnode/@text} attribute-unchanged $if|as-path,|as-path in {/@dict}$ $if|med,|med in {/@dict}$ $if|next-hop,|next-hop in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/capability/orf/prefix-list/send": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list send",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/capability/orf/prefix-list/receive": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list receive",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/default-originate": "neighbor {/../../../tagnode/@text} default-originate [route-map {/route-map/@text},]",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/disable-send-community/standard": "no neighbor {/../../../../tagnode/@text} send-community standard",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/disable-send-community/extended": "no neighbor {/../../../../tagnode/@text} send-community extended",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/distribute-list/export": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/distribute-list/import": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/filter-list/export": "neighbor {/../../../../tagnode/@text} filter-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/filter-list/import": "neighbor {/../../../../tagnode/@text} filter-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/maximum-prefix/@element": "neighbor {/../../../../tagnode/@text} maximum-prefix {/tagnode/@text} $if|{/threshold/@element/tagnode/@text},|threshold in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/maximum-prefix/@element/threshold/@element": "neighbor {/../../../../../../tagnode/@text} maximum-prefix {/../../tagnode/@text} {/tagnode/@text} $if|warning-only,|warning-only in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/nexthop-self": "neighbor {/../../../tagnode/@text} next-hop-self",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/prefix-list/export": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/prefix-list/import": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/remove-private-as": "neighbor {/../../../tagnode/@text} remove-private-AS",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/route-reflector-client": "neighbor {/../../../tagnode/@text} route-reflector-client",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/route-server-client": "neighbor {/../../../tagnode/@text} route-server-client",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/soft-reconfiguration/inbound": "neighbor {/../../../../tagnode/@text} soft-reconfiguration inbound",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/route-map/import": "neighbor {/../../../../tagnode/@text} route-map {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/route-map/export": "neighbor {/../../../../tagnode/@text} route-map {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/unsuppress-map": "neighbor {/../../../tagnode/@text} unsuppress-map {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv4-unicast/weight": "neighbor {/../../../tagnode/@text} weight {/@text}",

"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast/@enter": "address-family ipv6 unicast",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast": ["[neighbor {/../../tagnode/@text} peer-group {/peer-group/@text},]", "neighbor {/../../tagnode/@text} activate"],
Expand Down Expand Up @@ -122,7 +160,66 @@
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast/route-map/export": "neighbor {/../../../../tagnode/@text} route-map {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast/unsuppress-map": "neighbor {/../../../tagnode/@text} unsuppress-map {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-unicast/weight": "neighbor {/../../../tagnode/@text} weight {/@text}",


"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/@enter": "address-family ipv6 vpn",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast": ["[neighbor {/../../tagnode/@text} peer-group {/peer-group/@text},]", "neighbor {/../../tagnode/@text} activate"],
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/allowas-in": "neighbor {/../../../tagnode/@text} allowas-in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/allowas-in/number": "neighbor {/../../../../tagnode/@text} allowas-in {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/attribute-unchanged": "neighbor {/../../../tagnode/@text} attribute-unchanged $if|as-path,|as-path in {/@dict}$ $if|med,|med in {/@dict}$ $if|next-hop,|next-hop in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/capability/orf/prefix-list/send": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list send",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/capability/orf/prefix-list/receive": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list receive",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/default-originate": "neighbor {/../../../tagnode/@text} default-originate [route-map {/route-map/@text},]",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/disable-send-community/standard": "no neighbor {/../../../../tagnode/@text} send-community standard",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/disable-send-community/extended": "no neighbor {/../../../../tagnode/@text} send-community extended",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/distribute-list/export": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/distribute-list/import": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/filter-list/export": "neighbor {/../../../../tagnode/@text} filter-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/filter-list/import": "neighbor {/../../../../tagnode/@text} filter-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/maximum-prefix/@element": "neighbor {/../../../../tagnode/@text} maximum-prefix {/tagnode/@text} $if|{/threshold/@element/tagnode/@text},|threshold in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/maximum-prefix/@element/threshold/@element": "neighbor {/../../../../../../tagnode/@text} maximum-prefix {/../../tagnode/@text} {/tagnode/@text} $if|warning-only,|warning-only in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/nexthop-self": "neighbor {/../../../tagnode/@text} next-hop-self",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/prefix-list/export": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/prefix-list/import": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/remove-private-as": "neighbor {/../../../tagnode/@text} remove-private-AS",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/route-reflector-client": "neighbor {/../../../tagnode/@text} route-reflector-client",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/route-server-client": "neighbor {/../../../tagnode/@text} route-server-client",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/soft-reconfiguration/inbound": "neighbor {/../../../../tagnode/@text} soft-reconfiguration inbound",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/route-map/import": "neighbor {/../../../../tagnode/@text} route-map {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/route-map/export": "neighbor {/../../../../tagnode/@text} route-map {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/unsuppress-map": "neighbor {/../../../tagnode/@text} unsuppress-map {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/vpnv6-unicast/weight": "neighbor {/../../../tagnode/@text} weight {/@text}",


"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/@enter": "address-family ipv6 labeled-unicast",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/@exit": "exit-address-family",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast": ["[neighbor {/../../tagnode/@text} peer-group {/peer-group/@text},]", "neighbor {/../../tagnode/@text} activate"],
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/allowas-in": "neighbor {/../../../tagnode/@text} allowas-in",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/allowas-in/number": "neighbor {/../../../../tagnode/@text} allowas-in {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/attribute-unchanged": "neighbor {/../../../tagnode/@text} attribute-unchanged $if|as-path,|as-path in {/@dict}$ $if|med,|med in {/@dict}$ $if|next-hop,|next-hop in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/capability/orf/prefix-list/send": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list send",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/capability/orf/prefix-list/receive": "neighbor {/../../../../../../tagnode/@text} capability orf prefix-list receive",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/default-originate": "neighbor {/../../../tagnode/@text} default-originate [route-map {/route-map/@text},]",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/disable-send-community/standard": "no neighbor {/../../../../tagnode/@text} send-community standard",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/disable-send-community/extended": "no neighbor {/../../../../tagnode/@text} send-community extended",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/distribute-list/export": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/distribute-list/import": "neighbor {/../../../../tagnode/@text} distribute-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/filter-list/export": "neighbor {/../../../../tagnode/@text} filter-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/filter-list/import": "neighbor {/../../../../tagnode/@text} filter-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/maximum-prefix/@element": "neighbor {/../../../../tagnode/@text} maximum-prefix {/tagnode/@text} $if|{/threshold/@element/tagnode/@text},|threshold in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/maximum-prefix/@element/threshold/@element": "neighbor {/../../../../../../tagnode/@text} maximum-prefix {/../../tagnode/@text} {/tagnode/@text} $if|warning-only,|warning-only in {/@dict}$",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/nexthop-self": "neighbor {/../../../tagnode/@text} next-hop-self",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/prefix-list/export": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/prefix-list/import": "neighbor {/../../../../tagnode/@text} prefix-list {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/remove-private-as": "neighbor {/../../../tagnode/@text} remove-private-AS",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/route-reflector-client": "neighbor {/../../../tagnode/@text} route-reflector-client",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/route-server-client": "neighbor {/../../../tagnode/@text} route-server-client",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/soft-reconfiguration/inbound": "neighbor {/../../../../tagnode/@text} soft-reconfiguration inbound",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/route-map/import": "neighbor {/../../../../tagnode/@text} route-map {/@text} in",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/route-map/export": "neighbor {/../../../../tagnode/@text} route-map {/@text} out",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/unsuppress-map": "neighbor {/../../../tagnode/@text} unsuppress-map {/@text}",
"/protocols/bgp/@element/neighbor/@element/address-family/ipv6-labeled-unicast/weight": "neighbor {/../../../tagnode/@text} weight {/@text}",

"/protocols/bgp/@element/peer-group/@element": "neighbor {/tagnode/@text} peer-group",
"/protocols/bgp/@element/peer-group/@element/advertisement-interval": "neighbor {/../tagnode/@text} advertisement-interval {/@text}",
"/protocols/bgp/@element/peer-group/@element/capability/dynamic": "neighbor {/../../tagnode/@text} capability dynamic",
Expand Down
Loading