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