From eedd04171ff3c6017e52830e8e07ec437e1c6663 Mon Sep 17 00:00:00 2001 From: Stephen Hemminger Date: Wed, 25 Mar 2009 14:15:44 -0700 Subject: Generate interface templates as part of build Rather than 100's of copies of the same template, use the same process as the firewall module to generate the templates. For this, the are meta-templates in interface-templates directory which get processed and $IFNAME is replaced by the appropriate CLI syntax to refer back to the directory name. Changing a quagga template in most cases can be done by fixing the meta-template. --- interface-templates/ipv6/ripng/node.def | 2 ++ interface-templates/ipv6/ripng/split-horizon/disable/node.def | 6 ++++++ interface-templates/ipv6/ripng/split-horizon/node.def | 1 + .../ipv6/ripng/split-horizon/poison-reverse/node.def | 9 +++++++++ 4 files changed, 18 insertions(+) create mode 100644 interface-templates/ipv6/ripng/node.def create mode 100644 interface-templates/ipv6/ripng/split-horizon/disable/node.def create mode 100644 interface-templates/ipv6/ripng/split-horizon/node.def create mode 100644 interface-templates/ipv6/ripng/split-horizon/poison-reverse/node.def (limited to 'interface-templates/ipv6/ripng') diff --git a/interface-templates/ipv6/ripng/node.def b/interface-templates/ipv6/ripng/node.def new file mode 100644 index 00000000..d59da359 --- /dev/null +++ b/interface-templates/ipv6/ripng/node.def @@ -0,0 +1,2 @@ +help: Set Routing Information Protocol (RIPng) for specified interface +create: sudo /opt/vyatta/sbin/quagga-manager check ripngd diff --git a/interface-templates/ipv6/ripng/split-horizon/disable/node.def b/interface-templates/ipv6/ripng/split-horizon/disable/node.def new file mode 100644 index 00000000..817ae8e2 --- /dev/null +++ b/interface-templates/ipv6/ripng/split-horizon/disable/node.def @@ -0,0 +1,6 @@ +help: Disable split horizon on specified interface +create: vyatta-vtysh -c "configure terminal" -c "interface $IFNAME" -c "no ipv6 ripng split-horizon" +delete: vyatta-vtysh -c "configure terminal" -c "interface $IFNAME" -c "ipv6 ripng split-horizon" + +commit:expression: ($VAR(../poison-reverse/) == ""); \ + "You cannot have 'split-horizon poison-reverse' enabled with 'split-horizon' disabled for $IFNAME" diff --git a/interface-templates/ipv6/ripng/split-horizon/node.def b/interface-templates/ipv6/ripng/split-horizon/node.def new file mode 100644 index 00000000..ba39b616 --- /dev/null +++ b/interface-templates/ipv6/ripng/split-horizon/node.def @@ -0,0 +1 @@ +help: Set to control split horizon parameters on this interface diff --git a/interface-templates/ipv6/ripng/split-horizon/poison-reverse/node.def b/interface-templates/ipv6/ripng/split-horizon/poison-reverse/node.def new file mode 100644 index 00000000..8f17f99e --- /dev/null +++ b/interface-templates/ipv6/ripng/split-horizon/poison-reverse/node.def @@ -0,0 +1,9 @@ +help: Enable poison reverse for split-horizon +create: vyatta-vtysh -c "configure terminal" -c "interface $IFNAME" \ + -c "ipv6 ripng split-horizon poisoned-reverse" + +delete: vyatta-vtysh -c "configure terminal" -c "interface $IFNAME" \ + -c "no ipv6 ripng split-horizon" -c "ipv6 ripng split-horizon" + +commit:expression: ($VAR(../disable/) == ""); \ + "You cannot have 'split-horizon poison-reverse' enabled with 'split-horizon' disabled for $IFNAME" -- cgit v1.2.3