+
+Ping All Hosts
+ [Arguments] @{host_list}
+ [Documentation] Do one round of ping from one host to all other hosts in mininet.
+ ... Note that a single ping failure will exit the loop and return a non zero value.
+ ${source}= Get From List ${host_list} ${0}
+ : FOR ${h} IN @{host_list}
+ \ ${status}= Ping Two Hosts ${source} ${h} 1
+ \ Exit For Loop If ${status}!=${0}
+ [Return] ${status}
+
+Ping Two Hosts
+ [Arguments] ${host1} ${host2} ${pingcount}=2
+ [Documentation] Ping between mininet hosts. Must be used only after a mininet session is in place.
+ ... Returns non zero value if there is 100% packet loss.
+ SSHLibrary.Write ${host1} ping -c ${pingcount} ${host2}
+ ${out}= SSHLibrary.Read Until mininet>
+ ${ret}= String.Get Lines Matching Regexp ${out} .*100% packet loss.*
+ ${len}= Get Length ${ret}
+ [Return] ${len}
+
+Get Mininet Hosts
+ [Documentation] Get all the hosts from mininet
+ ${host_list}= Create List
+ SSHLibrary.Write nodes
+ ${out}= SSHLibrary.Read Until mininet>
+ @{words}= String.Split String ${out} ${SPACE}
+ : FOR ${item} IN @{words}
+ \ ${h}= String.Get Lines Matching Regexp ${item} h[0-9]*
+ \ Run Keyword If '${h}' != '${EMPTY}' Collections.Append To List ${host_list} ${h}
+ [Return] ${host_list}
+
+Install Certificates In Mininet
+ [Documentation] Copy and install certificates in simulator.
+ Comment Copy Certificates
+ SSHLibrary.Put File ${CURDIR}/tls/${switch_private_key} .
+ SSHLibrary.Put File ${CURDIR}/tls/${switch_certificate} .
+ SSHLibrary.Put File ${CURDIR}/tls/${controller_ca_list} .
+ Comment Install Certificates
+ SSHLibrary.Execute Command sudo mv ${switch_private_key} /etc/openvswitch && sudo mv ${switch_certificate} /etc/openvswitch && sudo mv ${controller_ca_list} /etc/openvswitch
+ SSHLibrary.Execute Command sudo ovs-vsctl set-ssl /etc/openvswitch/${switch_private_key} /etc/openvswitch/${switch_certificate} /etc/openvswitch/${controller_ca_list}
+ ${std_out}= SSHLibrary.Execute Command . sudo ovs-vsctl get-ssl
+ Log ${std_out}