summaryrefslogtreecommitdiff
path: root/templates/protocols/static
diff options
context:
space:
mode:
authorShirish Sandesara <shirish.sandesara@vyatta.com>2013-05-20 22:53:04 -0700
committerShirish Sandesara <shirish.sandesara@vyatta.com>2013-05-20 22:53:04 -0700
commitd4360229313871c3f5e3dd13fb8b91afdfd0a83e (patch)
tree7fbbbfafe68a08745e211f45913a583955eda22c /templates/protocols/static
parentb74cfa6ae025b8bcefc06251569c0fa72f5cf0dd (diff)
downloadvyatta-cfg-quagga-d4360229313871c3f5e3dd13fb8b91afdfd0a83e.tar.gz
vyatta-cfg-quagga-d4360229313871c3f5e3dd13fb8b91afdfd0a83e.zip
adding pbr route for ipv6
Diffstat (limited to 'templates/protocols/static')
-rw-r--r--templates/protocols/static/table6/node.def5
-rw-r--r--templates/protocols/static/table6/node.tag/interface-route/node.def7
-rw-r--r--templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.def34
-rw-r--r--templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/disable/node.def1
-rw-r--r--templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def4
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.def7
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.tag/blackhole/distance/node.def4
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.tag/blackhole/node.def22
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.def46
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/disable/node.def1
-rw-r--r--templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/distance/node.def4
11 files changed, 135 insertions, 0 deletions
diff --git a/templates/protocols/static/table6/node.def b/templates/protocols/static/table6/node.def
new file mode 100644
index 00000000..3c2bead2
--- /dev/null
+++ b/templates/protocols/static/table6/node.def
@@ -0,0 +1,5 @@
+tag:
+type: u32
+help: V6 Policy route table number
+syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 200; "Must be between (1-200)"
+val_help: u32:1-200; Policy route table number
diff --git a/templates/protocols/static/table6/node.tag/interface-route/node.def b/templates/protocols/static/table6/node.tag/interface-route/node.def
new file mode 100644
index 00000000..73dd97a3
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/interface-route/node.def
@@ -0,0 +1,7 @@
+tag:
+type: ipv4net
+help: Interface based static route
+syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)"
+
+commit:expression: $VAR(./next-hop-interface/) != "" ; \
+ "Must add a next-hop-interface for route $VAR(@)"
diff --git a/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.def b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.def
new file mode 100644
index 00000000..255e572d
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.def
@@ -0,0 +1,34 @@
+tag:
+type: txt
+help: Next-hop interface [REQUIRED]
+# show all current interface
+# but syntax accepts any interface since it may exist later (ppp etc)
+allowed: ${vyatta_sbindir}/vyatta-interfaces.pl --show all
+
+
+end:
+ if [[ -n "$VAR(../../../table/@)" ]]
+ then
+ table="table $VAR(../../../table/@)"
+ fi
+ if [[ -z "$VAR(./disable)" ]]
+ then
+ if [[ ${COMMIT_ACTION} = 'DELETE' ]]
+ then
+ if ! ${vyatta_sbindir}/vyatta-next-hop-check $VAR(../@) ipv4 interface; then
+ exit 1;
+ fi
+ vtysh -c "configure terminal" \
+ -c "no ip route $VAR(../@) $VAR(@) $table"
+ else
+ if [[ -n "$VAR(./distance/@)" ]]
+ then
+ dist="$VAR(./distance/@)"
+ fi
+ vtysh -c "configure terminal" \
+ -c "ip route $VAR(../@) $VAR(@) $table $dist";
+ fi
+ else
+ vtysh -c "configure terminal" \
+ -c "no ip route $VAR(../@) $VAR(@) $table"
+ fi
diff --git a/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/disable/node.def b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/disable/node.def
new file mode 100644
index 00000000..92f2ba51
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/disable/node.def
@@ -0,0 +1 @@
+help: Disable IPv4 interface static route
diff --git a/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def
new file mode 100644
index 00000000..61abcc65
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/interface-route/node.tag/next-hop-interface/node.tag/distance/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: Distance value for this route
+syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)"
+val_help: u32:1-255; Distance for this route
diff --git a/templates/protocols/static/table6/node.tag/route/node.def b/templates/protocols/static/table6/node.tag/route/node.def
new file mode 100644
index 00000000..ab4ff189
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.def
@@ -0,0 +1,7 @@
+tag:
+type: ipv6net
+help: Static route
+syntax:expression: exec "${vyatta_sbindir}/check_prefix_boundary $VAR(@)"
+
+commit:expression: $VAR(./next-hop/) != "" || $VAR(./blackhole/) != ""; \
+ "Must add either a next-hop or blackhole for route $VAR(@)"
diff --git a/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/distance/node.def b/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/distance/node.def
new file mode 100644
index 00000000..61abcc65
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/distance/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: Distance value for this route
+syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)"
+val_help: u32:1-255; Distance for this route
diff --git a/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/node.def b/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/node.def
new file mode 100644
index 00000000..68d7fe56
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.tag/blackhole/node.def
@@ -0,0 +1,22 @@
+help: Silently discard pkts when matched
+
+end:
+ if [[ -n "$VAR(../../../table/@)" ]]
+ then
+ table="table $VAR(../../../table/@)"
+ fi
+ if [ ${COMMIT_ACTION} = 'DELETE' ]; then
+ if ! ${vyatta_sbindir}/vyatta-next-hop-check $VAR(../@) ipv6 address; then
+ exit 1;
+ fi
+
+ vtysh -c "configure terminal" \
+ -c "no ip route $VAR(../@) null0 $table";
+ else
+ if [ -n "$VAR(./distance/@)" ]; then
+ dist="$VAR(./distance/@)";
+ fi;
+
+ vtysh -c "configure terminal" \
+ -c "ip route $VAR(../@) null0 $table $dist";
+ fi;
diff --git a/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.def b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.def
new file mode 100644
index 00000000..c11d2859
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.def
@@ -0,0 +1,46 @@
+tag:
+type: ipv6
+help: Next-hop router [REQUIRED]
+end:
+ if [[ -n "$VAR(../../../table6/@)" ]]
+ then
+ table="table $VAR(../../../table6/@)"
+ fi
+ if [[ -z "$VAR(./disable)" ]]
+ then
+ if [[ ${COMMIT_ACTION} = 'DELETE' ]]
+ then
+ if ! ${vyatta_sbindir}/vyatta-next-hop-check $VAR(../@) ipv6 address; then
+ exit 1;
+ fi
+ if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \
+ "$VAR(../@)" "$VAR(@)"
+ then
+echo 111
+ vtysh -c "configure terminal" \
+ -c "no ip -6 route $VAR(../@) $VAR(@) $table"
+ fi
+ else
+ if [[ -n "$VAR(./distance/@)" ]]
+ then
+ #dist="$VAR(./distance/@)"
+ dist="metric $VAR(./distance/@)"
+ fi
+echo 111
+ echo vtysh -c "configure terminal" -c "ip -6 route add $VAR(../@) via $VAR(@) $table $dist";
+echo 222
+ #vtysh -c "configure terminal" \
+ #-c "ip -6 route $VAR(../@) $VAR(@) $table $dist";
+ echo ip -6 route add $VAR(../@) via $VAR(@) $table $dist;
+ ip -6 route add $VAR(../@) via $VAR(@) $table $dist;
+ fi
+ else
+ if ${vyatta_sbindir}/vyatta-gateway-static_route-check.pl \
+ "$VAR(../@)" "$VAR(@)"
+ then
+echo 333
+ vtysh -c "configure terminal" \
+ -c "no ip -6 route $VAR(../@) $VAR(@) $table"
+ fi
+ fi
+
diff --git a/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/disable/node.def b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/disable/node.def
new file mode 100644
index 00000000..de3afda4
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/disable/node.def
@@ -0,0 +1 @@
+help: Disable IPv4 next-hop static route
diff --git a/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/distance/node.def b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/distance/node.def
new file mode 100644
index 00000000..61abcc65
--- /dev/null
+++ b/templates/protocols/static/table6/node.tag/route/node.tag/next-hop/node.tag/distance/node.def
@@ -0,0 +1,4 @@
+type: u32
+help: Distance value for this route
+syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between (1-255)"
+val_help: u32:1-255; Distance for this route