diff options
author | 2022-08-11 18:30:53 +0200 | |
---|---|---|
committer | 2022-08-11 18:30:53 +0200 | |
commit | 55343701359194493fbd9ff4950ac4f941bbdae3 (patch) | |
tree | 4583baaebd2a715d225054c845a36dc9f63c86ba /ctrl/sysrepo-plugins/hicn-plugin/test | |
parent | b9ed4b7dd6c2342bc87209d415b840d65ea5ccf0 (diff) |
feat: drop sysrepo and netconf/yang support
Signed-off-by: Luca Muscariello <muscariello@ieee.org>
Change-Id: I215af1b77a3f9da878f3894708f687a7e7ea03a2
Diffstat (limited to 'ctrl/sysrepo-plugins/hicn-plugin/test')
10 files changed, 0 insertions, 399 deletions
diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/README.md b/ctrl/sysrepo-plugins/hicn-plugin/test/README.md deleted file mode 100644 index a1c9bedff..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# test hICN sysrepo plugin - -Two simple tests are provided to verify the functionality of the plugin. In ```netconf-test``` you can find ```test.py``` which uses netconf-clinet library to send NETCONF command toward the sysrepo. This is the usage: -``` -python test.py host user password operation -``` -<b>host</b> indicates the host information. <b>user</b>, <b>password</b> are credentials to connect to the device. <b>Operation</b> can be one of the following: -``` -- route_dump - It receives the route operational data from vpp -- face_dump - It receives the face operational data from vpp -- face_add - It adds an hICN face in the vpp -- punt_add - It adds a punt in the vpp -- route_add - It adds route in the vpp -- face_dell - It deletes face from vpp -- route_del - It deletes route from vpp -- punt_del - It deletes punt from vpp -``` - -In the ```vapi-test``` you can find testing the VAPI for the communication between the hICN sysrepo plugin and vpp. This is the usage: - -``` -./test [route_add [4|6], punt_add [4|6], face_add [4|6], route_dump, face_dump] -``` -The definition for the argument is the same as the netconf-test except that here you can choose the test for IPV4 and IPV6. diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml b/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml deleted file mode 100644 index e1452f722..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aface.xml +++ /dev/null @@ -1,7 +0,0 @@ -<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 deleted file mode 100644 index b7fa8b741..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/apunt.xml +++ /dev/null @@ -1,6 +0,0 @@ -<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 deleted file mode 100644 index 9997452b9..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/aroute.xml +++ /dev/null @@ -1,13 +0,0 @@ -<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 deleted file mode 100644 index 07a9488a9..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dface.xml +++ /dev/null @@ -1,3 +0,0 @@ -<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 deleted file mode 100644 index 72d5c3c88..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/dpunt.xml +++ /dev/null @@ -1,6 +0,0 @@ -<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 deleted file mode 100644 index ded28eecf..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/droute.xml +++ /dev/null @@ -1,6 +0,0 @@ -<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 deleted file mode 100755 index 7c6163521..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/netconf-test/test.py +++ /dev/null @@ -1,66 +0,0 @@ -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]) - - diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/Makefile b/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/Makefile deleted file mode 100755 index 8ab5d27de..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/Makefile +++ /dev/null @@ -1,2 +0,0 @@ -main: - sudo gcc -g -o test test.c -lvapiclient diff --git a/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/test.c b/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/test.c deleted file mode 100644 index d3e47c970..000000000 --- a/ctrl/sysrepo-plugins/hicn-plugin/test/vapi-test/test.c +++ /dev/null @@ -1,258 +0,0 @@ -#include <vapi/vapi.h> -#include <stdio.h> -#include <stdlib.h> -#include <unistd.h> -#include <signal.h> -#include <inttypes.h> - -#include <vapi/hicn.api.vapi.h> - -DEFINE_VAPI_MSG_IDS_HICN_API_JSON; - -vapi_ctx_t g_vapi_ctx_instance; - -#define APP_NAME "test_hicn_plugin" -#define MAX_OUTSTANDING_REQUESTS 4 -#define RESPONSE_QUEUE_SIZE 2 - -vapi_ctx_t g_vapi_ctx_instance = NULL; - -void usage() { - printf( - "choose the test [route_add [4|6], punt_add [4|6], face_add [4|6], " - "route_dump, face_dump]\n"); -} - -static vapi_error_e call_hicn_api_punting_add( - struct vapi_ctx_s *ctx, void *callback_ctx, vapi_error_e rv, bool is_last, - vapi_payload_hicn_api_punting_add_reply *reply) { - if (!reply->retval) { - printf("Successfully done"); - return VAPI_OK; - } else - return VAPI_EUSER; -} - -static vapi_error_e call_hicn_api_face_ip_add( - struct vapi_ctx_s *ctx, void *callback_ctx, vapi_error_e rv, bool is_last, - vapi_payload_hicn_api_face_ip_add_reply *reply) { - if (!reply->retval) { - printf("Successfully done"); - return VAPI_OK; - } else - return VAPI_EUSER; -} - -static vapi_error_e call_hicn_api_route_nhops_add( - struct vapi_ctx_s *ctx, void *callback_ctx, vapi_error_e rv, bool is_last, - vapi_payload_hicn_api_route_nhops_add_reply *reply) { - if (!reply->retval) { - printf("Successfully done"); - return VAPI_OK; - } else - return VAPI_EUSER; -} - -static vapi_error_e hicn_api_routes_dump_cb( - struct vapi_ctx_s *ctx, void *callback_ctx, vapi_error_e rv, bool is_last, - vapi_payload_hicn_api_routes_details *reply) { - char buf[20]; - if (reply != NULL) { - memset(buf, 0x00, 20); - if (reply->prefix.address.af == ADDRESS_IP4) { - struct sockaddr_in sa; - memcpy(&sa.sin_addr.s_addr, reply->prefix.address.un.ip4, 4); - inet_ntop(AF_INET, &(sa.sin_addr.s_addr), buf, INET_ADDRSTRLEN); - printf("Prefix:%s\n", buf); - } else { - struct sockaddr_in6 sa; - memcpy(&sa.sin6_addr, reply->prefix.address.un.ip6, 6); - inet_ntop(AF_INET6, &(sa.sin6_addr), buf, INET6_ADDRSTRLEN); - printf("Prefix:%s\n", buf); - } - } else { - printf("---------Routes------- \n"); - } - return 0; -} - -static vapi_error_e hicn_api_face_stats_dump_cb( - struct vapi_ctx_s *ctx, void *callback_ctx, vapi_error_e rv, bool is_last, - vapi_payload_hicn_api_face_stats_details *reply) { - if (reply != NULL) { - printf("face_id:%d \n", reply->faceid); - printf("irx_packets:%" PRId64 "\n", reply->irx_packets); - printf("irx_bytes:%" PRId64 "\n", reply->irx_bytes); - printf("itx_packets:%" PRId64 "\n", reply->itx_packets); - printf("itx_bytes:%" PRId64 "\n", reply->itx_bytes); - printf("drx_packets:%" PRId64 "\n", reply->drx_packets); - printf("drx_bytes:%" PRId64 "\n", reply->drx_bytes); - printf("dtx_packets:%" PRId64 "\n", reply->dtx_packets); - printf("dtx_bytes:%" PRId64 "\n", reply->dtx_bytes); - - } else { - printf("---------Facees------- \n"); - } - return 0; -} - -int hicn_connect_vpp() { - if (g_vapi_ctx_instance == NULL) { - vapi_error_e rv = vapi_ctx_alloc(&g_vapi_ctx_instance); - rv = vapi_connect(g_vapi_ctx_instance, APP_NAME, NULL, - MAX_OUTSTANDING_REQUESTS, RESPONSE_QUEUE_SIZE, - VAPI_MODE_BLOCKING, true); - if (rv != VAPI_OK) { - vapi_ctx_free(g_vapi_ctx_instance); - return -1; - } - } else { - } - return 0; -} - -int hicn_disconnect_vpp() { - if (NULL != g_vapi_ctx_instance) { - vapi_disconnect(g_vapi_ctx_instance); - vapi_ctx_free(g_vapi_ctx_instance); - g_vapi_ctx_instance = NULL; - } - return 0; -} - -int main(int argc, char **argv) { - if (argc < 2) { - usage(); - return 1; - } - - /* connect to vpp */ - int rc = hicn_connect_vpp(); - if (-1 == rc) { - perror("vpp connect error"); - return -1; - } - - if (!strcmp(argv[1], "route_add")) { - vapi_msg_hicn_api_route_nhops_add *msg; - msg = vapi_alloc_hicn_api_route_nhops_add(g_vapi_ctx_instance); - - if (!strcmp(argv[2], "4")) { - struct sockaddr_in sa; - inet_pton(AF_INET, "192.168.10.10", &(sa.sin_addr)); - unsigned char *tmp = (unsigned char *)&sa.sin_addr.s_addr; - memcpy(&msg->payload.prefix.address.un.ip4[0], tmp, 4); - msg->payload.prefix.address.af = ADDRESS_IP4; - } else { - void *dst = malloc(sizeof(struct in6_addr)); - inet_pton(AF_INET6, "2001::1", dst); - unsigned char *tmp = (unsigned char *)((struct in6_addr *)dst)->s6_addr; - memcpy(&msg->payload.prefix.address.un.ip6[0], tmp, 16); - msg->payload.prefix.address.af = ADDRESS_IP6; - } - - msg->payload.prefix.len = 24; - msg->payload.face_ids[0] = 0; - msg->payload.face_ids[1] = 0; - msg->payload.face_ids[2] = 0; - msg->payload.face_ids[3] = 0; - msg->payload.face_ids[4] = 0; - msg->payload.face_ids[5] = 0; - msg->payload.face_ids[6] = 0; - msg->payload.n_faces = 1; - - if (vapi_hicn_api_route_nhops_add(g_vapi_ctx_instance, msg, - call_hicn_api_route_nhops_add, - NULL) != VAPI_OK) { - perror("Operation failed"); - return -1; - } - } else if (!strcmp(argv[1], "face_add")) { - vapi_msg_hicn_api_face_ip_add *fmsg; - fmsg = vapi_alloc_hicn_api_face_ip_add(g_vapi_ctx_instance); - - if (!strcmp(argv[2], "4")) { - struct sockaddr_in sa; - inet_pton(AF_INET, "192.168.50.19", &(sa.sin_addr)); - unsigned char *tmp = (unsigned char *)&sa.sin_addr.s_addr; - memcpy(&fmsg->payload.face.local_addr.un.ip4[0], tmp, 4); - fmsg->payload.face.local_addr.af = ADDRESS_IP4; - - inet_pton(AF_INET, "192.168.60.10", &(sa.sin_addr)); - tmp = (unsigned char *)&sa.sin_addr.s_addr; - memcpy(&fmsg->payload.face.remote_addr.un.ip4[0], tmp, 4); - fmsg->payload.face.remote_addr.af = ADDRESS_IP4; - - } else { - void *dst = malloc(sizeof(struct in6_addr)); - inet_pton(AF_INET6, "2001::1", dst); - unsigned char *tmp = (unsigned char *)((struct in6_addr *)dst)->s6_addr; - memcpy(&fmsg->payload.face.local_addr.un.ip6[0], tmp, 16); - fmsg->payload.face.local_addr.af = ADDRESS_IP6; - - inet_pton(AF_INET6, "3001::1", dst); - tmp = (unsigned char *)((struct in6_addr *)dst)->s6_addr; - memcpy(&fmsg->payload.face.remote_addr.un.ip6[0], tmp, 16); - fmsg->payload.face.remote_addr.af = ADDRESS_IP6; - } - - fmsg->payload.face.swif = 0; // This is the idx number of interface - - if (vapi_hicn_api_face_ip_add(g_vapi_ctx_instance, fmsg, - call_hicn_api_face_ip_add, NULL) != VAPI_OK) { - perror("Operation failed"); - return -1; - } - } else if (!strcmp(argv[1], "route_dump")) { - // routes dump - vapi_msg_hicn_api_routes_dump *rmsg; - rmsg = vapi_alloc_hicn_api_routes_dump(g_vapi_ctx_instance); - vapi_hicn_api_routes_dump(g_vapi_ctx_instance, rmsg, - hicn_api_routes_dump_cb, NULL); - - } else if (!strcmp(argv[1], "face_dump")) { - // faces dump - vapi_msg_hicn_api_face_stats_dump *fmsg; - fmsg = vapi_alloc_hicn_api_face_stats_dump(g_vapi_ctx_instance); - vapi_hicn_api_face_stats_dump(g_vapi_ctx_instance, fmsg, - hicn_api_face_stats_dump_cb, NULL); - } else if (!strcmp(argv[1], "punt_add")) { - vapi_msg_hicn_api_punting_add *pmsg; - - pmsg = vapi_alloc_hicn_api_punting_add(g_vapi_ctx_instance); - - pmsg->payload.type = IP_PUNT; - - if (!strcmp(argv[2], "4")) { - struct sockaddr_in sa; - // store this IP address in sa: - inet_pton(AF_INET, "192.168.10.20", &(sa.sin_addr)); - unsigned char *tmp = (unsigned char *)&sa.sin_addr.s_addr; - memcpy(&pmsg->payload.rule.ip.prefix.address.un.ip4[0], tmp, 4); - pmsg->payload.rule.ip.prefix.address.af = ADDRESS_IP4; - - } else { - void *dst = malloc(sizeof(struct in6_addr)); - inet_pton(AF_INET6, "3001::1", dst); - unsigned char *tmp = (unsigned char *)((struct in6_addr *)dst)->s6_addr; - memcpy(&pmsg->payload.rule.ip.prefix.address.un.ip6[0], tmp, 16); - pmsg->payload.rule.ip.prefix.address.af = ADDRESS_IP6; - } - - pmsg->payload.rule.ip.prefix.len = 24; - pmsg->payload.rule.ip.swif = 0; - - if (vapi_hicn_api_punting_add(g_vapi_ctx_instance, pmsg, - call_hicn_api_punting_add, NULL) != VAPI_OK) { - perror("Operation failed"); - return -1; - } - } else { - usage(); - return 1; - } - - hicn_disconnect_vpp(); - - return rc; -} |