summaryrefslogtreecommitdiffstats
path: root/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test
diff options
context:
space:
mode:
Diffstat (limited to 'ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test')
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml7
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/apunt.xml6
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aroute.xml13
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dface.xml3
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dpunt.xml6
-rw-r--r--ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/droute.xml6
-rwxr-xr-xctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/test.py66
7 files changed, 107 insertions, 0 deletions
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml
new file mode 100644
index 000000000..e1452f722
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml
@@ -0,0 +1,7 @@
+<face-ip-add xmlns="urn:sysrepo:hicn">
+ <lip4>192.168.20.10</lip4>
+ <lip6>-1</lip6>
+ <rip4>192.168.100.1</rip4>
+ <rip6>-1</rip6>
+ <swif>0</swif>
+</face-ip-add>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/apunt.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/apunt.xml
new file mode 100644
index 000000000..b7fa8b741
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/apunt.xml
@@ -0,0 +1,6 @@
+<punting-add xmlns="urn:sysrepo:hicn">
+ <ip4>192.168.0.1</ip4>
+ <ip6>-1</ip6>
+ <len>24</len>
+ <swif>0</swif>
+</punting-add>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aroute.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aroute.xml
new file mode 100644
index 000000000..9997452b9
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aroute.xml
@@ -0,0 +1,13 @@
+<route-nhops-add xmlns="urn:sysrepo:hicn">
+ <ip4>192.168.1.1</ip4>
+ <ip6>-1</ip6>
+ <len>24</len>
+ <face_ids0>0</face_ids0>
+ <face_ids1>0</face_ids1>
+ <face_ids2>0</face_ids2>
+ <face_ids3>0</face_ids3>
+ <face_ids4>0</face_ids4>
+ <face_ids5>0</face_ids5>
+ <face_ids6>0</face_ids6>
+ <n_faces>1</n_faces>
+</route-nhops-add>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dface.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dface.xml
new file mode 100644
index 000000000..07a9488a9
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dface.xml
@@ -0,0 +1,3 @@
+<face-ip-del xmlns="urn:sysrepo:hicn">
+ <faceid>0</faceid>
+</face-ip-del>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dpunt.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dpunt.xml
new file mode 100644
index 000000000..72d5c3c88
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dpunt.xml
@@ -0,0 +1,6 @@
+<punting-del xmlns="urn:sysrepo:hicn">
+ <ip4>192.168.0.1</ip4>
+ <ip6>-1</ip6>
+ <len>24</len>
+ <swif>0</swif>
+</punting-del>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/droute.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/droute.xml
new file mode 100644
index 000000000..ded28eecf
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/droute.xml
@@ -0,0 +1,6 @@
+<route-nhops-del xmlns="urn:sysrepo:hicn">
+ <ip4>192.168.1.1</ip4>
+ <ip6>-1</ip6>
+ <len>24</len>
+ <faceid>0</faceid>
+</route-nhops-del>
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/test.py b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/test.py
new file mode 100755
index 000000000..7c6163521
--- /dev/null
+++ b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/test.py
@@ -0,0 +1,66 @@
+import sys
+import xml.etree.ElementTree as ET
+from netconf.client import connect_ssh
+
+def usage():
+ print('usage: test.py host user password operation{route_dump, face_dump, face_add, route_add, punt_add, face_del, punt_del, route_del}')
+
+def test(host,user,password,operation):
+ with connect_ssh(host, 830, user, password) as session:
+ if (operation=='face_dump'):
+ config = session.get()
+ for root in config:
+ if root.tag=="{urn:sysrepo:hicn}hicn-state":
+ for entity in root:
+ if entity.tag=="{urn:sysrepo:hicn}faces":
+ print('Faces')
+ for face in entity:
+ for elem in face:
+ print(elem.tag +" : "+ elem.text)
+ elif (operation=='state_dump'):
+ config = session.get()
+ for root in config:
+ if root.tag=="{urn:sysrepo:hicn}hicn-state":
+ for entity in root:
+ if entity.tag=="{urn:sysrepo:hicn}states":
+ print('States')
+ for state in entity:
+ print(state.tag +" : "+ state.text)
+ elif (operation=='route_dump'):
+ config = session.get()
+ for root in config:
+ if root.tag=="{urn:sysrepo:hicn}hicn-state":
+ for entity in root:
+ if entity.tag=="{urn:sysrepo:hicn}routes":
+ print('Routes')
+ for route in entity:
+ for elem in route:
+ print(elem.tag +" : "+ elem.text)
+ elif(operation=='face_add'):
+ root = ET.parse('aface.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ elif(operation=='punt_add'):
+ root = ET.parse('apunt.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ elif(operation=='route_add'):
+ root = ET.parse('aroute.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ elif(operation=='face_del'):
+ root = ET.parse('dface.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ elif(operation=='punt_del'):
+ root = ET.parse('dpunt.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ elif(operation=='route_del'):
+ root = ET.parse('droute.xml').getroot()
+ session.send_rpc(ET.tostring(root, encoding='utf8').decode('utf8'))
+ else:
+ usage()
+
+if __name__ == '__main__':
+ if(len(sys.argv)<4):
+ usage()
+ else:
+ test(sys.argv[1],sys.argv[2],sys.argv[3],sys.argv[4])
+
+