summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorytti <saku@ytti.fi>2018-04-05 16:02:59 +0300
committerGitHub <noreply@github.com>2018-04-05 16:02:59 +0300
commitedd58747495f0fc7fe396bb22fa31d750ea7d62c (patch)
tree8d6b25ea1798272092d43438a5c9df61e0be9571
parent556af5d80587fc021b61988ed43615f9a53c93b4 (diff)
parentb2fcf887b3ea7e85e916ec7265a494a6efbf8fa7 (diff)
Merge pull request #1251 from wk/snr-support-refactor
Snr support refactor (closes #1139)
-rw-r--r--docs/Supported-OS-Types.md2
-rw-r--r--lib/oxidized/model/dcnos.rb45
2 files changed, 47 insertions, 0 deletions
diff --git a/docs/Supported-OS-Types.md b/docs/Supported-OS-Types.md
index 493918d..5240297 100644
--- a/docs/Supported-OS-Types.md
+++ b/docs/Supported-OS-Types.md
@@ -138,6 +138,8 @@
* [Quanta / VxWorks 6.6 (1.1.0.8)](/lib/oxidized/model/quantaos.rb)
* Siklu
* [EtherHaul](/lib/oxidized/model/siklu.rb)
+* SNR
+ * [SNR-S300G, S2xxx, S3xxx, S4xxx](/lib/oxidized/dcnos.rb)
* Supermicro
* [SSE-G2252, G2252P](/lib/oxidized/model/edgecos.rb)
* [SSE-G48-TG4, G24-TG4](/lib/oxidized/model/aricentiss.rb)
diff --git a/lib/oxidized/model/dcnos.rb b/lib/oxidized/model/dcnos.rb
new file mode 100644
index 0000000..ec0c7f6
--- /dev/null
+++ b/lib/oxidized/model/dcnos.rb
@@ -0,0 +1,45 @@
+# DCNOS is a ZebOS derivative by DCN (http://www.dcnglobal.com/)
+# In addition to products by DCN (now Yunke China), this OS type
+# powers a number of re-branded OEM devices.
+
+# Developed against SNR S2950-24G 7.0.3.5
+
+class DCNOS < Oxidized::Model
+
+ comment '! '
+
+ cmd 'show version' do |cfg|
+ cfg = cfg.gsub! /^(Uptime is ).*/, ''
+ comment cfg
+ end
+
+ cmd 'show boot-files' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show flash' do |cfg|
+ comment cfg
+ end
+
+ cmd 'show running-config' do |cfg|
+ cfg = cfg.each_line.to_a[1..-1].join
+ cfg
+ end
+
+ cfg :telnet do
+ username /^login:/i
+ password /^password:/i
+ end
+
+ cfg :telnet, :ssh do
+ if vars :enable
+ post_login do
+ send "enable\n"
+ cmd vars(:enable)
+ end
+ end
+ post_login 'terminal length 0'
+ pre_logout 'exit'
+ end
+
+end