Skip to content

Commit bf7a492

Browse files
ktbyerstbotnz
andauthored
Add Digi TransPort Router Support (#3310)
Co-authored-by: tbotnz <[email protected]>
1 parent e2135e7 commit bf7a492

File tree

7 files changed

+54
-0
lines changed

7 files changed

+54
-0
lines changed

PLATFORMS.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@
4747
- Huawei SmartAX
4848
- IP Infusion OcNOS
4949
- Juniper ScreenOS
50+
- Maipu
5051
- MikroTik RouterOS
5152
- MikroTik SwitchOS
5253
- NetApp cDOT
@@ -83,6 +84,7 @@
8384
- Coriant
8485
- Dell OS6
8586
- Dell EMC Isilon
87+
- Digi TransPort Routers
8688
- Eltex
8789
- Enterasys
8890
- Endace
@@ -162,6 +164,7 @@
162164
- dell_powerconnect
163165
- dell_sonic
164166
- dlink_ds
167+
- digi_transport
165168
- eltex
166169
- eltex_esr
167170
- endace

netmiko/digi/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
from netmiko.digi.digi_transport import DigiTransportSSH
2+
3+
__all__ = ["DigiTransportSSH"]

netmiko/digi/digi_transport.py

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
"""Digi TransPort Routers"""
2+
from typing import Any
3+
from netmiko.no_enable import NoEnable
4+
from netmiko.no_config import NoConfig
5+
from netmiko.cisco_base_connection import CiscoSSHConnection
6+
7+
8+
class DigiTransportBase(NoEnable, NoConfig, CiscoSSHConnection):
9+
def __init__(self, *args: Any, **kwargs: Any) -> None:
10+
default_enter = kwargs.get("default_enter")
11+
kwargs["default_enter"] = "\r\n" if default_enter is None else default_enter
12+
super().__init__(*args, **kwargs)
13+
14+
def save_config(
15+
self,
16+
cmd: str = "config 0 save",
17+
confirm: bool = False,
18+
confirm_response: str = "",
19+
) -> str:
20+
output = self._send_command_str(
21+
command_string=cmd, expect_string="Please wait..."
22+
)
23+
return output
24+
25+
26+
class DigiTransportSSH(DigiTransportBase):
27+
pass

netmiko/ssh_dispatcher.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@
5757
from netmiko.dell import DellPowerConnectSSH
5858
from netmiko.dell import DellPowerConnectTelnet
5959
from netmiko.dell import DellIsilonSSH
60+
from netmiko.digi import DigiTransportSSH
6061
from netmiko.dlink import DlinkDSTelnet, DlinkDSSSH
6162
from netmiko.eltex import EltexSSH, EltexEsrSSH
6263
from netmiko.endace import EndaceSSH
@@ -201,6 +202,7 @@
201202
"dell_powerconnect": DellPowerConnectSSH,
202203
"dell_isilon": DellIsilonSSH,
203204
"dlink_ds": DlinkDSSSH,
205+
"digi_transport": DigiTransportSSH,
204206
"endace": EndaceSSH,
205207
"eltex": EltexSSH,
206208
"eltex_esr": EltexEsrSSH,

tests/etc/commands.yml.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -550,6 +550,11 @@ audiocode_shell:
550550
save_config_response: 'Configuration has been saved'
551551
config_mode_command: "conf" # only use if needed
552552

553+
digi_transport:
554+
version: "type version"
555+
basic: "type config.da0"
556+
extended_output: "type version all"
557+
553558
maipu:
554559
version: "show version"
555560
basic: "show ip interface brief"
@@ -597,3 +602,4 @@ fiberstore_fsos:
597602
- 'no logging console'
598603
- 'logging buffered severity 3'
599604
config_verification: "show run"
605+

tests/etc/responses.yml.example

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -397,6 +397,13 @@ audiocode_shell:
397397
cmd_response_init: "Test_String1"
398398
cmd_response_final: "Test_String2"
399399

400+
digi_transport:
401+
base_prompt: "digi>"
402+
router_prompt: "digi>"
403+
enable_prompt: "digi#"
404+
interface_ip: 192.168.1.33
405+
version_banner: "Ci Version"
406+
400407
maipu:
401408
base_prompt: maipu_sw
402409
router_prompt : maipu_sw>

tests/etc/test_devices.yml.example

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -290,6 +290,12 @@ audiocode_shell:
290290
username: TestUser
291291
password: TestPass
292292

293+
digi_transport:
294+
device_type: digi_transport
295+
ip: 192.168.1.33
296+
username: bob
297+
password: bob
298+
293299
maipu:
294300
device_type: maipu
295301
ip: 129.255.27.1

0 commit comments

Comments
 (0)