From d258cefa22e39b1c8f5ce7faee2d0e33d9a9e3cf Mon Sep 17 00:00:00 2001 From: Bob Gilligan Date: Tue, 16 Mar 2010 17:34:16 -0700 Subject: Bugfix 5462: Re-organize configuration parameters for IPv6. --- .../ipv6-unicast/aggregate-address/node.def | 23 ++++++++++++++ .../node.tag/summary-only/node.def | 1 + .../address-family/ipv6-unicast/network/node.def | 15 +++++++++ .../redistribute/connected/metric/node.def | 3 ++ .../ipv6-unicast/redistribute/connected/node.def | 22 +++++++++++++ .../redistribute/connected/route-map/node.def | 7 ++++ .../redistribute/kernel/metric/node.def | 3 ++ .../ipv6-unicast/redistribute/kernel/node.def | 22 +++++++++++++ .../redistribute/kernel/route-map/node.def | 7 ++++ .../ipv6-unicast/redistribute/node.def | 1 + .../redistribute/ospfv3/metric/node.def | 3 ++ .../ipv6-unicast/redistribute/ospfv3/node.def | 22 +++++++++++++ .../redistribute/ospfv3/route-map/node.def | 7 ++++ .../redistribute/ripng/metric/node.def | 5 +++ .../ipv6-unicast/redistribute/ripng/node.def | 22 +++++++++++++ .../redistribute/ripng/route-map/node.def | 7 ++++ .../redistribute/static/metric/node.def | 3 ++ .../ipv6-unicast/redistribute/static/node.def | 22 +++++++++++++ .../redistribute/static/route-map/node.def | 7 ++++ .../protocols/bgp/node.tag/address-family/node.def | 4 +++ .../bgp/node.tag/ipv6/aggregate-address/node.def | 23 -------------- .../node.tag/summary-only/node.def | 1 - .../protocols/bgp/node.tag/ipv6/network/node.def | 15 --------- templates/protocols/bgp/node.tag/ipv6/node.def | 1 - .../ipv6/redistribute/connected/metric/node.def | 3 -- .../node.tag/ipv6/redistribute/connected/node.def | 22 ------------- .../ipv6/redistribute/connected/route-map/node.def | 4 --- .../ipv6/redistribute/kernel/metric/node.def | 3 -- .../bgp/node.tag/ipv6/redistribute/kernel/node.def | 22 ------------- .../ipv6/redistribute/kernel/route-map/node.def | 4 --- .../bgp/node.tag/ipv6/redistribute/node.def | 1 - .../ipv6/redistribute/ospfv3/metric/node.def | 3 -- .../bgp/node.tag/ipv6/redistribute/ospfv3/node.def | 22 ------------- .../ipv6/redistribute/ospfv3/route-map/node.def | 4 --- .../ipv6/redistribute/ripng/metric/node.def | 3 -- .../bgp/node.tag/ipv6/redistribute/ripng/node.def | 22 ------------- .../ipv6/redistribute/ripng/route-map/node.def | 4 --- .../ipv6/redistribute/static/metric/node.def | 3 -- .../bgp/node.tag/ipv6/redistribute/static/node.def | 22 ------------- .../ipv6/redistribute/static/route-map/node.def | 4 --- .../neighbor/node.tag/address-family/node.def | 16 ++++++++++ .../node.tag/distribute-list/export/node.def | 32 +++++++++++++++++++ .../node.tag/distribute-list/import/node.def | 31 ++++++++++++++++++ .../node.tag/distribute-list/node.def | 1 + .../node.tag/prefix-list/export/node.def | 37 ++++++++++++++++++++++ .../node.tag/prefix-list/import/node.def | 37 ++++++++++++++++++++++ .../address-family/node.tag/prefix-list/node.def | 1 + 47 files changed, 361 insertions(+), 186 deletions(-) create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/address-family/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/network/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/metric/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def delete mode 100644 templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/export/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/import/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/export/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/import/node.def create mode 100644 templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/node.def diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def new file mode 100644 index 00000000..84a1e5f0 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.def @@ -0,0 +1,23 @@ +tag: +type: ipv6net +help: Set a BGP IPv6 aggregate network +comp_help: + IPv6 aggregate network + +syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" + +delete: touch /tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID + +end: vyatta-vtysh -n -c "configure terminal" \ + -c "router bgp $VAR(../../../@)" \ + -c "no ipv6 bgp aggregate-address $VAR(@)"; + if [ -f "/tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID" ]; then + rm -rf /tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID; + else + if [ -n "$VAR(./summary-only)" ]; then + cond="$cond summary-only"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../@)" \ + -c "ipv6 bgp aggregate-address $VAR(@) $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def new file mode 100644 index 00000000..7aaf0620 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/aggregate-address/node.tag/summary-only/node.def @@ -0,0 +1 @@ +help: Set to announce the aggregate summary network only diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def new file mode 100644 index 00000000..6ede47d9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/network/node.def @@ -0,0 +1,15 @@ +multi: +type: ipv6net +help: Set a BGP IPv6 network +comp_help: + IPv6 network + +syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" + +create: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../@)" \ + -c "ipv6 bgp network $VAR(@)"; + +delete: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../@)" \ + -c "no ipv6 bgp network $VAR(@)"; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def new file mode 100644 index 00000000..8ac30200 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/metric/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set the metric for redistributed routes +comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def new file mode 100644 index 00000000..6ecdc4ed --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/node.def @@ -0,0 +1,22 @@ +help: Set to redistribute connected routes into BGP + +delete: touch /tmp/bgp-redist-connected.$PPID + +end: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "no redistribute connected"; + if [ -f "/tmp/bgp-redist-connected.$PPID" ]; then + rm -rf /tmp/bgp-redist-connected.$PPID; + else + if [ -n "$VAR(./metric/@)" ]; then + cond="metric $VAR(./metric/@)"; + fi; + if [ -n "$VAR(./route-map/@)" ]; then + cond="$cond route-map $VAR(./route-map/@)"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "redistribute connected $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def new file mode 100644 index 00000000..d7c994b9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/connected/route-map/node.def @@ -0,0 +1,7 @@ +type: txt + +help: Set a route map to filter redistributed routes + +comp_help: \1 \t\troute-map name + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute connected: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def new file mode 100644 index 00000000..8ac30200 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/metric/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set the metric for redistributed routes +comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def new file mode 100644 index 00000000..09b4db85 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/node.def @@ -0,0 +1,22 @@ +help: Set to redistribute kernel routes into BGP + +delete: touch /tmp/bgp-redist-kernel.$PPID + +end: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "no redistribute kernel "; + if [ -f "/tmp/bgp-redist-kernel.$PPID" ]; then + rm -rf /tmp/bgp-redist-kernel.$PPID; + else + if [ -n "$VAR(./metric/@)" ]; then + cond="metric $VAR(./metric/@)"; + fi; + if [ -n "$VAR(./route-map/@)" ]; then + cond="$cond route-map $VAR(./route-map/@)"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "redistribute kernel $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def new file mode 100644 index 00000000..a8252d7d --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/kernel/route-map/node.def @@ -0,0 +1,7 @@ +type: txt + +help: Set a route map to filter redistributed routes + +comp_help: \1 \t\troute-map name + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute kernel: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def new file mode 100644 index 00000000..105e22db --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/node.def @@ -0,0 +1 @@ +help: Set redistribution of routes from other protocols into BGP diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def new file mode 100644 index 00000000..8ac30200 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/metric/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set the metric for redistributed routes +comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def new file mode 100644 index 00000000..e916c6dc --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/node.def @@ -0,0 +1,22 @@ +help: Set to redistribute OSPFv3 routes into BGP + +delete: touch /tmp/bgp-redist-ospf.$PPID + +end: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "no redistribute ospf6"; + if [ -f "/tmp/bgp-redist-ospf.$PPID" ]; then + rm -rf /tmp/bgp-redist-ospf.$PPID; + else + if [ -n "$VAR(./metric/@)" ]; then + cond="metric $VAR(./metric/@)"; + fi; + if [ -n "$VAR(./route-map/@)" ]; then + cond="$cond route-map $VAR(./route-map/@)"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "redistribute ospf6 $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def new file mode 100644 index 00000000..95a053a9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ospfv3/route-map/node.def @@ -0,0 +1,7 @@ +type: txt + +help: Set a route map to filter redistributed routes + +comp_help: \1 \t\troute-map name + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute ospfv3: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def new file mode 100644 index 00000000..4855c88d --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/metric/node.def @@ -0,0 +1,5 @@ +type: u32 + +help: Set the metric for redistributed routes + +comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def new file mode 100644 index 00000000..4fc05398 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/node.def @@ -0,0 +1,22 @@ +help: Set to redistribute RIPng routes into BGP + +delete: touch /tmp/bgp-redist-rip.$PPID + +end: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "no redistribute ripng"; + if [ -f "/tmp/bgp-redist-rip.$PPID" ]; then + rm -rf /tmp/bgp-redist-rip.$PPID; + else + if [ -n "$VAR(./metric/@)" ]; then + cond="metric $VAR(./metric/@)"; + fi; + if [ -n "$VAR(./route-map/@)" ]; then + cond="$cond route-map $VAR(./route-map/@)"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "redistribute ripng $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def new file mode 100644 index 00000000..75b39269 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/ripng/route-map/node.def @@ -0,0 +1,7 @@ +type: txt + +help: Set a route map to filter redistributed routes + +comp_help: \1 \t\troute-map name + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute ripng: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def new file mode 100644 index 00000000..8ac30200 --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/metric/node.def @@ -0,0 +1,3 @@ +type: u32 +help: Set the metric for redistributed routes +comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def new file mode 100644 index 00000000..a2b3133a --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/node.def @@ -0,0 +1,22 @@ +help: Set to redistribute static routes into BGP + +delete: touch /tmp/bgp-redist-static.$PPID + +end: vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "no redistribute static"; + if [ -f "/tmp/bgp-redist-static.$PPID" ]; then + rm -rf /tmp/bgp-redist-static.$PPID; + else + if [ -n "$VAR(./metric/@)" ]; then + cond="metric $VAR(./metric/@)"; + fi; + if [ -n "$VAR(./route-map/@)" ]; then + cond="$cond route-map $VAR(./route-map/@)"; + fi; + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family ipv6" \ + -c "redistribute static $cond"; + fi; diff --git a/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def new file mode 100644 index 00000000..5bcc69fb --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/ipv6-unicast/redistribute/static/route-map/node.def @@ -0,0 +1,7 @@ +type: txt + +help: Set a route map to filter redistributed routes + +comp_help: \1 \t\troute-map name + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../../@) ipv6 redistribute static: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/address-family/node.def b/templates/protocols/bgp/node.tag/address-family/node.def new file mode 100644 index 00000000..68213b4e --- /dev/null +++ b/templates/protocols/bgp/node.tag/address-family/node.def @@ -0,0 +1,4 @@ +help: Generic parameters for IPv4 or IPv6 + + + diff --git a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def b/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def deleted file mode 100644 index cb260727..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.def +++ /dev/null @@ -1,23 +0,0 @@ -tag: -type: ipv6net -help: Set a BGP IPv6 aggregate network -comp_help: - IPv6 aggregate network - -syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" - -delete: touch /tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID - -end: vyatta-vtysh -n -c "configure terminal" \ - -c "router bgp $VAR(../../@)" \ - -c "no ipv6 bgp aggregate-address $VAR(@)"; - if [ -f "/tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID" ]; then - rm -rf /tmp/`echo $VAR(@) | sed 's!/!!'`.$PPID; - else - if [ -n "$VAR(./summary-only)" ]; then - cond="$cond summary-only"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../@)" \ - -c "ipv6 bgp aggregate-address $VAR(@) $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def b/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def deleted file mode 100644 index 7aaf0620..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/aggregate-address/node.tag/summary-only/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set to announce the aggregate summary network only diff --git a/templates/protocols/bgp/node.tag/ipv6/network/node.def b/templates/protocols/bgp/node.tag/ipv6/network/node.def deleted file mode 100644 index cfe2d8a7..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/network/node.def +++ /dev/null @@ -1,15 +0,0 @@ -multi: -type: ipv6net -help: Set a BGP IPv6 network -comp_help: - IPv6 network - -syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)" - -create: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../@)" \ - -c "ipv6 bgp network $VAR(@)"; - -delete: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../@)" \ - -c "no ipv6 bgp network $VAR(@)"; diff --git a/templates/protocols/bgp/node.tag/ipv6/node.def b/templates/protocols/bgp/node.tag/ipv6/node.def deleted file mode 100644 index 1a8f732e..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set a BGP IPv6 settings diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def deleted file mode 100644 index 8ac30200..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/metric/node.def +++ /dev/null @@ -1,3 +0,0 @@ -type: u32 -help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def deleted file mode 100644 index 34ef9014..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/node.def +++ /dev/null @@ -1,22 +0,0 @@ -help: Set to redistribute connected routes into BGP - -delete: touch /tmp/bgp-redist-connected.$PPID - -end: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "no redistribute connected"; - if [ -f "/tmp/bgp-redist-connected.$PPID" ]; then - rm -rf /tmp/bgp-redist-connected.$PPID; - else - if [ -n "$VAR(./metric/@)" ]; then - cond="metric $VAR(./metric/@)"; - fi; - if [ -n "$VAR(./route-map/@)" ]; then - cond="$cond route-map $VAR(./route-map/@)"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "redistribute connected $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def deleted file mode 100644 index b636e5f7..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/connected/route-map/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: txt -help: Set a route map to filter redistributed routes -comp_help: \1 \t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute connected: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/metric/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/metric/node.def deleted file mode 100644 index 8ac30200..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/metric/node.def +++ /dev/null @@ -1,3 +0,0 @@ -type: u32 -help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def deleted file mode 100644 index a3915423..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/node.def +++ /dev/null @@ -1,22 +0,0 @@ -help: Set to redistribute kernel routes into BGP - -delete: touch /tmp/bgp-redist-kernel.$PPID - -end: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "no redistribute kernel "; - if [ -f "/tmp/bgp-redist-kernel.$PPID" ]; then - rm -rf /tmp/bgp-redist-kernel.$PPID; - else - if [ -n "$VAR(./metric/@)" ]; then - cond="metric $VAR(./metric/@)"; - fi; - if [ -n "$VAR(./route-map/@)" ]; then - cond="$cond route-map $VAR(./route-map/@)"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "redistribute kernel $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def deleted file mode 100644 index 202a548e..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/kernel/route-map/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: txt -help: Set a route map to filter redistributed routes -comp_help: \1 \t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute kernel: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/node.def deleted file mode 100644 index 105e22db..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/node.def +++ /dev/null @@ -1 +0,0 @@ -help: Set redistribution of routes from other protocols into BGP diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def deleted file mode 100644 index 8ac30200..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/metric/node.def +++ /dev/null @@ -1,3 +0,0 @@ -type: u32 -help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def deleted file mode 100644 index ae44b906..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/node.def +++ /dev/null @@ -1,22 +0,0 @@ -help: Set to redistribute OSPFv3 routes into BGP - -delete: touch /tmp/bgp-redist-ospf.$PPID - -end: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "no redistribute ospf6"; - if [ -f "/tmp/bgp-redist-ospf.$PPID" ]; then - rm -rf /tmp/bgp-redist-ospf.$PPID; - else - if [ -n "$VAR(./metric/@)" ]; then - cond="metric $VAR(./metric/@)"; - fi; - if [ -n "$VAR(./route-map/@)" ]; then - cond="$cond route-map $VAR(./route-map/@)"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "redistribute ospf6 $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def deleted file mode 100644 index abb61fa7..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ospfv3/route-map/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: txt -help: Set a route map to filter redistributed routes -comp_help: \1 \t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute ospfv3: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def deleted file mode 100644 index 8ac30200..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/metric/node.def +++ /dev/null @@ -1,3 +0,0 @@ -type: u32 -help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def deleted file mode 100644 index 4ba7c3a1..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/node.def +++ /dev/null @@ -1,22 +0,0 @@ -help: Set to redistribute RIPng routes into BGP - -delete: touch /tmp/bgp-redist-rip.$PPID - -end: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "no redistribute ripng"; - if [ -f "/tmp/bgp-redist-rip.$PPID" ]; then - rm -rf /tmp/bgp-redist-rip.$PPID; - else - if [ -n "$VAR(./metric/@)" ]; then - cond="metric $VAR(./metric/@)"; - fi; - if [ -n "$VAR(./route-map/@)" ]; then - cond="$cond route-map $VAR(./route-map/@)"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "redistribute ripng $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def deleted file mode 100644 index 828652aa..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/ripng/route-map/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: txt -help: Set a route map to filter redistributed routes -comp_help: \1 \t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute ripng: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def deleted file mode 100644 index 8ac30200..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/metric/node.def +++ /dev/null @@ -1,3 +0,0 @@ -type: u32 -help: Set the metric for redistributed routes -comp_help: \1 <0-4294967295>\tmetric diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def deleted file mode 100644 index 23f40710..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/node.def +++ /dev/null @@ -1,22 +0,0 @@ -help: Set to redistribute static routes into BGP - -delete: touch /tmp/bgp-redist-static.$PPID - -end: vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "no redistribute static"; - if [ -f "/tmp/bgp-redist-static.$PPID" ]; then - rm -rf /tmp/bgp-redist-static.$PPID; - else - if [ -n "$VAR(./metric/@)" ]; then - cond="metric $VAR(./metric/@)"; - fi; - if [ -n "$VAR(./route-map/@)" ]; then - cond="$cond route-map $VAR(./route-map/@)"; - fi; - vyatta-vtysh -c "configure terminal" \ - -c "router bgp $VAR(../../../@)" \ - -c "address-family ipv6" \ - -c "redistribute static $cond"; - fi; diff --git a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def b/templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def deleted file mode 100644 index 90e59e5a..00000000 --- a/templates/protocols/bgp/node.tag/ipv6/redistribute/static/route-map/node.def +++ /dev/null @@ -1,4 +0,0 @@ -type: txt -help: Set a route map to filter redistributed routes -comp_help: \1 \t\troute-map name -commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $VAR(@)\" ";"protocols bgp $VAR(../../../../@) ipv6 redistribute static: route-map $VAR(@) doesn't exist" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.def new file mode 100644 index 00000000..42ed93b0 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.def @@ -0,0 +1,16 @@ +tag: + +type: txt + +help: Neighbor specific parameters for IPv4 or IPv6 + +comp_help: Possible completions: + ipv6-unicast Neighbor specific parameters for IPv6 unicast routes + +allowed: echo -n "ipv6-unicast" + +sytax:expression: $VAR(@) in "ipv6-unicast"; "Must be ipv6-unicast" + + + + diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/export/node.def new file mode 100644 index 00000000..5fb887f7 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/export/node.def @@ -0,0 +1,32 @@ +type: txt + +help: Set an access-list to filter outgoing route updates to this neighbor + +comp_help: possible completions: + access-list name + +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" + +commit:expression: $VAR(../../../peer-group/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@): you can't set a distribute-list for a neighbor in a peer-group" + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list6 $VAR(@)\" ";"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) export: access-list6 $VAR(@) doesn't exist" + +commit:expression: $VAR(../../prefix-list/export/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) ) address-family $VAR(../../@) distribute-list export: you can't set both a prefix-list and a distribute list" + +update: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "neighbor $VAR(../../../@) activate" \ + -c "neighbor $VAR(../../../@) distribute-list $VAR(@) out" + +delete: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh --noerror -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "no neighbor $VAR(../../../@) distribute-list $VAR(@) out" + diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/import/node.def new file mode 100644 index 00000000..e4c8d77a --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/import/node.def @@ -0,0 +1,31 @@ +type: txt + +help: Set an access-list to filter outgoing route updates to this neighbor + +comp_help: possible completions: + access-list name + +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" + +commit:expression: $VAR(../../../peer-group/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@): you can't set a distribute-list for a neighbor in a peer-group" + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list6 $VAR(@)\" ";"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) import: access-list6 $VAR(@) doesn't exist" + +commit:expression: $VAR(../../prefix-list/import/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) ) address-family $VAR(../../@) distribute-list import: you can't set both a prefix-list and a distribute list" + +update: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "neighbor $VAR(../../../@) activate" \ + -c "neighbor $VAR(../../../@) distribute-list $VAR(@) in" + +delete: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh --noerror -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "no neighbor $VAR(../../../@) distribute-list $VAR(@) in" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/node.def new file mode 100644 index 00000000..4013725c --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/distribute-list/node.def @@ -0,0 +1 @@ +help: Set an access-list to filter route updates to/from this neighbor diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/export/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/export/node.def new file mode 100644 index 00000000..f0320bcb --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/export/node.def @@ -0,0 +1,37 @@ +type: txt + +help: Set a prefix-list to filter outgoing route updates to this neighbor + +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} + +comp_help: possible completions: + prefix-list name + +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" || /opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list6 $VAR(@)\""; \ +"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" + +commit:expression: $VAR(../../distribute-list/export/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) prefix-list export: you can't set both a prefix-list and a distribute list" + +update: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh \ + -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "neighbor $VAR(../../../@) activate" \ + -c "neighbor $VAR(../../../@) prefix-list $VAR(@) out" + +delete: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh --noerror \ + -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "no neighbor $VAR(../../../@) prefix-list $VAR(@) out" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/import/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/import/node.def new file mode 100644 index 00000000..c375630f --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/import/node.def @@ -0,0 +1,37 @@ +type: txt + +help: Set a prefix-list to filter outgoing route updates to this neighbor + +allowed: local -a params + params=( /opt/vyatta/config/active/policy/prefix-list/* + /opt/vyatta/config/active/policy/prefix-list6/*) + echo -n ${params[@]##*/} + +comp_help: possible completions: + prefix-list name + +commit:expression: exec "/opt/vyatta/sbin/vyatta-bgp.pl --check-as --as $VAR(../../../../@) --neighbor $VAR(../../../@)" + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" || /opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list6 $VAR(@)\""; \ +"protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) prefix-list import: prefix-list $VAR(@) doesn't exist" + +commit:expression: $VAR(../../distribute-list/import/) == ""; "protocols bgp $VAR(../../../../@) neighbor $VAR(../../../@) address-family $VAR(../../@) prefix-list import: you can't set both a prefix-list and a distribute list" + +update: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh \ + -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "neighbor $VAR(../../../@) activate" \ + -c "neighbor $VAR(../../../@) prefix-list $VAR(@) in" + +delete: + af=$VAR(../../@) + af=${af%-*} + vyatta-vtysh --noerror \ + -c "configure terminal" \ + -c "router bgp $VAR(../../../../@)" \ + -c "address-family $af" \ + -c "no neighbor $VAR(../../../@) prefix-list $VAR(@) in" diff --git a/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/node.def b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/node.def new file mode 100644 index 00000000..1a6187c9 --- /dev/null +++ b/templates/protocols/bgp/node.tag/neighbor/node.tag/address-family/node.tag/prefix-list/node.def @@ -0,0 +1 @@ +help: Set a prefix-list to filter route updates to/from this neighbor -- cgit v1.2.3