diff options
Diffstat (limited to 'templates/protocols/rip/redistribute/bgp')
3 files changed, 23 insertions, 0 deletions
diff --git a/templates/protocols/rip/redistribute/bgp/metric/node.def b/templates/protocols/rip/redistribute/bgp/metric/node.def new file mode 100644 index 00000000..270a810e --- /dev/null +++ b/templates/protocols/rip/redistribute/bgp/metric/node.def @@ -0,0 +1,3 @@ +type: u32 +help: "Metric for redistributed routes" +syntax: $(@) >= 1 && $(@) <= 16; "metric must be between 1 and 16" diff --git a/templates/protocols/rip/redistribute/bgp/node.def b/templates/protocols/rip/redistribute/bgp/node.def new file mode 100644 index 00000000..727cff10 --- /dev/null +++ b/templates/protocols/rip/redistribute/bgp/node.def @@ -0,0 +1,16 @@ +help: "Redistribute BGP routes" +delete: "touch /tmp/rip-redist-bgp.\\$PPID" +end: "/usr/bin/vtysh -c \"configure terminal\" -c \"router rip\" \ + -c \"no redistribute bgp \"; \ + if [ -f \"/tmp/rip-redist-bgp.\\$PPID\" ]; then \ + rm -rf /tmp/rip-redist-bgp.\\$PPID; \ + else \ + if [ -n \"$(./metric/@)\" ]; then \ + COND=\"metric $(./metric/@)\"; + fi; \ + if [ -n \"$(./route-map/@)\" ]; then \ + COND=\"\\$COND route-map $(./route-map/@)\"; \ + fi; \ + /usr/bin/vtysh -c \"configure terminal\" -c \"router rip\" \ + -c \"redistribute bgp \\$COND\"; \ + fi; " diff --git a/templates/protocols/rip/redistribute/bgp/route-map/node.def b/templates/protocols/rip/redistribute/bgp/route-map/node.def new file mode 100644 index 00000000..f6e81288 --- /dev/null +++ b/templates/protocols/rip/redistribute/bgp/route-map/node.def @@ -0,0 +1,4 @@ +type: txt +help: "Route map reference" +commit: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy route-map $(@)\" ";"route-map $(@) doesn't exist" + |