From ce205e56fb2fff9bffa62a123717c5f49fc6ac8f Mon Sep 17 00:00:00 2001 From: Oleksandr Mamenko Date: Tue, 18 Sep 2018 10:51:15 +0200 Subject: T851: add an option for OSPFv3 administrative distance --- .../protocols/ospfv3/distance/global/node.def | 13 +++++++++++++ templates/protocols/ospfv3/distance/node.def | 1 + .../ospfv3/distance/ospfv3/external/node.def | 4 ++++ .../ospfv3/distance/ospfv3/inter-area/node.def | 4 ++++ .../ospfv3/distance/ospfv3/intra-area/node.def | 4 ++++ .../protocols/ospfv3/distance/ospfv3/node.def | 22 ++++++++++++++++++++++ 6 files changed, 48 insertions(+) create mode 100644 templates/protocols/ospfv3/distance/global/node.def create mode 100644 templates/protocols/ospfv3/distance/node.def create mode 100644 templates/protocols/ospfv3/distance/ospfv3/external/node.def create mode 100644 templates/protocols/ospfv3/distance/ospfv3/inter-area/node.def create mode 100644 templates/protocols/ospfv3/distance/ospfv3/intra-area/node.def create mode 100644 templates/protocols/ospfv3/distance/ospfv3/node.def diff --git a/templates/protocols/ospfv3/distance/global/node.def b/templates/protocols/ospfv3/distance/global/node.def new file mode 100644 index 00000000..cc44d9cc --- /dev/null +++ b/templates/protocols/ospfv3/distance/global/node.def @@ -0,0 +1,13 @@ +type: u32 +help: OSPFv3 administrative distance +val_help: u32:1-255; Administrative distance + +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" + +update:expression: "vtysh -c \"configure terminal\" \ + -c \"router ospf6\" \ + -c \"distance $VAR(@) \"; " + +delete:expression: "vtysh -c \"configure terminal\" \ + -c \"router ospf6\" \ + -c \"no distance $VAR(@) \"; " diff --git a/templates/protocols/ospfv3/distance/node.def b/templates/protocols/ospfv3/distance/node.def new file mode 100644 index 00000000..97a8c1c4 --- /dev/null +++ b/templates/protocols/ospfv3/distance/node.def @@ -0,0 +1 @@ +help: Administrative distance diff --git a/templates/protocols/ospfv3/distance/ospfv3/external/node.def b/templates/protocols/ospfv3/distance/ospfv3/external/node.def new file mode 100644 index 00000000..32ba607e --- /dev/null +++ b/templates/protocols/ospfv3/distance/ospfv3/external/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Distance for external routes +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" +val_help: u32: 1-255; Distance for external routes diff --git a/templates/protocols/ospfv3/distance/ospfv3/inter-area/node.def b/templates/protocols/ospfv3/distance/ospfv3/inter-area/node.def new file mode 100644 index 00000000..496a4cf6 --- /dev/null +++ b/templates/protocols/ospfv3/distance/ospfv3/inter-area/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Distance for inter-area routes +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" +val_help: u32:1-255; Distance for inter-area routes diff --git a/templates/protocols/ospfv3/distance/ospfv3/intra-area/node.def b/templates/protocols/ospfv3/distance/ospfv3/intra-area/node.def new file mode 100644 index 00000000..7db14c3b --- /dev/null +++ b/templates/protocols/ospfv3/distance/ospfv3/intra-area/node.def @@ -0,0 +1,4 @@ +type: u32 +help: Distance for intra-area routes +syntax:expression: $VAR(@) >= 1 && $VAR(@) <= 255; "Must be between 1-255" +val_help: u32:1-255; Distance for intra-area routes diff --git a/templates/protocols/ospfv3/distance/ospfv3/node.def b/templates/protocols/ospfv3/distance/ospfv3/node.def new file mode 100644 index 00000000..6b7ba9af --- /dev/null +++ b/templates/protocols/ospfv3/distance/ospfv3/node.def @@ -0,0 +1,22 @@ +help: OSPFv3 administrative distance +delete:expression: "touch /tmp/ospfv3-distance.$PPID" +end:expression: "\ + if [ -f \"/tmp/ospf-distance.$PPID\" ]; then \ + vtysh -c \"configure terminal\" \ + -c \"router ospf6\" \ + -c \"no distance ospf6\"; \ + rm /tmp/ospfv3-distance.$PPID; \ + else \ + if [ -n \"$VAR(./intra-area/@)\" ]; then \ + PARM=\"intra-area $VAR(./intra-area/@)\"; \ + fi; \ + if [ -n \"$VAR(./inter-area/@)\" ]; then \ + PARM=\"$PARM inter-area $VAR(./inter-area/@)\"; \ + fi; \ + if [ -n \"$VAR(./external/@)\" ]; then \ + PARM=\"$PARM external $VAR(./external/@)\"; \ + fi; \ + vtysh -c \"configure terminal\" \ + -c \"router ospf6\" \ + -c \"no distance ospf6\" -c \"distance ospf $PARM\"; \ + fi; " -- cgit v1.2.3 From 920ae0fe9d553ee9305fa22e2dbdd02ae5cd1bf7 Mon Sep 17 00:00:00 2001 From: Oleksandr Mamenko Date: Tue, 18 Sep 2018 12:52:44 +0200 Subject: T851: add an option for OSPFv3 administrative distance fix --- templates/protocols/ospfv3/distance/ospfv3/node.def | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/templates/protocols/ospfv3/distance/ospfv3/node.def b/templates/protocols/ospfv3/distance/ospfv3/node.def index 6b7ba9af..4878c95d 100644 --- a/templates/protocols/ospfv3/distance/ospfv3/node.def +++ b/templates/protocols/ospfv3/distance/ospfv3/node.def @@ -1,7 +1,7 @@ help: OSPFv3 administrative distance delete:expression: "touch /tmp/ospfv3-distance.$PPID" end:expression: "\ - if [ -f \"/tmp/ospf-distance.$PPID\" ]; then \ + if [ -f \"/tmp/ospfv3-distance.$PPID\" ]; then \ vtysh -c \"configure terminal\" \ -c \"router ospf6\" \ -c \"no distance ospf6\"; \ -- cgit v1.2.3