From 8454bb0c2c859a919b0b163d505b9d89212bcfd2 Mon Sep 17 00:00:00 2001 From: Stig Thormodsrud Date: Tue, 29 Jul 2008 15:25:55 -0700 Subject: First pass at gluing ripng cli to quagga. --- .../protocols/ripng/distribute-list/access-list/in/node.def | 13 +++++++++++++ .../protocols/ripng/distribute-list/access-list/node.def | 1 + .../ripng/distribute-list/access-list/out/node.def | 12 ++++++++++++ .../protocols/ripng/distribute-list/interface/node.def | 13 +++++++++++++ .../interface/node.tag/access-list/in/node.def | 12 ++++++++++++ .../distribute-list/interface/node.tag/access-list/node.def | 1 + .../interface/node.tag/access-list/out/node.def | 12 ++++++++++++ .../interface/node.tag/prefix-list/in/node.def | 12 ++++++++++++ .../distribute-list/interface/node.tag/prefix-list/node.def | 1 + .../interface/node.tag/prefix-list/out/node.def | 12 ++++++++++++ templates/protocols/ripng/distribute-list/node.def | 2 ++ .../protocols/ripng/distribute-list/prefix-list/in/node.def | 12 ++++++++++++ .../protocols/ripng/distribute-list/prefix-list/node.def | 1 + .../ripng/distribute-list/prefix-list/out/node.def | 12 ++++++++++++ 14 files changed, 116 insertions(+) create mode 100644 templates/protocols/ripng/distribute-list/access-list/in/node.def create mode 100644 templates/protocols/ripng/distribute-list/access-list/node.def create mode 100644 templates/protocols/ripng/distribute-list/access-list/out/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/access-list/in/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/access-list/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/access-list/out/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/in/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/node.def create mode 100644 templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/out/node.def create mode 100644 templates/protocols/ripng/distribute-list/node.def create mode 100644 templates/protocols/ripng/distribute-list/prefix-list/in/node.def create mode 100644 templates/protocols/ripng/distribute-list/prefix-list/node.def create mode 100644 templates/protocols/ripng/distribute-list/prefix-list/out/node.def (limited to 'templates/protocols/ripng/distribute-list') diff --git a/templates/protocols/ripng/distribute-list/access-list/in/node.def b/templates/protocols/ripng/distribute-list/access-list/in/node.def new file mode 100644 index 00000000..ea05f150 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/access-list/in/node.def @@ -0,0 +1,13 @@ +type: u32 +help: Set access-list to apply to input packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";"access-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list $VAR(@) in" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list $VAR(@) in" + diff --git a/templates/protocols/ripng/distribute-list/access-list/node.def b/templates/protocols/ripng/distribute-list/access-list/node.def new file mode 100644 index 00000000..d7baa021 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/access-list/node.def @@ -0,0 +1 @@ +help: Set access-list diff --git a/templates/protocols/ripng/distribute-list/access-list/out/node.def b/templates/protocols/ripng/distribute-list/access-list/out/node.def new file mode 100644 index 00000000..f11f5c03 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/access-list/out/node.def @@ -0,0 +1,12 @@ +type: u32 +help: Set access-list to apply to output packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";"access-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list $VAR(@) out" + +delete: $vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list $VAR(@) out" diff --git a/templates/protocols/ripng/distribute-list/interface/node.def b/templates/protocols/ripng/distribute-list/interface/node.def new file mode 100644 index 00000000..9219eda6 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.def @@ -0,0 +1,13 @@ +tag: +type: txt +help: Set to apply filtering to an interface + +syntax:expression: exec "\ + if [ -z \"`ip addr | grep $VAR(@) `\" ]; then \ + echo ethernet interface $VAR(@) doesn\\'t exist on this system ; \ + exit 1 ; \ + fi ; " + +allowed: local -a array; + array=( /sys/class/net/{eth,vmnet}* ) ; + echo -n ${array[@]##*/} diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/in/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/in/node.def new file mode 100644 index 00000000..29d91a78 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/in/node.def @@ -0,0 +1,12 @@ +type: u32 +help: Set access-list to apply to input packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";"access-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list $VAR(@) in $VAR(../../@)" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list $VAR(@) in $VAR(../../@)" diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/node.def new file mode 100644 index 00000000..d7baa021 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/node.def @@ -0,0 +1 @@ +help: Set access-list diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/out/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/out/node.def new file mode 100644 index 00000000..19805001 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/access-list/out/node.def @@ -0,0 +1,12 @@ +type: u32 +help: Set access-list to apply to output packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy access-list $VAR(@)\" ";"access-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list $VAR(@) out $VAR(../../@)" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list $VAR(@) out $VAR(../../@)" diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/in/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/in/node.def new file mode 100644 index 00000000..93ba4f1c --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/in/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set prefix-list to apply to input packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" ";"prefix-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list prefix $VAR(@) in $VAR(../../@)" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list prefix $VAR(@) in $VAR(../../@)" diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/node.def new file mode 100644 index 00000000..30eb3f3f --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/node.def @@ -0,0 +1 @@ +help: Set prefix-list diff --git a/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/out/node.def b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/out/node.def new file mode 100644 index 00000000..b3585ecb --- /dev/null +++ b/templates/protocols/ripng/distribute-list/interface/node.tag/prefix-list/out/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set prefix-list to apply to output packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" ";"prefix-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list prefix $VAR(@) out $VAR(../../@)" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list prefix $VAR(@) out $VAR(../../@)" diff --git a/templates/protocols/ripng/distribute-list/node.def b/templates/protocols/ripng/distribute-list/node.def new file mode 100644 index 00000000..f7255a70 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/node.def @@ -0,0 +1,2 @@ +help: Set to filter networks in routing updates + diff --git a/templates/protocols/ripng/distribute-list/prefix-list/in/node.def b/templates/protocols/ripng/distribute-list/prefix-list/in/node.def new file mode 100644 index 00000000..4b169517 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/prefix-list/in/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set prefix-list to apply to input packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" ";"prefix-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list prefix $VAR(@) in" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list prefix $VAR(@) in" diff --git a/templates/protocols/ripng/distribute-list/prefix-list/node.def b/templates/protocols/ripng/distribute-list/prefix-list/node.def new file mode 100644 index 00000000..30eb3f3f --- /dev/null +++ b/templates/protocols/ripng/distribute-list/prefix-list/node.def @@ -0,0 +1 @@ +help: Set prefix-list diff --git a/templates/protocols/ripng/distribute-list/prefix-list/out/node.def b/templates/protocols/ripng/distribute-list/prefix-list/out/node.def new file mode 100644 index 00000000..831880c3 --- /dev/null +++ b/templates/protocols/ripng/distribute-list/prefix-list/out/node.def @@ -0,0 +1,12 @@ +type: txt +help: Set prefix-list to apply to output packets + +commit:expression: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --exists \"policy prefix-list $VAR(@)\" ";"prefix-list $VAR(@) doesn't exist" + +update: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "distribute-list prefix $VAR(@) out" + +delete: ${vyatta_sbindir}/vyatta-vtysh.pl -c "configure terminal" \ + -c "router ripng" \ + -c "no distribute-list prefix $VAR(@) out" -- cgit v1.2.3