summaryrefslogtreecommitdiff
path: root/vyroute/basic_function/RIPRoute.py
diff options
context:
space:
mode:
Diffstat (limited to 'vyroute/basic_function/RIPRoute.py')
-rw-r--r--vyroute/basic_function/RIPRoute.py44
1 files changed, 6 insertions, 38 deletions
diff --git a/vyroute/basic_function/RIPRoute.py b/vyroute/basic_function/RIPRoute.py
index f559a17..085299e 100644
--- a/vyroute/basic_function/RIPRoute.py
+++ b/vyroute/basic_function/RIPRoute.py
@@ -1,55 +1,23 @@
# author=hochikong
-from Exscript.protocols import SSH2
-from Exscript import Account
-
-
-def riproute(data):
+def riproute(obj, data):
"""This method provide a RIP protocols router configuration function
Parameter data example:
- {'router':'vyos@172.16.77.188','passwd':'vyos',
- 'config':['192.168.10.0/24','10.20.10.0/24'],
+ {'config':['192.168.10.0/24','10.20.10.0/24'],
}
+ :param obj: a connection object
:param data: a python dictionary
:return: a python dictionary
"""
rip_basic_configuration = "set protocols rip network %s"
redistribute_configuration = "set protocols rip redistribute connected"
try:
- stringlist = list(data['router'])
- divi = stringlist.index('@')
- user = ''.join(stringlist[:divi])
- passwd = data['passwd']
- address = ''.join(stringlist[divi + 1:])
- account = Account(user, passwd)
- conn = SSH2()
- conn.connect(address)
- conn.login(account)
-
- # configure mode
- conn.execute("configure")
-
- # configure RIP router
+ # Configure RIP router
for i in data['config']:
- conn.execute(rip_basic_configuration % i)
-
- conn.execute(redistribute_configuration)
-
- # commit configuration
- conn.execute("commit")
-
- # save configuration
- conn.execute("save")
-
- # exit configure mode
- conn.execute("exit")
-
- # close connection
- conn.close(force=True)
-
+ obj.execute(rip_basic_configuration % i)
+ obj.execute(redistribute_configuration)
return {"Result": "Configured successfully"}
-
except Exception, e:
return {"Error": e}