diff options
author | sever-sever <v.gletenko@vyos.io> | 2021-03-26 09:14:02 +0000 |
---|---|---|
committer | sever-sever <v.gletenko@vyos.io> | 2021-03-26 09:14:02 +0000 |
commit | 3d8a84781500ee193564fc7ef1e173d0270ad5c9 (patch) | |
tree | a368939c4149edcd5af1ee59297a6d5732dfe8e2 /op-mode-definitions | |
parent | 46a3920aba397924b404ecd2c1284af0b9f8379b (diff) | |
download | vyos-1x-3d8a84781500ee193564fc7ef1e173d0270ad5c9.tar.gz vyos-1x-3d8a84781500ee193564fc7ef1e173d0270ad5c9.zip |
bgp: T3434: op-mode CLI refactoring for support vrf
Diffstat (limited to 'op-mode-definitions')
-rw-r--r-- | op-mode-definitions/include/bgp-common.xml.i | 170 | ||||
-rw-r--r-- | op-mode-definitions/show-ip-bgp.xml.in | 169 |
2 files changed, 177 insertions, 162 deletions
diff --git a/op-mode-definitions/include/bgp-common.xml.i b/op-mode-definitions/include/bgp-common.xml.i new file mode 100644 index 000000000..a1154d965 --- /dev/null +++ b/op-mode-definitions/include/bgp-common.xml.i @@ -0,0 +1,170 @@ +<!-- included start from bgp-common.xml.i --> +<leafNode name="attribute-info"> + <properties> + <help>Show BGP attribute information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +<leafNode name="cidr-only"> + <properties> + <help>Display only routes with non-natural netmasks</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +<leafNode name="community-info"> + <properties> + <help>List all bgp community information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +#include <include/bgp-afi-common.xml.i> +#include <include/bgp-afi-ipv4-ipv6-common.xml.i> +<tagNode name="prefix-list"> + <properties> + <completionHelp> + <path>policy prefix-list</path> + </completionHelp> + </properties> +</tagNode> +<node name="ipv4"> + <properties> + <help>Show BGP IPv4 information</help> + </properties> + <children> + <node name="unicast"> + <properties> + <help>Show BGP IPv4 unicast information</help> + </properties> + <children> + <leafNode name="cidr-only"> + <properties> + <help>Display only routes with non-natural netmasks</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + <node name="community"> + <properties> + <help>Show BGP routes matching the communities</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </node> + <tagNode name="community"> + <properties> + <help>Display routes matching the specified communities</help> + <completionHelp> +<list><AA:NN> local-AS no-advertise no-export</list> + </completionHelp> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </tagNode> + <tagNode name="community-list"> + <properties> + <help>Show BGP routes matching specified community list</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + <children> + <leafNode name="exact-match"> +<properties> + <help>Show BGP routes exactly matching specified community list</help> +</properties> +<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + </children> + </tagNode> + <tagNode name="neighbors"> + <properties> + <help>Show detailed BGP IPv4 unicast neighbor information</help> + <completionHelp> +<script>vtysh -c "show ip bgp ipv4 unicast summary" | awk '{print $1}' | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"</script> + </completionHelp> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + <children> + <leafNode name="advertised-routes"> +<properties> + <help>Show routes advertised to a BGP neighbor</help> +</properties> +<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + <leafNode name="prefix-counts"> +<properties> + <help>Show detailed prefix count information</help> +</properties> +<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + <leafNode name="received-routes"> +<properties> + <help>Show the received routes from neighbor</help> +</properties> +<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + <leafNode name="routes"> +<properties> + <help>Show routes learned from neighbor</help> +</properties> +<command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + </children> + </tagNode> + <leafNode name="paths"> + <properties> + <help>Show BGP path information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + <tagNode name="prefix-list"> + <properties> + <help>Show BGP routes matching the specified prefix list</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </tagNode> + <tagNode name="regexp"> + <properties> + <help>Show BGP routes matching the specified AS path regular expression</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </tagNode> + <tagNode name="route-map"> + <properties> + <help>Show BGP routes matching the specified route map</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </tagNode> + <leafNode name="summary"> + <properties> + <help>Show summary of BGP information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </leafNode> + </children> + </node> + <tagNode name="unicast"> + <properties> + <help>Show BGP information for specified IP address or prefix</help> + <completionHelp> + <list><x.x.x.x> <x.x.x.x/x></list> + </completionHelp> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> + </tagNode> + </children> +</node> +<leafNode name="large-community-info"> + <properties> + <help>Show BGP large-community information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +<leafNode name="memory"> + <properties> + <help>Show BGP memory usage</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +<leafNode name="paths"> + <properties> + <help>Show BGP path information</help> + </properties> + <command>${vyos_op_scripts_dir}/vtysh_wrapper.sh $@</command> +</leafNode> +<!-- included end --> diff --git a/op-mode-definitions/show-ip-bgp.xml.in b/op-mode-definitions/show-ip-bgp.xml.in index 690de0a1d..9a271b4a5 100644 --- a/op-mode-definitions/show-ip-bgp.xml.in +++ b/op-mode-definitions/show-ip-bgp.xml.in @@ -10,174 +10,19 @@ </properties> <command>vtysh -c "show ip bgp"</command> <children> - <leafNode name="attribute-info"> - <properties> - <help>Show BGP attribute information</help> - </properties> - <command>vtysh -c "show ip bgp attribute-info"</command> - </leafNode> - <leafNode name="cidr-only"> - <properties> - <help>Display only routes with non-natural netmasks</help> - </properties> - <command>vtysh -c "show ip bgp cidr-only"</command> - </leafNode> - <leafNode name="community-info"> - <properties> - <help>List all bgp community information</help> - </properties> - <command>vtysh -c "show ip bgp community-info"</command> - </leafNode> - #include <include/bgp-afi-common.xml.i> - #include <include/bgp-afi-ipv4-ipv6-common.xml.i> - <tagNode name="prefix-list"> + #include <include/bgp-common.xml.i> + <tagNode name="vrf"> <properties> + <help>Show bgp routing protocol for given VRF</help> <completionHelp> - <path>policy prefix-list</path> + <path>vrf name</path> + <list>all</list> </completionHelp> </properties> - </tagNode> - <node name="ipv4"> - <properties> - <help>Show BGP IPv4 information</help> - </properties> <children> - <node name="unicast"> - <properties> - <help>Show BGP IPv4 unicast information</help> - </properties> - <children> - <leafNode name="cidr-only"> - <properties> - <help>Display only routes with non-natural netmasks</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast cidr-only"</command> - </leafNode> - <node name="community"> <!-- START new code --> - <properties> - <help>Show BGP routes matching the communities</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast community"</command> - </node> - <tagNode name="community"> - <properties> - <help>Display routes matching the specified communities</help> - <completionHelp> - <list><AA:NN> local-AS no-advertise no-export</list> - </completionHelp> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast community $7"</command> - </tagNode> - <tagNode name="community-list"> - <properties> - <help>Show BGP routes matching specified community list</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast community-list $7"</command> - <children> - <leafNode name="exact-match"> - <properties> - <help>Show BGP routes exactly matching specified community list</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast community-list $7 exact-match"</command> - </leafNode> - </children> - </tagNode> - <tagNode name="neighbors"> - <properties> - <help>Show detailed BGP IPv4 unicast neighbor information</help> - <completionHelp> - <script>vtysh -c "show ip bgp ipv4 unicast summary" | awk '{print $1}' | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"</script> - </completionHelp> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast neighbors $7"</command> - <children> - <leafNode name="advertised-routes"> - <properties> - <help>Show routes advertised to a BGP neighbor</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 advertised-routes"</command> - </leafNode> - <leafNode name="prefix-counts"> - <properties> - <help>Show detailed prefix count information</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 prefix-counts"</command> - </leafNode> - <leafNode name="received-routes"> - <properties> - <help>Show the received routes from neighbor</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 received-routes"</command> - </leafNode> - <leafNode name="routes"> - <properties> - <help>Show routes learned from neighbor</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast neighbor $7 routes"</command> - </leafNode> - </children> - </tagNode> - <leafNode name="paths"> - <properties> - <help>Show BGP path information</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast paths"</command> - </leafNode> - <tagNode name="prefix-list"> - <properties> - <help>Show BGP routes matching the specified prefix list</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast prefix-list $7"</command> - </tagNode> - <tagNode name="regexp"> - <properties> - <help>Show BGP routes matching the specified AS path regular expression</help> - </properties> - <command>vtysh -c "show ip bgp ipv4 unicast regexp $5"</command> - </tagNode> - <tagNode name="route-map"> - <properties> - <help>Show BGP routes matching the specified route map</help> - </properties> - <command>vtysh -c "show ip bgp route-map $5"</command> - </tagNode> - <leafNode name="summary"> - <properties> - <help>Show summary of BGP information</help> - </properties> - <command>vtysh -c "show ip bgp summary"</command> - </leafNode> - </children> - </node> - <tagNode name="unicast"> - <properties> - <help>Show BGP information for specified IP address or prefix</help> - <completionHelp> - <list><x.x.x.x> <x.x.x.x/x></list> - </completionHelp> - </properties> - <command>vtysh -c "show ip bgp $6"</command> - </tagNode> + #include <include/bgp-common.xml.i> </children> - </node> - <leafNode name="large-community-info"> - <properties> - <help>Show BGP large-community information</help> - </properties> - <command>vtysh -c "show ip bgp large-community-info"</command> - </leafNode> - <leafNode name="memory"> - <properties> - <help>Show BGP memory usage</help> - </properties> - <command>vtysh -c "show ip bgp memory"</command> - </leafNode> - <leafNode name="paths"> - <properties> - <help>Show BGP path information</help> - </properties> - <command>vtysh -c "show ip bgp paths"</command> - </leafNode> + </tagNode> </children> </node> </children> |