diff options
author | Stig Thormodsrud <stig@uffda.(none)> | 2007-11-10 19:58:46 -0800 |
---|---|---|
committer | Stig Thormodsrud <stig@uffda.(none)> | 2007-11-10 19:58:46 -0800 |
commit | b83bab57ebbe9f295d517301ebd96402c836f25e (patch) | |
tree | 777080c9660ee2ae4dc3da97114e279d3425426d /templates/protocols/ospf | |
parent | a1b390197920264609b903062156a22782ffff8e (diff) | |
download | vyatta-cfg-quagga-b83bab57ebbe9f295d517301ebd96402c836f25e.tar.gz vyatta-cfg-quagga-b83bab57ebbe9f295d517301ebd96402c836f25e.zip |
Add more OSPF configuration.
Diffstat (limited to 'templates/protocols/ospf')
32 files changed, 190 insertions, 1 deletions
diff --git a/templates/protocols/ospf/area/node.tag/area-type/node.def b/templates/protocols/ospf/area/node.tag/area-type/node.def new file mode 100644 index 00000000..19c4ff6e --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/node.def @@ -0,0 +1 @@ +help: "Area type" diff --git a/templates/protocols/ospf/area/node.tag/area-type/normal/node.def b/templates/protocols/ospf/area/node.tag/area-type/normal/node.def new file mode 100644 index 00000000..349d90fb --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/normal/node.def @@ -0,0 +1,8 @@ +help: "Normal OSPF area" +syntax: $(../stub/) == "" ; "Must delete stub area type first" +syntax: $(../nssa/) == "" ; "Must delete nssa area type first" +create: "if [ x$(../../@) != x0.0.0.0 ] && [ x$(../../@) != x0 ]; then \ + /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) stub\" -c \"no area $(../../@) nssa\"; \ + fi; " + diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def new file mode 100644 index 00000000..e24f89ea --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/default-cost/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Set the summary-default cost of nssa area" +syntax: $(@) >= 0 && $(@) <= 16777215; "Cost must be between 0-16777215" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) default-cost $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) default-cost $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def new file mode 100644 index 00000000..ca18ee14 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/no-summary/node.def @@ -0,0 +1,5 @@ +help: "Do not inject inter-area routes into stub" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) nssa no-summary \"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) nssa no-summary \"; " diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def new file mode 100644 index 00000000..8ecc9880 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/node.def @@ -0,0 +1,8 @@ +help: "nssa OSPF area" +syntax: ! $(../../@) in "0", "0.0.0.0"; "Backbone can't be NSSA" +syntax: $(../normal/) == "" ; "Must delete normal area type first" +syntax: $(../stub/) == "" ; "Must delete stub area type first" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"area $(../../@) nssa\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" -c \"no area $(../../@) nssa\"; " + + diff --git a/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def new file mode 100644 index 00000000..c0d19663 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/nssa/translate/node.def @@ -0,0 +1,7 @@ +type: txt +default: "candidate" +syntax: $(@) in "always", "candidate", "never"; "Must be (always, candidate, or never)" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) nssa translate-$(@) \"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) nssa translate-$(@) \"; " diff --git a/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def b/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def new file mode 100644 index 00000000..b4ea0de7 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/stub/default-cost/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Set the summary-default cost of stub area" +syntax: $(@) >= 0 && $(@) <= 16777215; "Cost must be between 0-16777215" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) default-cost $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) default-cost $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/area-type/stub/no-summary/node.def b/templates/protocols/ospf/area/node.tag/area-type/stub/no-summary/node.def new file mode 100644 index 00000000..84299b62 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/stub/no-summary/node.def @@ -0,0 +1,5 @@ +help: "Do not inject inter-area routes into stub" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) stub no-summary \"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) stub no-summary \"; " diff --git a/templates/protocols/ospf/area/node.tag/area-type/stub/node.def b/templates/protocols/ospf/area/node.tag/area-type/stub/node.def new file mode 100644 index 00000000..4a783e80 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/area-type/stub/node.def @@ -0,0 +1,8 @@ +help: "Stub OSPF area" +syntax: ! $(../../@) in "0", "0.0.0.0"; "Backbone can't be stub" +syntax: $(../nssa/) == "" ; "Must delete nssa area type first" +syntax: $(../normal/) == "" ; "Must delete normal area type first" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) stub\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) stub\"; " diff --git a/templates/protocols/ospf/area/node.tag/range/node.def b/templates/protocols/ospf/area/node.tag/range/node.def new file mode 100644 index 00000000..37b7a5bb --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/range/node.def @@ -0,0 +1,8 @@ +tag: +type: ipv4net +help: "Summarize routes matching prefix (border routers only)" +syntax: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $(@)" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../@) range $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../@) range $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def b/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def new file mode 100644 index 00000000..8403c1a5 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/range/node.tag/cost/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Metric for this range" +syntax: $(@) >= 0 && $(@) <= 16777215; "Metric must be between 0-16777215" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) range $(../@) cost $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) range $(../@) cost $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/range/node.tag/node.def b/templates/protocols/ospf/area/node.tag/range/node.tag/node.def new file mode 100644 index 00000000..1a011c8c --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/range/node.tag/node.def @@ -0,0 +1 @@ +help: "what should I put here" diff --git a/templates/protocols/ospf/area/node.tag/range/node.tag/not-advertise/node.def b/templates/protocols/ospf/area/node.tag/range/node.tag/not-advertise/node.def new file mode 100644 index 00000000..1893ecc7 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/range/node.tag/not-advertise/node.def @@ -0,0 +1,5 @@ +help: "Do NOT advertise this range" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) range $(../@) not-advertise\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) range $(../@) not-advertise\"; " diff --git a/templates/protocols/ospf/area/node.tag/range/node.tag/substitute/node.def b/templates/protocols/ospf/area/node.tag/range/node.tag/substitute/node.def new file mode 100644 index 00000000..722e7b7e --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/range/node.tag/substitute/node.def @@ -0,0 +1,7 @@ +type: ipv4net +help: "Announce area range as another prefix" +syntax: exec "/opt/vyatta/sbin/vyatta_quagga_utils.pl --check-prefix-boundry $(@)" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) range $(../@) substitute $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) range $(../@) substitute $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/shortcut/node.def b/templates/protocols/ospf/area/node.tag/shortcut/node.def new file mode 100644 index 00000000..a94f758b --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/shortcut/node.def @@ -0,0 +1,7 @@ +type: txt +help: "Configure area's shortcutting mode" +syntax: $(@) in "default", "disable", "enable"; "Must be (default, disable, enable)" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../@) shortcut $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../@) shortcut $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.def new file mode 100644 index 00000000..ba483ff7 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.def @@ -0,0 +1,8 @@ +tag: +type: ipv4 +help: "Configure a virtual link" +syntax: ! $(../@) in "0", "0.0.0.0"; "Can't configure VL over area $(../@)" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../@) virtual-link $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../@) virtual-link $(@)\"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def new file mode 100644 index 00000000..43524391 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.def @@ -0,0 +1,19 @@ +tag: +type: u32 +help: "Configure MD5 key id" +syntax: $(@) >= 1 && $(@) <= 255; "ID must be between (1-255)" +commit: $(md5-key/) != ""; "must add the md5-key for key-id $(@)" +delete: "touch /tmp/ospf-md5.\\$PPID" +end: "if [ -f \"/tmp/ospf-md5.\\$PPID\" ]; then \ + /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../../@) virtual-link $(../../../@) message-digest-key $(@)\"; \ + rm /tmp/ospf-md5.\\$PPID; \ + else \ + /usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../../@) virtual-link $(../../../@) message-digest-key $(@) md5 $(md5-key/@)\"; \ + fi; " + + + + + diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def new file mode 100644 index 00000000..54bbd8f7 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/md5-key/node.def @@ -0,0 +1,2 @@ +type: txt +help: "Configure md5 key" diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def new file mode 100644 index 00000000..7d644d6f --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/key-id/node.tag/node.def @@ -0,0 +1 @@ +help: "Configure md5 key" diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/node.def new file mode 100644 index 00000000..f4d63a02 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/md5/node.def @@ -0,0 +1,6 @@ +help: "Configure MD5 key id" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) virtual-link $(../../@) authentication-key\" \ + -c \"area $(../../../@) virtual-link $(../../@) authentication message-digest\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) virtual-link $(../../@) authentication null\"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/node.def new file mode 100644 index 00000000..ba787ac5 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/node.def @@ -0,0 +1 @@ +help: "Configure authentication" diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/simple/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/simple/node.def new file mode 100644 index 00000000..3a3df6b5 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/authentication/simple/node.def @@ -0,0 +1,7 @@ +type: txt +help: "Configure simple password" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../../@) virtual-link $(../../@) authentication authentication-key $(@) \"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../../@) virtual-link $(../../@) authentication authentication-key \"; " + diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def new file mode 100644 index 00000000..bb8b8de4 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/dead-interval/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Interval after which a neighbor is declared dead" +syntax: $(@) >= 1 && $(@) <= 65535; "Must be between 1-65535" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) virtual-link $(../@) dead-interval $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) virtual-link $(../@) dead-interval \"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def new file mode 100644 index 00000000..c449e3e5 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/hello-interval/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Interval between HELLO packets" +syntax: $(@) >= 1 && $(@) <= 65535; "Must be between 1-65535" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) virtual-link $(../@) hello-interval $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) virtual-link $(../@) hello-interval \"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def new file mode 100644 index 00000000..5dbaf4af --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/node.def @@ -0,0 +1 @@ +help: "virtual link" diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def new file mode 100644 index 00000000..9f2c8e1a --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/retransmit-interval/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Interval between retransmitting lost link state advertisements" +syntax: $(@) >= 1 && $(@) <= 65535; "Must be between 1-65535" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) virtual-link $(../@) retransmit-interval $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) virtual-link $(../@) retransmit-interval \"; " diff --git a/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def new file mode 100644 index 00000000..14163250 --- /dev/null +++ b/templates/protocols/ospf/area/node.tag/virtual-link/node.tag/transmit-delay/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Link state transmit delay" +syntax: $(@) >= 1 && $(@) <= 65535; "Must be between 1-65535" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"area $(../../@) virtual-link $(../@) transmit-delay $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no area $(../../@) virtual-link $(../@) transmit-delay \"; " diff --git a/templates/protocols/ospf/neighbor/node.def b/templates/protocols/ospf/neighbor/node.def new file mode 100644 index 00000000..4c32123a --- /dev/null +++ b/templates/protocols/ospf/neighbor/node.def @@ -0,0 +1,7 @@ +tag: +type: ipv4 +help: "Neighbor IP address" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"neighbor $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no neighbor $(@)\"; " diff --git a/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def b/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def new file mode 100644 index 00000000..f0422442 --- /dev/null +++ b/templates/protocols/ospf/neighbor/node.tag/poll-interval/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Dead neighbor polling interval" +syntax: $(@) >= 1 && $(@) <= 65535; "Must be between 1-65535 seconds" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"neighbor $(../@) poll-interval $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no neighbor $(../@) poll-interval $(@)\"; " diff --git a/templates/protocols/ospf/neighbor/node.tag/priority/node.def b/templates/protocols/ospf/neighbor/node.tag/priority/node.def new file mode 100644 index 00000000..a62838a3 --- /dev/null +++ b/templates/protocols/ospf/neighbor/node.tag/priority/node.def @@ -0,0 +1,7 @@ +type: u32 +help: "Neighbor priority in seconds" +syntax: $(@) >= 0 && $(@) <= 255; "Priority must be between 0-255" +update: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"neighbor $(../@) priority $(@)\"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no neighbor $(../@) priority $(@)\"; " diff --git a/templates/protocols/ospf/node.def b/templates/protocols/ospf/node.def index 2a4148e9..8d40506b 100644 --- a/templates/protocols/ospf/node.def +++ b/templates/protocols/ospf/node.def @@ -1,4 +1,3 @@ help: "Configure OSPF for IPv4" create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" " delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"no router ospf\" " - diff --git a/templates/protocols/ospf/rfc1583-compatibility/node.def b/templates/protocols/ospf/rfc1583-compatibility/node.def new file mode 100644 index 00000000..0eb018e9 --- /dev/null +++ b/templates/protocols/ospf/rfc1583-compatibility/node.def @@ -0,0 +1,5 @@ +help: "Enable rfc1583 criteria for handling AS external routes" +create: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"ospf rfc1583compatibility \"; " +delete: "/usr/bin/vtysh -c \"configure terminal\" -c \"router ospf\" \ + -c \"no ospf rfc1583compatibility \"; " |