2 Documentation Test suite to determine the southbound Map-Request serving rate
3 Suite Setup Prepare Environment
4 Suite Teardown Destroy Environment
7 Library OperatingSystem
8 Library RequestsLibrary
10 Resource ../../../libraries/Utils.robot
11 Variables ../../../variables/Variables.py
15 ${LISP_SCAPY} https://raw.githubusercontent.com/intouch/py-lispnetworking/master/lisp.py
16 ${TOOLS_DIR} ${CURDIR}/../../../../tools/odl-lispflowmapping-performance-tests/
17 ${PCAP_CREATOR} ${TOOLS_DIR}/create_map_request_pcap.py
18 ${MAPPING_BLASTER} ${TOOLS_DIR}/mapping_blaster.py
21 ${REPLAY_FILE} encapsulated-map-requests-sequential.pcap
22 ${RPCS_RESULTS_FILE} rpcs.csv
23 ${PPS_RESULTS_FILE} pps.csv
26 Add Simple IPv4 Mappings
27 ${start_date}= Get Current Date
28 Run Process With Logging And Status Check ${MAPPING_BLASTER} --host ${ODL_SYSTEM_IP} --mappings ${MAPPINGS}
29 ${end_date}= Get Current Date
30 ${add_seconds}= Subtract Date From Date ${end_date} ${start_date}
32 Set Suite Variable ${add_seconds}
36 ${result}= Run Process With Logging And Status Check /usr/local/bin/udpreplay --pps ${REPLAY_PPS} --repeat ${REPLAY_CNT}
37 ... --host ${ODL_SYSTEM_IP} --port 4342 ${REPLAY_FILE}
38 ${partial}= Fetch From Left ${result.stdout} s =
40 ${get_seconds}= Fetch From Right ${partial} ${SPACE}
41 ${get_seconds}= Convert To Number ${get_seconds}
43 Set Suite Variable ${get_seconds}
45 Compute And Export Results
46 ${rpcs}= Evaluate ${MAPPINGS}/${add_seconds}
48 Create File ${RPCS_RESULTS_FILE} store/s\n
49 Append To File ${RPCS_RESULTS_FILE} ${rpcs}\n
50 ${txmrep}= Get Transmitted Map-Requests Stats
51 ${pps}= Evaluate ${txmrep}/${get_seconds}
53 Create File ${PPS_RESULTS_FILE} replies/s\n
54 Append To File ${PPS_RESULTS_FILE} ${pps}\n
58 ${resp}= RequestsLibrary.Post Request session ${LFM_SB_RPC_API}:reset-stats
60 Should Be Equal As Strings ${resp.status_code} 200
62 Get Transmitted Map-Requests Stats
63 ${resp}= RequestsLibrary.Post Request session ${LFM_SB_RPC_API}:get-stats
65 ${output}= Get From Dictionary ${resp.json()} output
66 ${stats}= Get From Dictionary ${output} control-message-stats
67 ${ctrlmsg}= Get From Dictionary ${stats} control-message
68 ${replies}= Get From List ${ctrlmsg} 2
69 ${txmrep}= Get From Dictionary ${replies} tx-count
70 ${txmrep}= Convert To Integer ${txmrep}
75 Create Session session http://${ODL_SYSTEM_IP}:${RESTCONFPORT} auth=${AUTH} headers=${HEADERS}
76 Run Process With Logging And Status Check wget -P ${TOOLS_DIR} ${LISP_SCAPY}
77 Run Process With Logging And Status Check ${PCAP_CREATOR} --requests ${MAPPINGS}
81 Remove File ${TOOLS_DIR}/lisp.py*
82 Remove File ${REPLAY_FILE}